AnalyzerUnitTest.ReciprocatedVertexPairRatioCalculatorTest.TestCalculateGraphMetrics4 C# (CSharp) Method

TestCalculateGraphMetrics4() private method

private TestCalculateGraphMetrics4 ( ) : void
return void
        TestCalculateGraphMetrics4()
        {
            // Directed graph, sample from Derek Hansen, but with self-loops.  The
            // self-loops should not affect the results.

            Boolean bIsDirected = true;
            CreateGraph(bIsDirected);

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

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

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

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

            Assert.AreEqual(true, rv);
            Assert.AreEqual(3, oMetricDouble.Count);

            Assert.AreEqual(0.5, oMetricDouble[oVertexA.ID]);
            Assert.AreEqual(1.0, oMetricDouble[oVertexB.ID]);
            Assert.AreEqual(0.0, oMetricDouble[oVertexC.ID]);
        }