def test_unset(self): config.unset(["a"]) config.unset(["b", "c"]) config.unset(["c", "d"]) self.assertEqual(config.get(["a"]), None) self.assertEqual(config.get(["b", "a"]), 2) self.assertEqual(config.get(["b", "c"]), None)
def test_setdefault(self): config.setdefault((), "c", [1, 2, 3]) config.setdefault(("b", ), "c", [1, 2, 3]) config.setdefault(("e", "f"), "g", value=234) self.assertEqual(config.get((), "c"), [1, 2, 3]) self.assertEqual(config.get(("b", ), "c"), "text") self.assertEqual(config.get(("e", "f"), "g"), 234)
def test_get(self): self.assertEqual(config.get((), "a"), 1) self.assertEqual(config.get(("b", ), "a"), 2) self.assertEqual(config.get(("b", "b"), "a"), 3) self.assertEqual(config.get((), "c"), None) self.assertEqual(config.get(("b", ), "c"), "text") self.assertEqual(config.get(("b", "b"), "c"), [8, 9]) self.assertEqual(config.get(("a", ), "g"), None) self.assertEqual(config.get(("a", "a"), "g"), None) self.assertEqual(config.get(("e", "f"), "g"), None) self.assertEqual(config.get(("e", "f"), "g", 4), 4)
def test_unset(self): config.unset((), "a") config.unset(("b", ), "c") config.unset(("a", ), "d") config.unset(("b", ), "d") config.unset(("c", ), "d") self.assertEqual(config.get((), "a"), None) self.assertEqual(config.get(("b", ), "a"), 2) self.assertEqual(config.get(("b", ), "c"), None) self.assertEqual(config.get(("a", ), "d"), None) self.assertEqual(config.get(("b", ), "d"), None) self.assertEqual(config.get(("c", ), "d"), None)
def test_apply(self): options = ( (("b", ), "c", [1, 2, 3]), (("e", "f"), "g", 234), ) self.assertEqual(config.get(("b", ), "c"), "text") self.assertEqual(config.get(("e", "f"), "g"), None) with config.apply(options): self.assertEqual(config.get(("b", ), "c"), [1, 2, 3]) self.assertEqual(config.get(("e", "f"), "g"), 234) self.assertEqual(config.get(("b", ), "c"), "text") self.assertEqual(config.get(("e", "f"), "g"), None)
def test_apply(self): options = ( (["b", "c"], [1, 2, 3]), (["e", "f", "g"], 234), ) self.assertEqual(config.get(["b", "c"]), "text") self.assertEqual(config.get(["e", "f", "g"]), None) with config.apply(options): self.assertEqual(config.get(["b", "c"]), [1, 2, 3]) self.assertEqual(config.get(["e", "f", "g"]), 234) self.assertEqual(config.get(["b", "c"]), "text") self.assertEqual(config.get(["e", "f", "g"]), None)
def test_setdefault(self): config.setdefault(["b", "c"], [1, 2, 3]) config.setdefault(["e", "f", "g"], value=234) self.assertEqual(config.get(["b", "c"]), "text") self.assertEqual(config.get(["e", "f", "g"]), 234)
def test_get(self): self.assertEqual(config.get(["a"]), "1") self.assertEqual(config.get(["b", "c"]), "text") self.assertEqual(config.get(["d"]), None) self.assertEqual(config.get(["e", "f", "g"], 123), 123)
def test_load(self): with tempfile.TemporaryDirectory() as base: path1 = os.path.join(base, "cfg1") with open(path1, "w") as file: file.write('{"a": 1, "b": {"a": 2, "c": "text"}}') path2 = os.path.join(base, "cfg2") with open(path2, "w") as file: file.write('{"a": 7, "b": {"a": 8, "e": "foo"}}') config.clear() config.load((path1, )) self.assertEqual(config.get((), "a"), 1) self.assertEqual(config.get(("b", ), "a"), 2) self.assertEqual(config.get(("b", ), "c"), "text") config.load((path2, )) self.assertEqual(config.get((), "a"), 7) self.assertEqual(config.get(("b", ), "a"), 8) self.assertEqual(config.get(("b", ), "c"), "text") self.assertEqual(config.get(("b", ), "e"), "foo") config.clear() config.load((path1, path2)) self.assertEqual(config.get((), "a"), 7) self.assertEqual(config.get(("b", ), "a"), 8) self.assertEqual(config.get(("b", ), "c"), "text") self.assertEqual(config.get(("b", ), "e"), "foo")