def test_copy(self): a = TuplePath(("k1", "k2", "k3")) b = a.copy() self.assertIsNot(a, b) self.assertEqual(a, b) a[1] = "foo" self.assertEqual(a, ("k1", "foo", "k3")) self.assertNotEqual(a, b)
def test_append__str_param(self): a = TuplePath() self.assertEqual(a, ()) a.append("k1") self.assertEqual(a, ("k1", )) a.append("k2") self.assertEqual(a, ("k1", "k2"))
def test___getitem__slice_index(self): a = TuplePath(("k3", "k2", "k1")) self.assertEqual(a[:-1], ("k3", "k2"))
def test___eq___tuple_param__returns_False(self): a = TuplePath(("k1", "k2", "k3")) b = ("foo", "bar", "baz") self.assertFalse(a == b)
def test___eq___same_class_param__returns_True(self): a = TuplePath(("k1", "k2", "k3")) b = TuplePath(("k1", "k2", "k3")) self.assertTrue(a == b)
def test___add__(self): a = TuplePath(("k1", "k2", "k3")) b = "k4" c = a + b self.assertIsInstance(c, TuplePath) self.assertEqual(c, ("k1", "k2", "k3", "k4"))
def test___call___no_params__existing_segments(self): a = TuplePath() a.segments = ["foo", "bar", "baz"] a() self.assertEqual(a, ())
def test_encode(self): a = TuplePath(("k1", "k2", "k3")) b = a.encode() self.assertIsInstance(b, tuple) self.assertEqual(b, ("k1", "k2", "k3"))
def test_copy__index_set(self): a = TuplePath(("k1", "k2", "k3")) b = a.copy(slice(1, len(a))) self.assertEqual(b, ("k2", "k3"))
def test_extend__same_class(self): a = TuplePath(("k1", )) b = TuplePath(("k2", )) a.extend(b) self.assertEqual(a, ("k1", "k2"))
def test___decode(self): a = TuplePath() self.assertEqual(a._decode(("k1", "k2", "k3")), ["k1", "k2", "k3"])
def test___delitem__slice_index(self): a = TuplePath(("k1", "k2", "k3")) del a[:-1] self.assertEqual(a, ("k3", ))
def test___delitem__int_index(self): a = TuplePath(("k1", "k2", "k3")) del a[1] self.assertEqual(a, ("k1", "k3"))
def test___setitem__slice_index(self): a = TuplePath(("k1", "k2", "k3")) a[:-1] = ("foo", "bar") self.assertEqual(a, ("foo", "bar", "k3"))
def test___setitem__int_index(self): a = TuplePath(("k1", "k2", "k3")) a[1] = "foo" self.assertEqual(a, ("k1", "foo", "k3"))
def test_reverse(self): a = TuplePath(("k1", "k2", "k3")) a.reverse() self.assertEqual(a, ("k3", "k2", "k1"))
def test_extend__external_representation(self): a = TuplePath(("k1", )) b = ("k2", ) a.extend(b) self.assertEqual(a, ("k1", "k2"))
def test_insert(self): a = TuplePath(("k2", )) a.insert(1, "k3") self.assertEqual(a, ("k2", "k3")) a.insert(0, "k1") self.assertEqual(a, ("k1", "k2", "k3"))
def test___init___tuple_key_notation_param(self): a = TuplePath(("k1", "k2", "k3")) self.assertEqual(a, ("k1", "k2", "k3"))
def test_remove(self): a = TuplePath(("k1", "k2", "k3")) a.remove("k2") self.assertEqual(a, ("k1", "k3"))
def test___call___no_params(self): a = TuplePath() a() self.assertEqual(a, ())
def test_pop(self): a = TuplePath(("k1", "k2", "k3")) self.assertEqual(a.pop(), "k3") self.assertEqual(a, ("k1", "k2")) self.assertEqual(a.pop(0), "k1") self.assertEqual(a, ("k2", ))
def test___call___tuple_key_notation_param__existing_segments(self): a = TuplePath() a.segments = ["foo", "bar", "baz"] a(("k1", "k2", "k3")) self.assertEqual(a, ("k1", "k2", "k3"))
def test_clear(self): a = TuplePath(("k1", "k2", "k3")) a.clear() self.assertEqual(a, ())
def test___iadd____tuple_param(self): a = TuplePath(("k1", "k2", "k3")) b = "k4" a += b self.assertEqual(a, ("k1", "k2", "k3", "k4"))
def test_index(self): a = TuplePath(("k1", "k2", "k3")) self.assertEqual(a.index("k2"), 1)
def test___eq___tuple_param__returns_True(self): a = TuplePath(("k1", "k2", "k3")) b = ("k1", "k2", "k3") self.assertTrue(a == b)
def test_count(self): a = TuplePath(("k1", "k1", "k2")) self.assertEqual(a.count("k1"), 2)
def test___eq___incompatible_type__returns_False(self): a = TuplePath(("k1", "k2", "k3")) b = True self.assertFalse(a == b)
def test___getitem__int_index(self): a = TuplePath(("k3", "k2", "k1")) self.assertEqual(a[1], "k2")