public void BaseLine() { var sut = new FleurysAlgorithm(); var graph = new UndirectedGraph(4); graph.Connect(0, 1); graph.Connect(0, 2); graph.Connect(1, 2); graph.Connect(2, 3); Assert.Collection(sut.GetEulerianTrail(graph), arg => { Assert.Equal(3, arg.Item1); Assert.Equal(2, arg.Item2); }, arg => { Assert.Equal(2, arg.Item1); Assert.Equal(1, arg.Item2); }, arg => { Assert.Equal(1, arg.Item1); Assert.Equal(0, arg.Item2); }, arg => { Assert.Equal(0, arg.Item1); Assert.Equal(2, arg.Item2); }); }
public void EmptyGraphHasEmptyEulerianTrail() { var sut = new FleurysAlgorithm(); var graph = new UndirectedGraph(0); Assert.Empty(sut.GetEulerianTrail(graph)); }
public void TwoVerticeGraphHasOneEdgeEulerianTrail() { var sut = new FleurysAlgorithm(); var graph = new UndirectedGraph(2); graph.Connect(0, 1); Assert.Collection(sut.GetEulerianTrail(graph), arg => { Assert.Equal(1, arg.Item1); Assert.Equal(0, arg.Item2); }); }