public void PathCost() { var p = new DefaultMutablePath <TestVertex, TestEdge>(); var weight = new TestDoubleWeight(4); p.Cost = weight; Assert.Equal(weight, p.Cost); }
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); }
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); }
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); }
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); }