public void Invalid() { var g = new MfGraphInt(2); g.Invoking(g => g.Flow(0, 2)).Should().ThrowContractAssert(); g.Invoking(g => g.Flow(2, 0)).Should().ThrowContractAssert(); g.Invoking(g => g.Flow(2, 0, 0)).Should().ThrowContractAssert(); g.Invoking(g => g.Flow(0, 2, 0)).Should().ThrowContractAssert(); g.Invoking(g => g.Flow(0, 0)).Should().ThrowContractAssert(); g.Invoking(g => g.Flow(0, 0, 0)).Should().ThrowContractAssert(); g.Invoking(g => g.Flow(0, 1)).Should().NotThrow(); g.Invoking(g => g.Flow(1, 0, 1)).Should().NotThrow(); g.Invoking(g => g.AddEdge(0, 2, 0)).Should().ThrowContractAssert(); g.Invoking(g => g.AddEdge(2, 0, 0)).Should().ThrowContractAssert(); g.Invoking(g => g.AddEdge(0, 0, -1)).Should().ThrowContractAssert(); g.Invoking(g => g.AddEdge(0, 0, 0)).Should().NotThrow(); g.Invoking(g => g.AddEdge(1, 0, 10)).Should().NotThrow(); g.Invoking(g => g.GetEdge(-1)).Should().ThrowContractAssert(); g.Invoking(g => g.GetEdge(2)).Should().ThrowContractAssert(); g.Invoking(g => g.GetEdge(0)).Should().NotThrow(); g.Invoking(g => g.GetEdge(1)).Should().NotThrow(); g.Invoking(g => g.ChangeEdge(-1, 2, 2)).Should().ThrowContractAssert(); g.Invoking(g => g.ChangeEdge(2, 2, 2)).Should().ThrowContractAssert(); g.Invoking(g => g.ChangeEdge(0, 2, 2)).Should().NotThrow(); g.Invoking(g => g.ChangeEdge(1, 2, 2)).Should().NotThrow(); g.Invoking(g => g.ChangeEdge(0, 1, 2)).Should().ThrowContractAssert(); g.Invoking(g => g.ChangeEdge(1, 1, 2)).Should().ThrowContractAssert(); g.Invoking(g => g.ChangeEdge(0, 0, -1)).Should().ThrowContractAssert(); }