def test_modify_element(self): ''' case11:测试modify_element函数 1、当链表为空时,调用modify_element函数,抛出指定异常 2、原链表存在4个元素[1,2,'a','b'],指定索引index=-1或4元素,抛出指定异常 3、原链表存在4个元素[1,2,'a','b'],修改索引index=0元素为'aa' 4、原链表存在4个元素[1,2,'a','b'],修改索引index=3元素为'cc' ''' '''step 1''' temp_list = Llist() with self.assertRaisesRegexp(LinkedListOperateError, 'list is empty'): temp_list.modify_element(1, 'aa') '''step 2''' temp_list.append(1) temp_list.append(2) temp_list.append('a') temp_list.append('b') with self.assertRaisesRegexp(LinkedListOperateError, 'list index out of range'): temp_list.modify_element(-1, 'aa') with self.assertRaisesRegexp(LinkedListOperateError, 'list index out of range'): temp_list.modify_element(4, 'aa') '''step 3''' temp_list.modify_element(0, 'aa') value = temp_list.index(0) self.assertEqual(value, 'aa', "value_info " + str(value)) '''step 4''' temp_list.modify_element(3, 'cc') value = temp_list.index(3) self.assertEqual(value, 'cc', "value_info " + str(value))
def test_index(self): ''' case10:测试index函数 1、当链表为空时,调用index函数,抛出指定异常 2、原链表存在4个元素[1,2,'a','b'],指定索引index=-1或4元素,抛出指定异常 3、原链表存在4个元素[1,2,'a','b'],指定索引index=0,找到节点0 4、原链表存在4个元素[1,2,'a','b'],指定索引index=3,找到节点3 ''' '''step 1''' temp_list = Llist() with self.assertRaisesRegexp(LinkedListOperateError, 'list is empty'): temp_list.index(1) '''step 2''' temp_list.append(1) temp_list.append(2) temp_list.append('a') temp_list.append('b') with self.assertRaisesRegexp(LinkedListOperateError, 'list index out of range'): temp_list.index(-1) with self.assertRaisesRegexp(LinkedListOperateError, 'list index out of range'): temp_list.index(4) '''step 3''' value = temp_list.index(0) self.assertEqual(value, 1, "value_info " + str(value)) '''step 4''' value = temp_list.index(3) self.assertEqual(value, 'b', "value_info " + str(value))
def test_prepend(self): ''' case3:测试prepend函数 1、使用prepend添加1个元素'a',索引0为元素'a' 2、使用prepend再添加1个元素'b',索引0为元素'b';索引1为元素'a' ''' temp_list = Llist() temp_list.prepend('a') value = temp_list.index(0) self.assertEqual(value, 'a', "value_info " + str(value)) temp_list.prepend('b') value = temp_list.index(0) self.assertEqual(value, 'b', "value_info " + str(value)) value = temp_list.index(1) self.assertEqual(value, 'a', "value_info " + str(value))
def test_index_insert(self): ''' case13:测试index_insert函数 1、当链表为空时,在索引0插入元素'a',索引index=0元素为'a' 2、当链表为['a']时,在索引1插入元素'b',索引index=1元素为'b' 3、当链表为['a','b']时,在索引1插入元素'c',索引index=1元素为'c',索引index=2元素为'b' 4、当链表为['a','c','b']时,传入索引>=4或<=-1或非数字,抛出指定异常 ''' '''step 1''' temp_list = Llist() temp_list.index_insert(0, 'a') value = temp_list.index(0) self.assertEqual(value, 'a', "value_info " + str(value)) '''step 2''' temp_list.index_insert(1, 'b') value = temp_list.index(1) self.assertEqual(value, 'b', "value_info " + str(value)) '''step 3''' temp_list.index_insert(1, 'c') value = temp_list.index(1) self.assertEqual(value, 'c', "value_info " + str(value)) value = temp_list.index(2) self.assertEqual(value, 'b', "value_info " + str(value)) '''step 4''' with self.assertRaisesRegexp( LinkedListOperateError, 'index is out of range or index not a integer'): temp_list.index_insert(4, 'ccc') with self.assertRaisesRegexp( LinkedListOperateError, 'index is out of range or index not a integer'): temp_list.index_insert(-1, 'ccc') with self.assertRaisesRegexp( LinkedListOperateError, 'index is out of range or index not a integer'): temp_list.index_insert('aaa', 'ccc')
def test_append(self): ''' case4:测试append函数 1、使用append添加1个元素'a',索引0为元素'a' 2、使用append再添加1个元素'b',索引0为元素'a';索引1为元素'b' 3、使用append再添加1个元素'c',索引2为元素'c' ''' temp_list = Llist() temp_list.append('a') value = temp_list.index(0) self.assertEqual(value, 'a', "value_info " + str(value)) temp_list.append('b') value = temp_list.index(0) self.assertEqual(value, 'a', "value_info " + str(value)) value = temp_list.index(1) self.assertEqual(value, 'b', "value_info " + str(value)) temp_list.append('c') value = temp_list.index(2) self.assertEqual(value, 'c', "value_info " + str(value))
def test_middle_pend(self): ''' case5:测试middle_pend函数 1、当被插入元素链表length<2,抛出指定异常 2、原链表存在2个元素[1,2],使用middle_pend在索引1添加元素'a',索引1为元素'a',索引0为元素1,索引2为元素2 3、原链表存在3个元素[1,'a',2] , 使用middle_pend在索引2添加元素'b',索引1为元素'a',索引2为元素'b',索引3为元素2 4、原链表存在4个元素[1,'a','b',2],指定插入index=0或4,抛出指定异常 ''' '''step 1''' temp_list = Llist() temp_list.append(1) with self.assertRaisesRegexp( LinkedListOperateError, 'the length of list is less than 2,can not execute middle_pend' ): temp_list.middle_pend(0, 'aaa') '''step 2''' temp_list.append(2) temp_list.middle_pend(1, 'a') value = temp_list.index(1) self.assertEqual(value, 'a', "value_info " + str(value)) value = temp_list.index(0) self.assertEqual(value, 1, "value_info " + str(value)) value = temp_list.index(2) self.assertEqual(value, 2, "value_info " + str(value)) '''step 3''' temp_list.middle_pend(2, 'b') value = temp_list.index(1) self.assertEqual(value, 'a', "value_info " + str(value)) value = temp_list.index(2) self.assertEqual(value, 'b', "value_info " + str(value)) value = temp_list.index(3) self.assertEqual(value, 2, "value_info " + str(value)) '''step 4''' with self.assertRaisesRegexp( LinkedListOperateError, 'the input index can not execute middle_pend'): temp_list.middle_pend(0, 'aaa') with self.assertRaisesRegexp( LinkedListOperateError, 'the input index can not execute middle_pend'): temp_list.middle_pend(4, 'aaa')