Ejemplo n.º 1
0
        public void Reverse_RandomGraph()
        {
            var edgeList   = this.GetRandomEdgeList(100, 100);
            var graph      = GraphLoader.FromEdgeList(edgeList);
            var graphPrime = graph.Reverse();

            TestHelpers.DictionaryEqual(graph.GetOutgoingDegrees(), graphPrime.GetIncomingDegrees());
            TestHelpers.DictionaryEqual(graph.GetIncomingDegrees(), graphPrime.GetOutgoingDegrees());

            Assert.Equal(
                Json.Encode(graph.GetNeighbors(EdgeDirection.Outgoing)),
                Json.Encode(graphPrime.GetNeighbors(EdgeDirection.Incoming)));

            Assert.Equal(
                Json.Encode(graph.GetNeighbors(EdgeDirection.Incoming)),
                Json.Encode(graphPrime.GetNeighbors(EdgeDirection.Outgoing)));
        }
Ejemplo n.º 2
0
        public void Degrees_RandomGraph()
        {
            var edgeList = this.GetRandomEdgeList(100, 100);
            var graph    = GraphLoader.FromEdgeList(edgeList);

            var outgoingDegrees = graph.GetOutgoingDegrees();
            var incomingDegrees = graph.GetIncomingDegrees();
            var degrees         = graph.GetDegrees();

            Assert.Equal(
                expected: degrees.Sum(vertex => vertex.Value),
                actual: outgoingDegrees.Sum(vertex => vertex.Value) + incomingDegrees.Sum(vertex => vertex.Value));

            Assert.Equal(
                expected: 2 * graph.GetEdges().Count,
                actual: degrees.Sum(vertex => vertex.Value));
        }