Ejemplo n.º 1
0
        public void Degrees()
        {
            var edgeListLines = this.GetSimpleEdgeListLines();

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

            Assert.Equal(expected: 4, actual: outgoingDegrees.Count);
            Assert.Equal(expected: 4, actual: incomingDegrees.Count);
            Assert.Equal(expected: 4, actual: degrees.Count);

            Assert.Equal(expected: 3, actual: outgoingDegrees[1]);
            Assert.Equal(expected: 2, actual: outgoingDegrees[2]);
            Assert.Equal(expected: 1, actual: outgoingDegrees[3]);
            Assert.Equal(expected: 0, actual: outgoingDegrees[4]);

            Assert.Equal(expected: 0, actual: incomingDegrees[1]);
            Assert.Equal(expected: 1, actual: incomingDegrees[2]);
            Assert.Equal(expected: 2, actual: incomingDegrees[3]);
            Assert.Equal(expected: 3, actual: incomingDegrees[4]);

            Assert.Equal(expected: 3, actual: degrees[1]);
            Assert.Equal(expected: 3, actual: degrees[2]);
            Assert.Equal(expected: 3, actual: degrees[3]);
            Assert.Equal(expected: 3, actual: degrees[4]);
        }
Ejemplo n.º 2
0
        public void Neighbors()
        {
            var edgeListLines = this.GetSimpleEdgeListLines();

            var graph = GraphLoader.FromEdgeListLines(edgeListLines);

            var outgoingNeighbors = graph.GetNeighbors(EdgeDirection.Outgoing);

            Assert.Equal(
                expected: "{\"1\":[2,3,4],\"2\":[3,4],\"3\":[4],\"4\":[]}",
                actual: Json.Encode(outgoingNeighbors));

            var incomingNeighbors = graph.GetNeighbors(EdgeDirection.Incoming);

            Assert.Equal(
                expected: "{\"1\":[],\"2\":[1],\"3\":[1,2],\"4\":[1,2,3]}",
                actual: Json.Encode(incomingNeighbors));

            var eitherNeighbors = graph.GetNeighbors(EdgeDirection.Either);

            Assert.Equal(
                expected: "{\"1\":[2,3,4],\"2\":[1,3,4],\"3\":[1,2,4],\"4\":[1,2,3]}",
                actual: Json.Encode(eitherNeighbors));

            var bothNeighbors = graph.GetNeighbors(EdgeDirection.Both);

            Assert.Equal(
                expected: "{\"1\":[],\"2\":[],\"3\":[],\"4\":[]}",
                actual: Json.Encode(bothNeighbors));
        }
Ejemplo n.º 3
0
        public void Indexing()
        {
            var edgeListLines = this.GetSimpleEdgeListLines();

            var graph = GraphLoader.FromEdgeListLines(edgeListLines);

            Assert.Equal(
                expected: "{\"Vertices\":{\"1\":0,\"2\":0,\"3\":0,\"4\":0},\"OutgoingEdges\":{\"1\":{\"2\":0,\"3\":0,\"4\":0},\"2\":{\"3\":0,\"4\":0},\"3\":{\"4\":0}},\"IncomingEdges\":{\"2\":{\"1\":0},\"3\":{\"1\":0,\"2\":0},\"4\":{\"1\":0,\"2\":0,\"3\":0}}}",
                actual: graph.ToDebugString());
        }
Ejemplo n.º 4
0
        public void Loading()
        {
            var edgeListLines = this.GetSimpleEdgeListLines();

            var graph    = GraphLoader.FromEdgeListLines(edgeListLines);
            var vertices = graph.GetVertices();
            var edges    = graph.GetEdges();

            Assert.Equal(expected: 4, actual: vertices.Count);
            Assert.Equal(expected: 6, actual: edges.Count);
        }