Exemple #1
0
        public void PathCost()
        {
            var p      = new DefaultMutablePath <TestVertex, TestEdge>();
            var weight = new TestDoubleWeight(4);

            p.Cost = weight;
            Assert.Equal(weight, p.Cost);
        }
Exemple #2
0
        public void AppendEdge()
        {
            var p = new DefaultMutablePath <TestVertex, TestEdge>();

            p.AppendEdge(new TestEdge(A, B));
            p.AppendEdge(new TestEdge(B, C));
            ValidatePath(p, A, C, 2);
        }
Exemple #3
0
        public void Empty()
        {
            var p = new DefaultMutablePath <TestVertex, TestEdge>();

            Assert.Null(p.Src);
            Assert.Null(p.Dst);
            Assert.Equal(0, p.Edges.Count);
            Assert.Null(p.Cost);
        }
Exemple #4
0
        public void ToImmutable()
        {
            var p = new DefaultMutablePath <TestVertex, TestEdge>();

            p.AppendEdge(new TestEdge(A, B));
            p.AppendEdge(new TestEdge(B, C));
            ValidatePath(p, A, C, 2);

            // Immutables should equal.
            Assert.Equal(p.ToImmutable(), p.ToImmutable());
            ValidatePath(p.ToImmutable(), A, C, 2);
        }
Exemple #5
0
        public void RemoveEdge()
        {
            var p = new DefaultMutablePath <TestVertex, TestEdge>();

            p.AppendEdge(new TestEdge(A, B));
            p.AppendEdge(new TestEdge(B, C));
            p.AppendEdge(new TestEdge(C, C));
            p.AppendEdge(new TestEdge(C, D));
            ValidatePath(p, A, D, 4);

            p.RemoveEdge(new TestEdge(A, B));
            ValidatePath(p, B, D, 3);

            p.RemoveEdge(new TestEdge(C, C));
            ValidatePath(p, B, D, 2);

            p.RemoveEdge(new TestEdge(C, D));
            ValidatePath(p, B, C, 1);
        }