def setUp(self): self.fp = FakeProperties( prop_str='a-string', prop_none=None, prop_list=['a', 'b'], prop_zero=0, prop_one=1, prop_false=False, prop_true=True, prop_empty='', ) self.pm = PropertyMap(self.fp)
class TestPropertyMap(unittest.TestCase): def setUp(self): self.fp = FakeProperties( prop_str='a-string', prop_none=None, prop_list=['a', 'b'], prop_zero=0, prop_one=1, prop_false=False, prop_true=True, prop_empty='', ) self.pm = PropertyMap(self.fp) def testSimpleStr(self): self.assertEqual(self.pm['prop_str'], 'a-string') def testSimpleNone(self): # None is special-cased to become an empty string self.assertEqual(self.pm['prop_none'], '') def testSimpleList(self): self.assertEqual(self.pm['prop_list'], ['a', 'b']) def testSimpleZero(self): self.assertEqual(self.pm['prop_zero'], 0) def testSimpleOne(self): self.assertEqual(self.pm['prop_one'], 1) def testSimpleFalse(self): self.assertEqual(self.pm['prop_false'], False) def testSimpleTrue(self): self.assertEqual(self.pm['prop_true'], True) def testSimpleEmpty(self): self.assertEqual(self.pm['prop_empty'], '') def testSimpleUnset(self): self.assertRaises(KeyError, lambda: self.pm['prop_nosuch']) def testColonMinusSet(self): self.assertEqual(self.pm['prop_str:-missing'], 'a-string') def testColonMinusNone(self): # None is special-cased here, too self.assertEqual(self.pm['prop_none:-missing'], '') def testColonMinusZero(self): self.assertEqual(self.pm['prop_zero:-missing'], 0) def testColonMinusOne(self): self.assertEqual(self.pm['prop_one:-missing'], 1) def testColonMinusFalse(self): self.assertEqual(self.pm['prop_false:-missing'], False) def testColonMinusTrue(self): self.assertEqual(self.pm['prop_true:-missing'], True) def testColonMinusEmpty(self): self.assertEqual(self.pm['prop_empty:-missing'], '') def testColonMinusUnset(self): self.assertEqual(self.pm['prop_nosuch:-missing'], 'missing') def testColonTildeSet(self): self.assertEqual(self.pm['prop_str:~missing'], 'a-string') def testColonTildeNone(self): # None is special-cased *differently* for ~: self.assertEqual(self.pm['prop_none:~missing'], 'missing') def testColonTildeZero(self): self.assertEqual(self.pm['prop_zero:~missing'], 'missing') def testColonTildeOne(self): self.assertEqual(self.pm['prop_one:~missing'], 1) def testColonTildeFalse(self): self.assertEqual(self.pm['prop_false:~missing'], 'missing') def testColonTildeTrue(self): self.assertEqual(self.pm['prop_true:~missing'], True) def testColonTildeEmpty(self): self.assertEqual(self.pm['prop_empty:~missing'], 'missing') def testColonTildeUnset(self): self.assertEqual(self.pm['prop_nosuch:~missing'], 'missing') def testColonPlusSet(self): self.assertEqual(self.pm['prop_str:+present'], 'present') def testColonPlusNone(self): self.assertEqual(self.pm['prop_none:+present'], 'present') def testColonPlusZero(self): self.assertEqual(self.pm['prop_zero:+present'], 'present') def testColonPlusOne(self): self.assertEqual(self.pm['prop_one:+present'], 'present') def testColonPlusFalse(self): self.assertEqual(self.pm['prop_false:+present'], 'present') def testColonPlusTrue(self): self.assertEqual(self.pm['prop_true:+present'], 'present') def testColonPlusEmpty(self): self.assertEqual(self.pm['prop_empty:+present'], 'present') def testColonPlusUnset(self): self.assertEqual(self.pm['prop_nosuch:+present'], '') def testNoTempValues(self): self.assertEqual(self.pm.temp_vals, {}) def testClearTempValues(self): self.pm.add_temporary_value('prop_temp', 'present') self.pm.clear_temporary_values() self.assertEqual(self.pm.temp_vals, {}) def testTempValue(self): self.pm.add_temporary_value('prop_temp', 'present') self.assertEqual(self.pm['prop_temp'], 'present') self.pm.clear_temporary_values() def testTempValueOverrides(self): self.pm.add_temporary_value('prop_one', 2) self.assertEqual(self.pm['prop_one'], 2) self.pm.clear_temporary_values() def testTempValueColonMinusSet(self): self.pm.add_temporary_value('prop_one', 2) self.assertEqual(self.pm['prop_one:-missing'], 2) self.pm.clear_temporary_values() def testTempValueColonMinusUnset(self): self.pm.add_temporary_value('prop_nosuch', 'temp') self.assertEqual(self.pm['prop_nosuch:-missing'], 'temp') self.pm.clear_temporary_values() def testTempValueColonTildeTrueSet(self): self.pm.add_temporary_value('prop_false', 'temp') self.assertEqual(self.pm['prop_false:~nontrue'], 'temp') self.pm.clear_temporary_values() def testTempValueColonTildeTrueUnset(self): self.pm.add_temporary_value('prop_nosuch', 'temp') self.assertEqual(self.pm['prop_nosuch:~nontrue'], 'temp') self.pm.clear_temporary_values() def testTempValueColonTildeFalseFalse(self): self.pm.add_temporary_value('prop_false', False) self.assertEqual(self.pm['prop_false:~nontrue'], 'nontrue') self.pm.clear_temporary_values() def testTempValueColonTildeTrueFalse(self): self.pm.add_temporary_value('prop_true', False) self.assertEqual(self.pm['prop_true:~nontrue'], True) self.pm.clear_temporary_values() def testTempValueColonTildeNoneFalse(self): self.pm.add_temporary_value('prop_nosuch', False) self.assertEqual(self.pm['prop_nosuch:~nontrue'], 'nontrue') self.pm.clear_temporary_values() def testTempValueColonTildeFalseZero(self): self.pm.add_temporary_value('prop_false', 0) self.assertEqual(self.pm['prop_false:~nontrue'], 'nontrue') self.pm.clear_temporary_values() def testTempValueColonTildeTrueZero(self): self.pm.add_temporary_value('prop_true', 0) self.assertEqual(self.pm['prop_true:~nontrue'], True) self.pm.clear_temporary_values() def testTempValueColonTildeNoneZero(self): self.pm.add_temporary_value('prop_nosuch', 0) self.assertEqual(self.pm['prop_nosuch:~nontrue'], 'nontrue') self.pm.clear_temporary_values() def testTempValueColonTildeFalseBlank(self): self.pm.add_temporary_value('prop_false', '') self.assertEqual(self.pm['prop_false:~nontrue'], 'nontrue') self.pm.clear_temporary_values() def testTempValueColonTildeTrueBlank(self): self.pm.add_temporary_value('prop_true', '') self.assertEqual(self.pm['prop_true:~nontrue'], True) self.pm.clear_temporary_values() def testTempValueColonTildeNoneBlank(self): self.pm.add_temporary_value('prop_nosuch', '') self.assertEqual(self.pm['prop_nosuch:~nontrue'], 'nontrue') self.pm.clear_temporary_values() def testTempValuePlusSetSet(self): self.pm.add_temporary_value('prop_one', 2) self.assertEqual(self.pm['prop_one:+set'], 'set') self.pm.clear_temporary_values() def testTempValuePlusUnsetSet(self): self.pm.add_temporary_value('prop_nosuch', 1) self.assertEqual(self.pm['prop_nosuch:+set'], 'set')
class TestPropertyMap(unittest.TestCase): def setUp(self): self.fp = FakeProperties( prop_str='a-string', prop_none=None, prop_list=['a', 'b'], prop_zero=0, prop_one=1, prop_false=False, prop_true=True, prop_empty='', ) self.pm = PropertyMap(self.fp) def testSimpleStr(self): self.assertEqual(self.pm['prop_str'], 'a-string') def testSimpleNone(self): # None is special-cased to become an empty string self.assertEqual(self.pm['prop_none'], '') def testSimpleList(self): self.assertEqual(self.pm['prop_list'], ['a', 'b']) def testSimpleZero(self): self.assertEqual(self.pm['prop_zero'], 0) def testSimpleOne(self): self.assertEqual(self.pm['prop_one'], 1) def testSimpleFalse(self): self.assertEqual(self.pm['prop_false'], False) def testSimpleTrue(self): self.assertEqual(self.pm['prop_true'], True) def testSimpleEmpty(self): self.assertEqual(self.pm['prop_empty'], '') def testSimpleUnset(self): self.assertRaises(KeyError, lambda : self.pm['prop_nosuch']) def testColonMinusSet(self): self.assertEqual(self.pm['prop_str:-missing'], 'a-string') def testColonMinusNone(self): # None is special-cased here, too self.assertEqual(self.pm['prop_none:-missing'], '') def testColonMinusZero(self): self.assertEqual(self.pm['prop_zero:-missing'], 0) def testColonMinusOne(self): self.assertEqual(self.pm['prop_one:-missing'], 1) def testColonMinusFalse(self): self.assertEqual(self.pm['prop_false:-missing'], False) def testColonMinusTrue(self): self.assertEqual(self.pm['prop_true:-missing'], True) def testColonMinusEmpty(self): self.assertEqual(self.pm['prop_empty:-missing'], '') def testColonMinusUnset(self): self.assertEqual(self.pm['prop_nosuch:-missing'], 'missing') def testColonTildeSet(self): self.assertEqual(self.pm['prop_str:~missing'], 'a-string') def testColonTildeNone(self): # None is special-cased *differently* for ~: self.assertEqual(self.pm['prop_none:~missing'], 'missing') def testColonTildeZero(self): self.assertEqual(self.pm['prop_zero:~missing'], 'missing') def testColonTildeOne(self): self.assertEqual(self.pm['prop_one:~missing'], 1) def testColonTildeFalse(self): self.assertEqual(self.pm['prop_false:~missing'], 'missing') def testColonTildeTrue(self): self.assertEqual(self.pm['prop_true:~missing'], True) def testColonTildeEmpty(self): self.assertEqual(self.pm['prop_empty:~missing'], 'missing') def testColonTildeUnset(self): self.assertEqual(self.pm['prop_nosuch:~missing'], 'missing') def testColonPlusSet(self): self.assertEqual(self.pm['prop_str:+present'], 'present') def testColonPlusNone(self): self.assertEqual(self.pm['prop_none:+present'], 'present') def testColonPlusZero(self): self.assertEqual(self.pm['prop_zero:+present'], 'present') def testColonPlusOne(self): self.assertEqual(self.pm['prop_one:+present'], 'present') def testColonPlusFalse(self): self.assertEqual(self.pm['prop_false:+present'], 'present') def testColonPlusTrue(self): self.assertEqual(self.pm['prop_true:+present'], 'present') def testColonPlusEmpty(self): self.assertEqual(self.pm['prop_empty:+present'], 'present') def testColonPlusUnset(self): self.assertEqual(self.pm['prop_nosuch:+present'], '') def testNoTempValues(self): self.assertEqual(self.pm.temp_vals, {}) def testClearTempValues(self): self.pm.add_temporary_value('prop_temp', 'present') self.pm.clear_temporary_values() self.assertEqual(self.pm.temp_vals, {}) def testTempValue(self): self.pm.add_temporary_value('prop_temp', 'present') self.assertEqual(self.pm['prop_temp'], 'present') self.pm.clear_temporary_values() def testTempValueOverrides(self): self.pm.add_temporary_value('prop_one', 2) self.assertEqual(self.pm['prop_one'], 2) self.pm.clear_temporary_values() def testTempValueColonMinusSet(self): self.pm.add_temporary_value('prop_one', 2) self.assertEqual(self.pm['prop_one:-missing'], 2) self.pm.clear_temporary_values() def testTempValueColonMinusUnset(self): self.pm.add_temporary_value('prop_nosuch', 'temp') self.assertEqual(self.pm['prop_nosuch:-missing'], 'temp') self.pm.clear_temporary_values() def testTempValueColonTildeTrueSet(self): self.pm.add_temporary_value('prop_false', 'temp') self.assertEqual(self.pm['prop_false:~nontrue'], 'temp') self.pm.clear_temporary_values() def testTempValueColonTildeTrueUnset(self): self.pm.add_temporary_value('prop_nosuch', 'temp') self.assertEqual(self.pm['prop_nosuch:~nontrue'], 'temp') self.pm.clear_temporary_values() def testTempValueColonTildeFalseFalse(self): self.pm.add_temporary_value('prop_false', False) self.assertEqual(self.pm['prop_false:~nontrue'], 'nontrue') self.pm.clear_temporary_values() def testTempValueColonTildeTrueFalse(self): self.pm.add_temporary_value('prop_true', False) self.assertEqual(self.pm['prop_true:~nontrue'], True) self.pm.clear_temporary_values() def testTempValueColonTildeNoneFalse(self): self.pm.add_temporary_value('prop_nosuch', False) self.assertEqual(self.pm['prop_nosuch:~nontrue'], 'nontrue') self.pm.clear_temporary_values() def testTempValueColonTildeFalseZero(self): self.pm.add_temporary_value('prop_false', 0) self.assertEqual(self.pm['prop_false:~nontrue'], 'nontrue') self.pm.clear_temporary_values() def testTempValueColonTildeTrueZero(self): self.pm.add_temporary_value('prop_true', 0) self.assertEqual(self.pm['prop_true:~nontrue'], True) self.pm.clear_temporary_values() def testTempValueColonTildeNoneZero(self): self.pm.add_temporary_value('prop_nosuch', 0) self.assertEqual(self.pm['prop_nosuch:~nontrue'], 'nontrue') self.pm.clear_temporary_values() def testTempValueColonTildeFalseBlank(self): self.pm.add_temporary_value('prop_false', '') self.assertEqual(self.pm['prop_false:~nontrue'], 'nontrue') self.pm.clear_temporary_values() def testTempValueColonTildeTrueBlank(self): self.pm.add_temporary_value('prop_true', '') self.assertEqual(self.pm['prop_true:~nontrue'], True) self.pm.clear_temporary_values() def testTempValueColonTildeNoneBlank(self): self.pm.add_temporary_value('prop_nosuch', '') self.assertEqual(self.pm['prop_nosuch:~nontrue'], 'nontrue') self.pm.clear_temporary_values() def testTempValuePlusSetSet(self): self.pm.add_temporary_value('prop_one', 2) self.assertEqual(self.pm['prop_one:+set'], 'set') self.pm.clear_temporary_values() def testTempValuePlusUnsetSet(self): self.pm.add_temporary_value('prop_nosuch', 1) self.assertEqual(self.pm['prop_nosuch:+set'], 'set')