Exemplo n.º 1
0
 def test_searching(self):
     l = UnorderedList()
     for i in range(4):
         l.add(i)
     for i in range(4):
         self.assertTrue(l.search(i))
     for item in (5, None, True, "blah"):
         self.assertFalse(l.search(item))
Exemplo n.º 2
0
 def test_adding(self):
     l = UnorderedList()
     self.assertEqual(l.size(), 0)
     self.assertTrue(l.is_empty())
     l.add(1)
     self.assertEqual(l.size(), 1)
     self.assertEqual(l.head.value, 1)
     self.assertFalse(l.is_empty())
     l.add(2)
     self.assertEqual(l.size(), 2)
     self.assertEqual(l.head.value, 2)
Exemplo n.º 3
0
 def test_remove(self):
     l = UnorderedList()
     for i in range(3):
         l.add(i)
     # remove from middle
     l.remove(1)
     self.assertFalse(l.search(1))
     self.assertEqual(l.size(), 2)
     # remove from end
     l.remove(2)
     self.assertFalse(l.search(2))
     self.assertEqual(l.size(), 1)
     # remove from start
     l.remove(0)
     self.assertFalse(l.search(0))
     self.assertEqual(l.size(), 0)
Exemplo n.º 4
0
from unordered_list import UnorderedList

mylist = UnorderedList()

mylist.add(20)
mylist.add(40)
mylist.insert(1, 55)
mylist.insert(-2, 65)
print(mylist.index(65))
mylist.append(100)
print(mylist.index(100))
class TestUnorderedList(unittest.TestCase):
    def setUp(self):
        self.l = UnorderedList()

    def test_all(self):
        self.assertTrue(self.l.isEmpty())
        # 54 26 93 17 77 31
        self.l.add(31)
        self.l.add(77)
        self.l.add(17)
        self.l.add(93)
        self.l.add(26)
        self.l.add(54)

        self.assertFalse(self.l.isEmpty())
        self.assertEqual(6, self.l.size())
        self.assertTrue(self.l.search(93))
        self.assertEqual(2, self.l.index(93))
        self.assertFalse(self.l.search(100))
        self.assertIsNone(self.l.index(100))

        # 100 54 26 93 17 77 31
        self.l.add(100)
        self.assertTrue(self.l.search(100))
        self.assertEqual(0, self.l.index(100))
        self.assertEqual(7, self.l.size())

        # 100 26 93 17 77 31
        self.assertEqual(2, self.l.index(26))
        self.l.remove(54)
        self.assertEqual(6, self.l.size())
        self.assertEqual(1, self.l.index(26))
        # 100 26 17 77 31
        self.assertEqual(3, self.l.index(17))
        self.l.remove(93)
        self.assertEqual(5, self.l.size())
        self.assertEqual(2, self.l.index(17))
        # 100 26 17 77
        self.assertEqual(3, self.l.index(77))
        self.l.remove(31)
        self.assertEqual(4, self.l.size())
        self.assertEqual(3, self.l.index(77))
        self.assertFalse(self.l.search(93))

    def test_appendInsertPop(self):
        # 31 93 77 17
        self.l.append(77)
        self.l.insert(31, 0)
        self.l.append(17)
        self.l.insert(93, 1)

        self.assertEqual(4, self.l.size())
        self.assertEqual(0, self.l.index(31))
        self.assertEqual(1, self.l.index(93))
        self.assertEqual(2, self.l.index(77))
        self.assertEqual(3, self.l.index(17))

        # 31 93 77
        self.l.pop()
        self.assertEqual(0, self.l.index(31))
        self.assertEqual(1, self.l.index(93))
        self.assertEqual(2, self.l.index(77))

        # 31 77
        self.l.pop(1)
        self.assertEqual(0, self.l.index(31))
        self.assertEqual(1, self.l.index(77))

    def test_dupitem(self):
        self.l.append(3)
        self.l.append(3)
        self.l.append(2)
        self.l.append(3)

        self.assertEqual(4, self.l.size())
        self.l.remove(3)
        self.assertTrue(self.l.search(3))
        self.assertEqual(0, self.l.index(3))
        self.assertEqual('[3, 2, 3]', self.l.__str__())

    def test_slice(self):
        self.assertEqual([], self.l.slice(0, 5))
        # 1 2 3 4 5
        self.l.append(1)
        self.l.append(2)
        self.l.append(3)
        self.l.append(4)
        self.l.append(5)
        self.assertEqual([1, 2], self.l.slice(0, 2))
        self.assertEqual([3, 4, 5], self.l.slice(2, 5))