コード例 #1
0
def array_list_file_reading(filename):
    archive_array = ArrayList()
    my_file = open(filename, "r")
    for line in my_file:
        line = line.strip("\n")
        archive_array.append(line)
    return archive_array
コード例 #2
0
 def test_getitem(self):
     # __getitem__ test
     test_object = ArrayList()
     for i in range(25):
         test_object.append(i)
     self.assertEqual(test_object[0], 0, "__getitem__ Error")
     self.assertEqual(test_object[24], 24, "__getitem__ Error")
     self.assertEqual(test_object[3], 3, "__getitem__ Error")
     self.assertEqual(test_object[-1], 24, "__getitem__ Error")
     self.assertEqual(test_object[-25], 0, "__getitem__ Error")
コード例 #3
0
 def test_is_empty(self):
     # is_empty test
     a_object = ArrayList()
     # test case 1
     self.assertEqual(a_object.is_empty(), True, "is_empty Array ERROR")
     self.assertEqual(a_object.count, 0, "is_empty Array ERROR")
     # test case 2
     a_object.append(1)
     self.assertEqual(a_object.is_empty(), False, "is_empty Array ERROR")
     self.assertEqual(a_object.count, 1, "is_empty Array ERROR")
コード例 #4
0
 def test_setitem(self):
     # __setitem__ test
     test_object = ArrayList()
     for i in range(26):
         test_object.append(i)
     for i in range(len(test_object)):
         test_object[i] = i + 1
     for i in range(len(test_object)):
         self.assertEqual(test_object[i], i + 1, "__setitem__ Error")
     self.assertEqual(test_object[-1], 26, "__setitem__ Error")
     self.assertEqual(test_object[-26], 1, "__setitem__ Error")
コード例 #5
0
 def test_len(self):
     # __len__ test
     a_object = ArrayList()
     # test case 1: empty
     self.assertEqual(len(a_object), 0, "__len__ Array Error")
     # test case 2: not empty
     for i in range(5):
         a_object.append(i)
     self.assertEqual(len(a_object), 5, "__len__ Array Error")
     for i in range(5):
         a_object.append(i)
     self.assertEqual(len(a_object), 10, "__len__ Array Error")
コード例 #6
0
 def test_contains(self):
     # __contains__ test
     test_object = ArrayList()
     # test case 1
     for i in range(5):
         test_object.append(i)
     self.assertEqual((4 in test_object), True, "__Contains__ Error")
     self.assertEqual((0 in test_object), True, "__Contains__ Error")
     # test case 2
     for i in range(5):
         test_object.append(i + 5)
     self.assertEqual((9 in test_object), True, "__Contains__ Error")
     self.assertEqual((10 in test_object), False, "__Contains__ Error")
コード例 #7
0
 def test_is_full(self):
     # is_full test
     a_object = ArrayList()
     for i in range(20):
         a_object.append(i)
     # though it is dynamic, the list could be full, since the dynamic is provided before appending, it is not
     # checked after appending. (Only insert or append on a full list could trigger the dynamic_extend method)
     self.assertEqual(a_object.is_full(), True, "is_full Array ERROR")
     self.assertEqual(len(a_object), 20, "is_full Array ERROR")
     self.assertEqual(len(a_object.array), 20, "is_full Array ERROR")
     a_object.append(33)
     self.assertEqual(a_object.is_full(), False, "is_full Array ERROR")
     self.assertEqual(len(a_object), 21, "is_full Array ERROR")
     self.assertEqual(len(a_object.array), 40, "is_full Array ERROR")
