aboutsummaryrefslogtreecommitdiff
path: root/.venv/lib/python3.12/site-packages/jsonschema/tests/test_utils.py
diff options
context:
space:
mode:
Diffstat (limited to '.venv/lib/python3.12/site-packages/jsonschema/tests/test_utils.py')
-rw-r--r--.venv/lib/python3.12/site-packages/jsonschema/tests/test_utils.py138
1 files changed, 138 insertions, 0 deletions
diff --git a/.venv/lib/python3.12/site-packages/jsonschema/tests/test_utils.py b/.venv/lib/python3.12/site-packages/jsonschema/tests/test_utils.py
new file mode 100644
index 00000000..d9764b0f
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/jsonschema/tests/test_utils.py
@@ -0,0 +1,138 @@
+from math import nan
+from unittest import TestCase
+
+from jsonschema._utils import equal
+
+
+class TestEqual(TestCase):
+ def test_none(self):
+ self.assertTrue(equal(None, None))
+
+ def test_nan(self):
+ self.assertTrue(equal(nan, nan))
+
+
+class TestDictEqual(TestCase):
+ def test_equal_dictionaries(self):
+ dict_1 = {"a": "b", "c": "d"}
+ dict_2 = {"c": "d", "a": "b"}
+ self.assertTrue(equal(dict_1, dict_2))
+
+ def test_equal_dictionaries_with_nan(self):
+ dict_1 = {"a": nan, "c": "d"}
+ dict_2 = {"c": "d", "a": nan}
+ self.assertTrue(equal(dict_1, dict_2))
+
+ def test_missing_key(self):
+ dict_1 = {"a": "b", "c": "d"}
+ dict_2 = {"c": "d", "x": "b"}
+ self.assertFalse(equal(dict_1, dict_2))
+
+ def test_additional_key(self):
+ dict_1 = {"a": "b", "c": "d"}
+ dict_2 = {"c": "d", "a": "b", "x": "x"}
+ self.assertFalse(equal(dict_1, dict_2))
+
+ def test_missing_value(self):
+ dict_1 = {"a": "b", "c": "d"}
+ dict_2 = {"c": "d", "a": "x"}
+ self.assertFalse(equal(dict_1, dict_2))
+
+ def test_empty_dictionaries(self):
+ dict_1 = {}
+ dict_2 = {}
+ self.assertTrue(equal(dict_1, dict_2))
+
+ def test_one_none(self):
+ dict_1 = None
+ dict_2 = {"a": "b", "c": "d"}
+ self.assertFalse(equal(dict_1, dict_2))
+
+ def test_same_item(self):
+ dict_1 = {"a": "b", "c": "d"}
+ self.assertTrue(equal(dict_1, dict_1))
+
+ def test_nested_equal(self):
+ dict_1 = {"a": {"a": "b", "c": "d"}, "c": "d"}
+ dict_2 = {"c": "d", "a": {"a": "b", "c": "d"}}
+ self.assertTrue(equal(dict_1, dict_2))
+
+ def test_nested_dict_unequal(self):
+ dict_1 = {"a": {"a": "b", "c": "d"}, "c": "d"}
+ dict_2 = {"c": "d", "a": {"a": "b", "c": "x"}}
+ self.assertFalse(equal(dict_1, dict_2))
+
+ def test_mixed_nested_equal(self):
+ dict_1 = {"a": ["a", "b", "c", "d"], "c": "d"}
+ dict_2 = {"c": "d", "a": ["a", "b", "c", "d"]}
+ self.assertTrue(equal(dict_1, dict_2))
+
+ def test_nested_list_unequal(self):
+ dict_1 = {"a": ["a", "b", "c", "d"], "c": "d"}
+ dict_2 = {"c": "d", "a": ["b", "c", "d", "a"]}
+ self.assertFalse(equal(dict_1, dict_2))
+
+
+class TestListEqual(TestCase):
+ def test_equal_lists(self):
+ list_1 = ["a", "b", "c"]
+ list_2 = ["a", "b", "c"]
+ self.assertTrue(equal(list_1, list_2))
+
+ def test_equal_lists_with_nan(self):
+ list_1 = ["a", nan, "c"]
+ list_2 = ["a", nan, "c"]
+ self.assertTrue(equal(list_1, list_2))
+
+ def test_unsorted_lists(self):
+ list_1 = ["a", "b", "c"]
+ list_2 = ["b", "b", "a"]
+ self.assertFalse(equal(list_1, list_2))
+
+ def test_first_list_larger(self):
+ list_1 = ["a", "b", "c"]
+ list_2 = ["a", "b"]
+ self.assertFalse(equal(list_1, list_2))
+
+ def test_second_list_larger(self):
+ list_1 = ["a", "b"]
+ list_2 = ["a", "b", "c"]
+ self.assertFalse(equal(list_1, list_2))
+
+ def test_list_with_none_unequal(self):
+ list_1 = ["a", "b", None]
+ list_2 = ["a", "b", "c"]
+ self.assertFalse(equal(list_1, list_2))
+
+ list_1 = ["a", "b", None]
+ list_2 = [None, "b", "c"]
+ self.assertFalse(equal(list_1, list_2))
+
+ def test_list_with_none_equal(self):
+ list_1 = ["a", None, "c"]
+ list_2 = ["a", None, "c"]
+ self.assertTrue(equal(list_1, list_2))
+
+ def test_empty_list(self):
+ list_1 = []
+ list_2 = []
+ self.assertTrue(equal(list_1, list_2))
+
+ def test_one_none(self):
+ list_1 = None
+ list_2 = []
+ self.assertFalse(equal(list_1, list_2))
+
+ def test_same_list(self):
+ list_1 = ["a", "b", "c"]
+ self.assertTrue(equal(list_1, list_1))
+
+ def test_equal_nested_lists(self):
+ list_1 = ["a", ["b", "c"], "d"]
+ list_2 = ["a", ["b", "c"], "d"]
+ self.assertTrue(equal(list_1, list_2))
+
+ def test_unequal_nested_lists(self):
+ list_1 = ["a", ["b", "c"], "d"]
+ list_2 = ["a", [], "c"]
+ self.assertFalse(equal(list_1, list_2))