public void testUnionAndConnected_NewConnection() { QuickFindUF quickFindUF = new QuickFindUF(10); Assert.IsFalse(quickFindUF.Connected(0, 1)); Assert.AreEqual(10, quickFindUF.Count()); quickFindUF.Union(0, 1); Assert.IsTrue(quickFindUF.Connected(0, 1)); Assert.AreEqual(9, quickFindUF.Count()); Assert.AreEqual(1, quickFindUF.Find(1)); Assert.AreEqual(1, quickFindUF.Find(0)); }
public void testUnionAndConnected_MultiConnection() { QuickFindUF quickFindUF = new QuickFindUF(10); quickFindUF.Union(0, 1); quickFindUF.Union(2, 1); Assert.IsTrue(quickFindUF.Connected(0, 1)); Assert.IsTrue(quickFindUF.Connected(2, 1)); Assert.IsTrue(quickFindUF.Connected(2, 0)); Assert.AreEqual(8, quickFindUF.Count()); Assert.AreEqual(1, quickFindUF.Find(1)); Assert.AreEqual(1, quickFindUF.Find(0)); Assert.AreEqual(1, quickFindUF.Find(2)); quickFindUF.Union(2, 5); Assert.IsTrue(quickFindUF.Connected(0, 1)); Assert.IsTrue(quickFindUF.Connected(2, 1)); Assert.IsTrue(quickFindUF.Connected(2, 0)); Assert.IsTrue(quickFindUF.Connected(5, 0)); Assert.IsTrue(quickFindUF.Connected(5, 1)); Assert.IsTrue(quickFindUF.Connected(5, 2)); Assert.AreEqual(7, quickFindUF.Count()); Assert.AreEqual(5, quickFindUF.Find(1)); Assert.AreEqual(5, quickFindUF.Find(0)); Assert.AreEqual(5, quickFindUF.Find(2)); Assert.AreEqual(5, quickFindUF.Find(5)); }
public void testFind() { QuickFindUF quickFindUF = new QuickFindUF(10); for (int i = 0; i < 10; i++) { Assert.AreEqual(i, quickFindUF.Find(i)); } }
public void testFind_ParameterValidation_PLargerThanN() { QuickFindUF quickFindUF = new QuickFindUF(10); quickFindUF.Find(11); }
public void testFind_ParameterValidation_PEqualN() { QuickFindUF quickFindUF = new QuickFindUF(10); quickFindUF.Find(10); }
public void testFind_ParameterValidation_PLessThan0() { QuickFindUF quickFindUF = new QuickFindUF(10); quickFindUF.Find(-1); }