コード例 #8
0
 def test_extend_dynamic(self):
     # extend_dynamic test
     test_object = ArrayList()
     for i in range(20):
         test_object.append(i)
     # Appending
     test_object.append(20)
     self.assertEqual(len(test_object), 21, "Extend_dynamic Append Error")
     self.assertEqual(len(test_object.array), 40,
                      "Extend_dynamic Append Error")
     for i in range(19):
         test_object.append(i)
     self.assertEqual(len(test_object), 40, "Extend_dynamic Append Error")
     self.assertEqual(len(test_object.array), 40,
                      "Extend_dynamic Append Error")
     # Inserting
     test_object.reset(20)
     for i in range(20):
         test_object.append(i)
     test_object.insert(0, 200)
     self.assertEqual(len(test_object), 21, "Extend_dynamic Append Error")
     self.assertEqual(len(test_object.array), 40,
                      "Extend_dynamic Append Error")
     for i in range(19):
         test_object.insert(20 + i, i)
     self.assertEqual(len(test_object), 40, "Extend_dynamic Append Error")
     self.assertEqual(len(test_object.array), 40,
                      "Extend_dynamic Append Error")
コード例 #9
0
 def test_remove(self):
     # remove test
     test_object = ArrayList()
     for i in range(5):
         test_object.append(i)
     # test case 1
     test_object.remove(3)
     self.assertEqual(str(test_object), "0\n1\n2\n4\n", "Remove Error")
     self.assertEqual(test_object[3], 4, "Remove Error")
     self.assertEqual(len(test_object), 4, "Remove Error")
     # test case 2
     test_object.remove(0)
     self.assertEqual(str(test_object), "1\n2\n4\n", "Remove Error")
     self.assertEqual(test_object[2], 4, "Remove Error")
     self.assertEqual(len(test_object), 3, "Remove Error")
コード例 #10
0
 def test_delete(self):
     # delete test
     test_object = ArrayList()
     for i in range(5):
         test_object.append(i)
     # test case 1
     test_object.delete(3)
     self.assertEqual(str(test_object), "0\n1\n2\n4\n", "Delete Error")
     self.assertEqual(test_object[3], 4, "Delete Error")
     self.assertEqual(len(test_object), 4, "Delete Error")
     # test case 2
     test_object.delete(-1)
     self.assertEqual(str(test_object), "0\n1\n2\n", "Delete Error")
     self.assertEqual(test_object[2], 2, "Delete Error")
     self.assertEqual(len(test_object), 3, "Delete Error")
コード例 #11
0
 def test_eq(self):
     # __eq__ test
     test_object = ArrayList()
     # test case 1
     for i in range(5):
         test_object.append(i)
     self.assertNotEqual(test_object, [0, 1, 2, 3, 4, 5], "__eq__ Error")
     self.assertEqual(test_object, [0, 1, 2, 3, 4], "__eq__ Error")
     self.assertNotEqual(test_object, [0, 1, 2, 3, 5], "__eq__ Error")
     # test case 2
     test_object = test_object.reset(27)
     other = []
     for i in range(27):
         test_object.append(i)
         other.append(i)
     self.assertEqual(test_object, other, "__eq__ Error")
コード例 #12
0
 def test_insert(self):
     # insert test
     test_object = ArrayList()
     for i in range(5):
         test_object.append(i)
     test_object.insert(0, 11)
     self.assertEqual(str(test_object), "11\n0\n1\n2\n3\n4\n",
                      "Insert Error")
     self.assertEqual(test_object[0], 11, "Insert Error")
     self.assertEqual(test_object[1], 0, "Insert Error")
     self.assertEqual(len(test_object), 6, "Insert Error")
     test_object.insert(-1, 12)
     self.assertEqual(str(test_object), "11\n0\n1\n2\n3\n12\n4\n",
                      "Insert Error")
     self.assertEqual(test_object[-2], 12, "Insert Error")
     self.assertEqual(test_object[6], 4, "Insert Error")
     self.assertEqual(test_object[5], 12, "Insert Error")
     self.assertEqual(len(test_object), 7, "Insert Error")
