def test_setitem_using_stepped_slice_with_non_string(self): # This will call StringList.__setitem__ on both Python 2 and Python 3 str_list = StringList() str_list.extend([u"zero", u"one", u"two", u"three"]) with self.assertRaises(TypeError): str_list[0:3:2] = [u"four", NON_STRING_VALUE]
def test_setitem_using_slice_with_empty_sequence(self): # This will call StringList.__setslice__ on Python 2 str_list = StringList() str_list.extend([u"zero", u"one", u"two", u"three"]) str_list[1:3] = [] self.assertEqual(str_list, [u"zero", u"three"])
def test_setitem_using_stepped_slice(self): # This will call StringList.__setitem__ on both Python 2 and Python 3 str_list = StringList() str_list.extend([u"zero", u"one", u"two", u"three"]) str_list[0:3:2] = [u"four", u"five"] self.assertEqual(str_list, [u"four", u"one", u"five", u"three"])
def test_extend_with_empty_sequence(self): str_list = StringList() str_list.extend([]) self.assertEqual(str_list, [])
def test_extend_with_byte_string(self): str_list = StringList() str_list.extend([b"some string"]) self.assertEqual(str_list[0], b"some string".decode('utf-8'))
def test_extend_with_non_string(self): str_list = StringList() with self.assertRaises(TypeError): str_list.extend([u"some string", NON_STRING_VALUE])
def test_extend(self): str_list = StringList() str_list.extend([u"some string", u"another string"]) self.assertEqual(str_list, [u"some string", u"another string"])
def test_delitem_with_slice(self): str_list = StringList() str_list.extend([u"zero", u"one", u"two", u"three"]) del str_list[1:3] self.assertEqual(str_list, [u"zero", u"three"])