Ejemplo n.º 1
0
    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']
Ejemplo n.º 2
0
 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')
Ejemplo n.º 3
0
    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')
Ejemplo n.º 4
0
 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
Ejemplo n.º 5
0
 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')
Ejemplo n.º 6
0
 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: ''>")
Ejemplo n.º 7
0
    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)
Ejemplo n.º 8
0
 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")],
     )
Ejemplo n.º 9
0
 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)
Ejemplo n.º 10
0
 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"])
Ejemplo n.º 11
0
    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)
Ejemplo n.º 12
0
 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")
Ejemplo n.º 13
0
 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}}}'>")