コード例 #13
0
 def test_shrink_dynamic(self):
     # shrink_dynamic test
     test_object = ArrayList()
     for i in range(40):
         test_object.append(i)
     # delete test case 1
     for i in range(35):
         test_object.delete(0)
     self.assertEqual(len(test_object), 5, "Shrink_dynamic Delete Error")
     self.assertEqual(len(test_object.array), 40,
                      "Shrink_dynamic Delete Error")
     test_object.delete(0)
     self.assertEqual(len(test_object), 4, "Shrink_dynamic Delete Error")
     self.assertEqual(len(test_object.array), 20,
                      "Shrink_dynamic Delete Error")
     # delete test case 2
     test_object.reset(160)
     for i in range(160):
         test_object.append(i)
     for i in range(140):
         test_object.delete(0)
     self.assertEqual(len(test_object), 20, "Shrink_dynamic Delete Error")
     self.assertEqual(len(test_object.array), 160,
                      "Shrink_dynamic Delete Error")
     test_object.delete(0)
     self.assertEqual(len(test_object), 19, "Shrink_dynamic Delete Error")
     self.assertEqual(len(test_object.array), 80,
                      "Shrink_dynamic Delete Error")
     # remove test case 1
     test_object.reset(40)
     for i in range(40):
         test_object.append(i)
     for i in range(35):
         test_object.remove(i)
     self.assertEqual(len(test_object), 5, "Shrink_dynamic Delete Error")
     self.assertEqual(len(test_object.array), 40,
                      "Shrink_dynamic Delete Error")
     test_object.remove(35)
     self.assertEqual(len(test_object), 4, "Shrink_dynamic Delete Error")
     self.assertEqual(len(test_object.array), 20,
                      "Shrink_dynamic Delete Error")
     # remove test case 2
     test_object.reset(160)
     for i in range(160):
         test_object.append(i)
     for i in range(140):
         test_object.remove(i)
     self.assertEqual(len(test_object), 20, "Shrink_dynamic Delete Error")
     self.assertEqual(len(test_object.array), 160,
                      "Shrink_dynamic Delete Error")
     test_object.remove(140)
     self.assertEqual(len(test_object), 19, "Shrink_dynamic Delete Error")
     self.assertEqual(len(test_object.array), 80,
                      "Shrink_dynamic Delete Error")
コード例 #14
0
 def test_sort(self):
     # sort test
     test_object = ArrayList()
     test_object.append(33)
     test_object.append(243)
     test_object.append(2)
     test_object.append(1)
     test_object.append(7)
     # test case 1: as
     test_object.sort(0)
     self.assertEqual(str(test_object), "1\n2\n7\n33\n243\n",
                      "As Sort Error")
     # test case 2: de
     test_object.sort(1)
     self.assertEqual(str(test_object), "243\n33\n7\n2\n1\n",
                      "As Sort Error")
コード例 #15
0
 def test_append(self):
     # append test
     test_object = ArrayList()
     # test case 1: append 1
     test_object.append(1)
     self.assertEqual(test_object[0], 1, "Append Array Error")
     # test case 2: append 2
     test_object.append(2)
     self.assertEqual(test_object[0], 1, "Append Array Error")
     self.assertEqual(test_object[1], 2, "Append Array Error")
     # test case 3: append 3
     test_object.append(3)
     self.assertEqual(test_object[0], 1, "Append Array Error")
     self.assertEqual(test_object[1], 2, "Append Array Error")
     self.assertEqual(test_object[2], 3, "Append Array Error")
コード例 #16
0
 def test_str(self):
     # __str__ test
     test_object = ArrayList()
     for i in range(5):
         test_object.append(i)
     # test case 1
     self.assertEqual(str(test_object), "0\n1\n2\n3\n4\n", "__Str__ Error")
     # test case 2
     for i in range(5):
         test_object.append(i + 5)
     self.assertEqual(str(test_object), "0\n1\n2\n3\n4\n5\n6\n7\n8\n9\n",
                      "__Str__ Error")
     # test case 3
     for i in range(5):
         test_object.append(i)
     self.assertEqual(str(test_object),
                      "0\n1\n2\n3\n4\n5\n6\n7\n8\n9\n0\n1\n2\n3\n4\n",
                      "__Str__ Error")