TestCalculateGraphMetrics3()
{
// Directed graph, sample from Derek Hansen.
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);
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]);
}