コード例 #1
0
ファイル: test_config.py プロジェクト: rubyengineer/tea
class TestSafeConfigSetting(Checker):
    def setUp(self):
        self.c = Config(data=DICT_DATA)

    def test_set_first_level(self):
        self.c.set("foo", 11)
        self.assertEqual(self.c.get("foo"), 11)
        # the rest should be untouched
        self.safe_check_values(foo=False)

    def test_set_second_level(self):
        self.c.set("foo.bar", 12)
        self.assertDictEqual(self.c.get("foo"), {"bar": 12, "baz": 2})
        self.assertEqual(self.c.get("foo.bar"), 12)
        # the rest should be untouched
        self.safe_check_values(foo=False)

    def test_set_third_level(self):
        self.c.set("foo.bar.baz", 13)
        self.assertDictEqual(self.c.get("foo"), {"bar": {"baz": 13}, "baz": 2})
        self.assertDictEqual(self.c.get("foo.bar"), {"baz": 13})
        self.assertEqual(self.c.get("foo.bar.baz"), 13)
        # the rest should be untouched
        self.safe_check_values(foo=False)
コード例 #2
0
ファイル: test_config.py プロジェクト: rubyengineer/tea
class TestSafeConfigAddition(Checker):
    def setUp(self):
        self.c = Config(data=DICT_DATA)

    def test_add_first_level(self):
        self.c.set("first", 5)
        self.assertEqual(self.c.get("first"), 5)
        # the rest should be untouched
        self.safe_check_values()

    def test_add_second_level(self):
        self.c.set("first.second", 6)
        self.assertDictEqual(self.c.get("first"), {"second": 6})
        self.assertEqual(self.c.get("first.second"), 6)
        # the rest should be untouched
        self.safe_check_values()

    def test_add_in_existing_first_level_one_level(self):
        self.c.set("foo.first", 7)
        self.assertEqual(self.c.get("foo.first"), 7)
        # the rest should be untouched
        self.safe_check_values()

    def test_add_in_existing_first_level_two_levels(self):
        self.c.set("foo.first.second", 8)
        self.assertDictEqual(self.c.get("foo.first"), {"second": 8})
        self.assertEqual(self.c.get("foo.first.second"), 8)
        # the rest should be untouched
        self.safe_check_values()

    def test_add_in_existing_second_level_one_level(self):
        self.c.set("foo.bar.first", 9)
        self.assertDictEqual(self.c.get("foo"), {"bar": {"baz": 1, "first": 9}, "baz": 2})
        self.assertDictEqual(self.c.get("foo.bar"), {"baz": 1, "first": 9})
        self.assertEqual(self.c.get("foo.bar.first"), 9)
        # the rest should be untouched
        self.safe_check_values(foo=False)

    def test_add_in_existing_second_level_two_levels(self):
        self.c.set("foo.bar.first.second", 10)
        self.assertDictEqual(self.c.get("foo"), {"bar": {"baz": 1, "first": {"second": 10}}, "baz": 2})
        self.assertDictEqual(self.c.get("foo.bar"), {"baz": 1, "first": {"second": 10}})
        self.assertDictEqual(self.c.get("foo.bar.first"), {"second": 10})
        self.assertEqual(self.c.get("foo.bar.first.second"), 10)
        # the rest should be untouched
        self.safe_check_values(foo=False)