Exemplo n.º 1
0
        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));
        }
Exemplo n.º 2
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));
        }
Exemplo n.º 3
0
        public void testFind()
        {
            QuickFindUF quickFindUF = new QuickFindUF(10);

            for (int i = 0; i < 10; i++)
            {
                Assert.AreEqual(i, quickFindUF.Find(i));
            }
        }
Exemplo n.º 4
0
        public void testFind_ParameterValidation_PLargerThanN()
        {
            QuickFindUF quickFindUF = new QuickFindUF(10);

            quickFindUF.Find(11);
        }
Exemplo n.º 5
0
        public void testFind_ParameterValidation_PEqualN()
        {
            QuickFindUF quickFindUF = new QuickFindUF(10);

            quickFindUF.Find(10);
        }
Exemplo n.º 6
0
        public void testFind_ParameterValidation_PLessThan0()
        {
            QuickFindUF quickFindUF = new QuickFindUF(10);

            quickFindUF.Find(-1);
        }