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