def test_basic(self): a = TypedList(types=(str,), null=True) a.append("foo") self.assertRaises(TypeError, a.append, 2) a.insert(1, "foo2") self.assertEquals(a[1], "foo2") self.assertRaises(TypeError, a.insert, 0, 2) a.extend(["foo3", "foo4"]) self.assertEquals(len(a), 4) self.assertEquals(a[3], "foo4") self.assertRaises(TypeError, a.extend, ["foo", 2]) a[0]='foo' self.assertRaises(TypeError, a.__setitem__, 0, 2) a[0:2] = ['foo', 'foo2'] self.assertRaises(TypeError, a.__setitem__, slice(0, 2), ['f', 3])
def test_mixed_type(self): a = TypedList(types=("ab", 2, "ba"), null=True) a.append("ab") a.append(2) self.assertRaises(TypeError, a.append, 3) self.assertRaises(TypeError, a.append, "cd") a.append("ab") a.append("ba")
def test_str_value(self): a = TypedList(types=("ab",), null=True) a.append("ab") self.assertRaises(TypeError, a.append, "ce")