123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138 |
- 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))
|