示例#1
0
文件: common.py 项目: sgricci/digsby
 def setUp(self):
     self.data = {
         'emptystring': '',
         'string': 'here\'s a string',
         'zero': 0,
         'int': 1,
         'none': None,
         'empty tuple': (),
         'tuple': (1, 'foo', None),
         'empty list': [],
         'list': ['a', 'b', 'c'],
         'empty dict': {},
         'dict': {
             'foo': 'bar'
         },
     }
     self.datastore = DictDatastore(self.data)
示例#2
0
 def setUp(self):
     self.data = {
         'emptystring': '',
         'string': 'here\'s a string',
         'zero': 0,
         'int': 1,
         'none': None,
         'empty tuple': (),
         'tuple': (1, 'foo', None),
         'empty list': [],
         'list': ['a', 'b', 'c'],
         'empty dict': {},
         'dict': {'foo': 'bar'},
     }
     self.datastore = DictDatastore(self.data)
示例#3
0
class DictDatastoreTests(unittest.TestCase):
    def setUp(self):
        self.data = {
            'emptystring': '',
            'string': 'here\'s a string',
            'zero': 0,
            'int': 1,
            'none': None,
            'empty tuple': (),
            'tuple': (1, 'foo', None),
            'empty list': [],
            'list': ['a', 'b', 'c'],
            'empty dict': {},
            'dict': {'foo': 'bar'},
        }
        self.datastore = DictDatastore(self.data)

    def tearDown(self):
        del self.datastore
        del self.data

    def test_keys(self):
        self.assertEqual(set(self.datastore.keys()), set(self.data.keys()))

    def test_items(self):
        self.assertEqual(sorted(list(self.datastore.items())), sorted(list(self.data.items())))

    def test_get_success(self):
        for key in self.datastore.keys():
            try:
                val = self.datastore.get(key)
            except Exception:
                pass
            if isinstance(val, type(self.datastore)):
                val = val.data
            self.assertEqual(val, self.data.get(key), key)

    def test_get_fail(self):
        self.assertRaises(KeyError, lambda: self.datastore.get('bad key'))

    def test_get_default(self):
        for k, v in self.datastore.items():
            default = v
            val = self.datastore.get('bad key', default = default)
            val = getattr(val, 'data', val)
            self.assertEqual(default, val)

    def test_set_new(self):
        for k, v in self.datastore.items():
            new_k = 'new ' + k
            self.datastore.set(new_k, v)
            new_v = self.datastore.get(new_k)
            if isinstance(new_v, type(self.datastore)):
                new_v = new_v.data
            self.assertEqual(v, new_v)

    def test_set_existing(self):
        new_value = 'previously nonexistent value'
        for k in sorted(self.datastore.keys()):
            self.datastore.set(k, new_value)
            self.assertEqual(self.datastore.get(k), new_value)

    def test_set_empty(self):
        for k, v in sorted(self.datastore.items()):
            self.datastore.set(k)
            self.assertRaises(KeyError, lambda: self.datastore.get(k))

    def test_clear(self):
        for k, v in self.datastore.items():
            self.datastore.clear(k)
            self.assertRaises(KeyError, lambda: self.datastore.get(k))
示例#4
0
文件: common.py 项目: sgricci/digsby
class DictDatastoreTests(unittest.TestCase):
    def setUp(self):
        self.data = {
            'emptystring': '',
            'string': 'here\'s a string',
            'zero': 0,
            'int': 1,
            'none': None,
            'empty tuple': (),
            'tuple': (1, 'foo', None),
            'empty list': [],
            'list': ['a', 'b', 'c'],
            'empty dict': {},
            'dict': {
                'foo': 'bar'
            },
        }
        self.datastore = DictDatastore(self.data)

    def tearDown(self):
        del self.datastore
        del self.data

    def test_keys(self):
        self.assertEqual(set(self.datastore.keys()), set(self.data.keys()))

    def test_items(self):
        self.assertEqual(sorted(list(self.datastore.items())),
                         sorted(list(self.data.items())))

    def test_get_success(self):
        for key in self.datastore.keys():
            try:
                val = self.datastore.get(key)
            except Exception:
                pass
            if isinstance(val, type(self.datastore)):
                val = val.data
            self.assertEqual(val, self.data.get(key), key)

    def test_get_fail(self):
        self.assertRaises(KeyError, lambda: self.datastore.get('bad key'))

    def test_get_default(self):
        for k, v in self.datastore.items():
            default = v
            val = self.datastore.get('bad key', default=default)
            val = getattr(val, 'data', val)
            self.assertEqual(default, val)

    def test_set_new(self):
        for k, v in self.datastore.items():
            new_k = 'new ' + k
            self.datastore.set(new_k, v)
            new_v = self.datastore.get(new_k)
            if isinstance(new_v, type(self.datastore)):
                new_v = new_v.data
            self.assertEqual(v, new_v)

    def test_set_existing(self):
        new_value = 'previously nonexistent value'
        for k in sorted(self.datastore.keys()):
            self.datastore.set(k, new_value)
            self.assertEqual(self.datastore.get(k), new_value)

    def test_set_empty(self):
        for k, v in sorted(self.datastore.items()):
            self.datastore.set(k)
            self.assertRaises(KeyError, lambda: self.datastore.get(k))

    def test_clear(self):
        for k, v in self.datastore.items():
            self.datastore.clear(k)
            self.assertRaises(KeyError, lambda: self.datastore.get(k))