Exemple #1
0
    def test_key_not_found(self):
        # create a kv database
        ctx = t.Ctx()
        a1 = t.Attr(ctx, "value", dtype=bytes)
        kv = t.KV(ctx, self.path("foo"), attrs=(a1, ))

        self.assertRaises(KeyError, kv.__getitem__, "not here")
Exemple #2
0
 def test_kv_contains(self):
     # create a kv database
     ctx = t.Ctx()
     a1 = t.Attr(ctx, "value", dtype=bytes)
     kv = t.KV(ctx, self.path("foo"), attrs=(a1, ))
     self.assertFalse("foo" in kv)
     kv['foo'] = 'bar'
     self.assertTrue("foo" in kv)
Exemple #3
0
 def test_kv_write_read(self):
     # create a kv database
     ctx = t.Ctx()
     a1 = t.Attr(ctx, "value", dtype=bytes)
     kv = t.KV(ctx, self.path("foo"), attrs=(a1, ))
     a1.dump()
     kv['foo'] = 'bar'
     kv.dump()
     self.assertEqual(kv["foo"], 'bar')
Exemple #4
0
 def test_kv_dict(self):
     # create a kv database
     ctx = t.Ctx()
     a1 = t.Attr(ctx, "value", dtype=bytes)
     kv = t.KV(ctx, self.path("foo"), attrs=(a1, ))
     kv['foo'] = 'bar'
     kv['baz'] = 'foo'
     self.assertEqual(kv.dict(), {'foo': 'bar', 'baz': 'foo'})
     self.assertEqual(dict(kv), {'foo': 'bar', 'baz': 'foo'})
Exemple #5
0
    def test_kv_write_load_read(self):
        # create a kv database
        ctx = t.Ctx()
        a1 = t.Attr(ctx, "value", dtype=bytes)
        kv = t.KV(ctx, self.path("foo"), attrs=(a1, ))

        kv['foo'] = 'bar'
        del kv

        # try to load it
        kv = t.KV.load(ctx, self.path("foo"))
        self.assertEqual(kv["foo"], 'bar')
Exemple #6
0
    def test_kv_update(self):
        # create a kv database
        ctx = t.Ctx()
        a1 = t.Attr(ctx, "val", dtype=bytes)
        kv = t.KV(ctx, self.path("foo"), attrs=(a1, ))

        kv['foo'] = 'bar'
        del kv

        kv = t.KV.load(ctx, self.path("foo"))
        kv['foo'] = 'baz'
        del kv

        kv = t.KV.load(ctx, self.path("foo"))
        self.assertEqual(kv['foo'], 'baz')
Exemple #7
0
 def test_multiattribute(self):
     ctx = t.Ctx()
     a1 = t.Attr(ctx, "ints", dtype=int)
     a2 = t.Attr(ctx, "floats", dtype=float)
     kv = t.KV(ctx, self.path("foo"), attrs=(a1, a2))