public void HasCyclesReturnsFalseForDiamondGraph() { var graph = new Graph <object, object>( Enumerable.Range(1, 4).Select(vertexId => new Vertex <object>((uint)vertexId)), new [] { new Edge <object>(0, 1, 2, isDirected: true), new Edge <object>(1, 1, 3, isDirected: true), new Edge <object>(2, 2, 4, isDirected: true), new Edge <object>(3, 3, 4, isDirected: true) }); Assert.That(GraphAlgorithms.HasCycles(graph), Is.False); }
public void HasCyclesThrowsExceptionForPartiallyUndirectedGraph() { var graph = new Graph <object, object>( Enumerable.Range(1, 4).Select(vertexId => new Vertex <object>((uint)vertexId)), new [] { new Edge <object>(0, 1, 2), new Edge <object>(1, 1, 3), new Edge <object>(2, 2, 4, isDirected: true), new Edge <object>(3, 3, 4, isDirected: true) }); Assert.That(() => GraphAlgorithms.HasCycles(graph), Throws.Exception); }
public void HasCyclesReturnsTrueForTestGraph() { var graph = CreateTestGraph(); Assert.That(GraphAlgorithms.HasCycles(graph), Is.True); }