AnalyzerUnitTest.EdgeReciprocationCalculatorTest.TestCalculateGraphMetrics4 C# (CSharp) Method

TestCalculateGraphMetrics4() private method

private TestCalculateGraphMetrics4 ( ) : void
return void
        TestCalculateGraphMetrics4()
        {
            // Directed graph, more complex.

            Boolean bIsDirected = true;
            CreateGraph(bIsDirected);

            IVertex oVertexA = m_oVertices.Add();
            IVertex oVertexB = m_oVertices.Add();
            IVertex oVertexC = m_oVertices.Add();
            IVertex oVertexD = m_oVertices.Add();
            IVertex oVertexE = m_oVertices.Add();

            IEdge oEdge1 = m_oEdges.Add(oVertexA, oVertexA, bIsDirected);
            IEdge oEdge2 = m_oEdges.Add(oVertexA, oVertexB, bIsDirected);
            IEdge oEdge3 = m_oEdges.Add(oVertexB, oVertexA, bIsDirected);
            IEdge oEdge4 = m_oEdges.Add(oVertexB, oVertexA, bIsDirected);
            IEdge oEdge5 = m_oEdges.Add(oVertexB, oVertexD, bIsDirected);
            IEdge oEdge6 = m_oEdges.Add(oVertexB, oVertexD, bIsDirected);
            IEdge oEdge7 = m_oEdges.Add(oVertexD, oVertexD, bIsDirected);
            IEdge oEdge8 = m_oEdges.Add(oVertexD, oVertexC, bIsDirected);
            IEdge oEdge9 = m_oEdges.Add(oVertexD, oVertexC, bIsDirected);
            IEdge oEdge10 = m_oEdges.Add(oVertexC, oVertexD, bIsDirected);
            IEdge oEdge11 = m_oEdges.Add(oVertexC, oVertexD, bIsDirected);
            IEdge oEdge12 = m_oEdges.Add(oVertexD, oVertexE, bIsDirected);

            IDictionary<Int32, Boolean> oReciprocationFlags =
                m_oEdgeReciprocationCalculator.CalculateGraphMetrics(m_oGraph);

            Assert.AreEqual(12, oReciprocationFlags.Count);

            Assert.IsFalse(oReciprocationFlags[oEdge1.ID]);
            Assert.IsTrue(oReciprocationFlags[oEdge2.ID]);
            Assert.IsTrue(oReciprocationFlags[oEdge3.ID]);
            Assert.IsTrue(oReciprocationFlags[oEdge4.ID]);
            Assert.IsFalse(oReciprocationFlags[oEdge5.ID]);
            Assert.IsFalse(oReciprocationFlags[oEdge6.ID]);
            Assert.IsFalse(oReciprocationFlags[oEdge7.ID]);
            Assert.IsTrue(oReciprocationFlags[oEdge8.ID]);
            Assert.IsTrue(oReciprocationFlags[oEdge9.ID]);
            Assert.IsTrue(oReciprocationFlags[oEdge10.ID]);
            Assert.IsTrue(oReciprocationFlags[oEdge11.ID]);
            Assert.IsFalse(oReciprocationFlags[oEdge12.ID]);
        }