import unittest import util.store class store(unittest.TestCase): def setUp(self): self.store = util.store.Store() self.unusedKey = "someRandomUnusedKey" self.someKey = "someRandomKey" self.someOtherKey = "anotherRandomKey" self.someValue = "someRandomValue" self.someOtherValue = "anotherRandomValue" def test_get_of_unset_key(self): self.assertEqual(None, self.store.get(self.unusedKey), 'default value expected to be None') self.assertEqual(self.someValue, self.store.get(self.unusedKey, self.someValue), 'wrong user-provided default value returned') def test_get_of_set_key(self): self.assertNotEqual(self.someValue, None) self.store.set(self.someKey, self.someValue) self.assertEqual(self.someValue, self.store.get(self.someKey), 'unexpected value for existing key') def test_overwrite_set(self): self.assertNotEqual(self.someValue, None) self.assertNotEqual(self.someOtherValue, self.someValue) self.store.set(self.someKey, self.someValue) self.store.set(self.someKey, self.someOtherValue) self.assertEqual(self.someOtherValue, self.store.get(self.someKey), 'unexpected value for existing key') def test_unused_keys(self): self.assertNotEqual(self.someKey, self.someOtherKey) self.store.set(self.someKey, self.someValue) self.store.set(self.someOtherKey, self.someOtherValue) self.assertEqual(sorted(self.store.unused_keys()), sorted([self.someKey, self.someOtherKey])) self.store.get(self.someKey) self.assertEqual(self.store.unused_keys(), [self.someOtherKey]) # vim: tabstop=8 expandtab shiftwidth=4 softtabstop=4