def test_tcldict2(self): """exercise tohil.tcldict item access""" x = tohil.tcldict("a 1 b 2 c 3 d 4 e 5") self.assertEqual(x['c'], "3") self.assertEqual(len(x), 5) with self.assertRaises(KeyError): x['zzz']
def test_td3(self): """tohil.tcldict set """ x = tohil.tcldict() x["foo"] = "bar" x["hey"] = "you" self.assertEqual(x["foo"], "bar") self.assertEqual(str(x), 'foo bar hey you') del x["foo"] self.assertEqual(str(x), 'hey you')
def test_tcldict4(self): """exercise nested tohil.tcldicts""" d = tohil.tcldict('a 1 b 2 c 3 d 4') e = tohil.tcldict('i i1 j j1 k k1') d['m'] = e self.assertEqual(str(d), 'a 1 b 2 c 3 d 4 m {i i1 j j1 k k1}') self.assertEqual(d.get(['m', 'k']), 'k1') self.assertEqual(d.get('m'), 'i i1 j j1 k k1') self.assertEqual(len(d), 5) self.assertEqual(len(e), 3) s = '' for i in d: s += i self.assertEqual(s, 'abcdm') self.assertEqual(d[['m', 'j']], 'j1')
def test_td8(self): """tohil.tcldict nested-in checks""" x = tcldict() x[["a", "b", "c"]] = "foo" x["b"] = "bar" self.assertEqual(x[["a", "b", "c"]], "foo") self.assertEqual(["a", "b", "c"] in x, True) self.assertEqual(["a", "d", "d"] in x, False) with self.assertRaises(TypeError): ["a", "b", "c", "d"] in x
def test_td5(self): """tohil.tcldict list remove """ x = tcldict() x["a"] = 1 x["b"] = 2 x["c"] = 3 del x["a"] del x["c"] del x["c"] self.assertEqual(str(x), 'b 2')
def test_td4(self): """tohil.tcldict set, get and remove """ x = tcldict() x["foo"] = 5 x["foo"] = 5 self.assertEqual(x["foo"], "5") self.assertEqual(x.get("foo", to=int), 5) self.assertEqual(repr(x), "<tohil.tcldict: 'foo 5'>") del x["foo"] self.assertEqual(repr(x), "<tohil.tcldict: ''>")
def test_tcldict3(self): """exercise tohil.tcldict item insertion and modification""" x = tohil.tcldict("a 1 b 2 c 3 d 4 e 5") x['d'] = '42' self.assertEqual(x['c'], '3') self.assertEqual(x['d'], '42') self.assertEqual(len(x), 5) x['f'] = '6' self.assertEqual(x['f'], '6') self.assertEqual(len(x), 6)
def test_td_iter2(self): """tohil.tcldict iter with to= conversion """ t = tohil.tcldict("a 1 b 2 c 3 d 4 e 5 f 6") t.to = int self.assertEqual( list(t), [("a", 1), ("b", 2), ("c", 3), ("d", 4), ("e", 5), ("f", 6)], ) t.to = str self.assertEqual( list(t), [("a", "1"), ("b", "2"), ("c", "3"), ("d", "4"), ("e", "5"), ("f", "6")], )
def test_td9(self): """tohil.tcldict access and manipulation of nested dictionaries""" t = tcldict() t[["a", "b", "c", "d"]] = 1 t["b"] = "bar" self.assertEqual(t.get(["a", "b", "c", "d"]), "1") self.assertEqual(t.get(["a", "b"]), "c {d 1}") x = t.get(["a", "b"], to=tohil.tcldict) with self.assertRaises(KeyError): x["d"] self.assertEqual(x[["c", "d"]], "1") self.assertEqual(["c", "d"] in x, True) self.assertEqual(["c"] in x, True) self.assertEqual("c" in x, True) self.assertEqual("zzz" in x, False) self.assertEqual(["zzz"] in x, False) self.assertEqual(["zzz","zzz2"] in x, False)
def test_td_iter1(self): """tohil.tcldict iterator """ t = tohil.tcldict("a 1 b 2 c 3 d 4 e 5 f 6") self.assertEqual(list(t), ["a", "b", "c", "d", "e", "f"])
def test_tcldict1(self): """exercise tohil.tcldict data type""" x = tohil.tcldict("a 1 b 2 c 3 d 4 e 5") self.assertEqual("c" in x, True) self.assertEqual("f" in x, False)
def test_td7(self): """tohil.tcldict access with list of keys""" x = tcldict() x[["a", "b", "c", "d"]] = "foo" x["b"] = "bar" self.assertEqual(x[["a", "b", "c", "d"]], "foo")
def test_td6(self): """tohil.tcldict td_set with list of keys""" x = tcldict() x[["a", "b", "c", "d"]] = "bar" self.assertEqual(repr(x), "<tohil.tcldict: 'a {b {c {d bar}}}'>")