codekingpro/portable-devtools
114k
1from math import nan2from unittest import TestCase3 4from jsonschema._utils import equal5 6 7class TestEqual(TestCase):8 def test_none(self):9 self.assertTrue(equal(None, None))10 11 def test_nan(self):12 self.assertTrue(equal(nan, nan))13 14 15class TestDictEqual(TestCase):16 def test_equal_dictionaries(self):17 dict_1 = {"a": "b", "c": "d"}18 dict_2 = {"c": "d", "a": "b"}19 self.assertTrue(equal(dict_1, dict_2))20 21 def test_equal_dictionaries_with_nan(self):22 dict_1 = {"a": nan, "c": "d"}23 dict_2 = {"c": "d", "a": nan}24 self.assertTrue(equal(dict_1, dict_2))25 26 def test_missing_key(self):27 dict_1 = {"a": "b", "c": "d"}28 dict_2 = {"c": "d", "x": "b"}29 self.assertFalse(equal(dict_1, dict_2))30 31 def test_additional_key(self):32 dict_1 = {"a": "b", "c": "d"}33 dict_2 = {"c": "d", "a": "b", "x": "x"}34 self.assertFalse(equal(dict_1, dict_2))35 36 def test_missing_value(self):37 dict_1 = {"a": "b", "c": "d"}38 dict_2 = {"c": "d", "a": "x"}39 self.assertFalse(equal(dict_1, dict_2))40 41 def test_empty_dictionaries(self):42 dict_1 = {}43 dict_2 = {}44 self.assertTrue(equal(dict_1, dict_2))45 46 def test_one_none(self):47 dict_1 = None48 dict_2 = {"a": "b", "c": "d"}49 self.assertFalse(equal(dict_1, dict_2))50 51 def test_same_item(self):52 dict_1 = {"a": "b", "c": "d"}53 self.assertTrue(equal(dict_1, dict_1))54 55 def test_nested_equal(self):56 dict_1 = {"a": {"a": "b", "c": "d"}, "c": "d"}57 dict_2 = {"c": "d", "a": {"a": "b", "c": "d"}}58 self.assertTrue(equal(dict_1, dict_2))59 60 def test_nested_dict_unequal(self):61 dict_1 = {"a": {"a": "b", "c": "d"}, "c": "d"}62 dict_2 = {"c": "d", "a": {"a": "b", "c": "x"}}63 self.assertFalse(equal(dict_1, dict_2))64 65 def test_mixed_nested_equal(self):66 dict_1 = {"a": ["a", "b", "c", "d"], "c": "d"}67 dict_2 = {"c": "d", "a": ["a", "b", "c", "d"]}68 self.assertTrue(equal(dict_1, dict_2))69 70 def test_nested_list_unequal(self):71 dict_1 = {"a": ["a", "b", "c", "d"], "c": "d"}72 dict_2 = {"c": "d", "a": ["b", "c", "d", "a"]}73 self.assertFalse(equal(dict_1, dict_2))74 75 76class TestListEqual(TestCase):77 def test_equal_lists(self):78 list_1 = ["a", "b", "c"]79 list_2 = ["a", "b", "c"]80 self.assertTrue(equal(list_1, list_2))81 82 def test_equal_lists_with_nan(self):83 list_1 = ["a", nan, "c"]84 list_2 = ["a", nan, "c"]85 self.assertTrue(equal(list_1, list_2))86 87 def test_unsorted_lists(self):88 list_1 = ["a", "b", "c"]89 list_2 = ["b", "b", "a"]90 self.assertFalse(equal(list_1, list_2))91 92 def test_first_list_larger(self):93 list_1 = ["a", "b", "c"]94 list_2 = ["a", "b"]95 self.assertFalse(equal(list_1, list_2))96 97 def test_second_list_larger(self):98 list_1 = ["a", "b"]99 list_2 = ["a", "b", "c"]100 self.assertFalse(equal(list_1, list_2))101 102 def test_list_with_none_unequal(self):103 list_1 = ["a", "b", None]104 list_2 = ["a", "b", "c"]105 self.assertFalse(equal(list_1, list_2))106 107 list_1 = ["a", "b", None]108 list_2 = [None, "b", "c"]109 self.assertFalse(equal(list_1, list_2))110 111 def test_list_with_none_equal(self):112 list_1 = ["a", None, "c"]113 list_2 = ["a", None, "c"]114 self.assertTrue(equal(list_1, list_2))115 116 def test_empty_list(self):117 list_1 = []118 list_2 = []119 self.assertTrue(equal(list_1, list_2))120 121 def test_one_none(self):122 list_1 = None123 list_2 = []124 self.assertFalse(equal(list_1, list_2))125 126 def test_same_list(self):127 list_1 = ["a", "b", "c"]128 self.assertTrue(equal(list_1, list_1))129 130 def test_equal_nested_lists(self):131 list_1 = ["a", ["b", "c"], "d"]132 list_2 = ["a", ["b", "c"], "d"]133 self.assertTrue(equal(list_1, list_2))134 135 def test_unequal_nested_lists(self):136 list_1 = ["a", ["b", "c"], "d"]137 list_2 = ["a", [], "c"]138 self.assertFalse(equal(list_1, list_2))139 