AnalyzerUnitTest.ReciprocatedVertexPairRatioCalculatorTest.TestCalculateGraphMetrics5 C# (CSharp) Method

TestCalculateGraphMetrics5() private method

private TestCalculateGraphMetrics5 ( ) : void
return void
        TestCalculateGraphMetrics5()
        {
            // More complicated example, including isolate.

            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();
            IVertex oVertexF = m_oVertices.Add();

            m_oEdges.Add(oVertexA, oVertexB, bIsDirected);
            m_oEdges.Add(oVertexB, oVertexC, bIsDirected);
            m_oEdges.Add(oVertexA, oVertexC, bIsDirected);
            m_oEdges.Add(oVertexC, oVertexA, bIsDirected);
            m_oEdges.Add(oVertexA, oVertexD, bIsDirected);
            m_oEdges.Add(oVertexD, oVertexA, bIsDirected);
            m_oEdges.Add(oVertexD, oVertexE, bIsDirected);
            m_oEdges.Add(oVertexE, oVertexD, bIsDirected);

            MetricDouble oMetricDouble;
            bool rv = m_oReciprocatedVertexPairRatioCalculator.TryCalculateGraphMetrics(m_oGraph, null, out oMetricDouble);

            Assert.AreEqual(6, oMetricDouble.Count);

            Assert.AreEqual(2.0 / 3.0, oMetricDouble[oVertexA.ID]);
            Assert.AreEqual(0.0 / 2.0, oMetricDouble[oVertexB.ID]);
            Assert.AreEqual(1.0 / 2.0, oMetricDouble[oVertexC.ID]);
            Assert.AreEqual(2.0 / 2.0, oMetricDouble[oVertexD.ID]);
            Assert.AreEqual(1.0 / 1.0, oMetricDouble[oVertexE.ID]);
            Assert.AreEqual(0, oMetricDouble[oVertexF.ID]);
        }