Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 74d1a5d

Browse files
committed
fixes and tests DotDict equality #4956
Signed-off-by: René <[email protected]>
1 parent ac7c7de commit 74d1a5d

File tree

2 files changed

+16
-7
lines changed

2 files changed

+16
-7
lines changed

src/robot/utils/dotdict.py

+3
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,9 @@ def __delattr__(self, key):
6060
def __eq__(self, other):
6161
return dict.__eq__(self, other)
6262

63+
def __ne__(self, other):
64+
return not self == other
65+
6366
def __str__(self):
6467
return '{%s}' % ', '.join('%r: %r' % (key, self[key]) for key in self)
6568

utest/utils/test_dotdict.py

+13-7
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
from collections import OrderedDict
33

44
from robot.utils import DotDict
5-
from robot.utils.asserts import (assert_equal, assert_false, assert_not_equal,
5+
from robot.utils.asserts import (assert_equal, assert_false,
66
assert_raises, assert_true)
77

88

@@ -34,7 +34,8 @@ def test_equality(self):
3434
assert_true(self.dd != DotDict())
3535

3636
def test_equality_with_normal_dict(self):
37-
assert_equal(self.dd, {'z': 1, 2: 'y', 'x': 3})
37+
assert_true(self.dd == {'z': 1, 2: 'y', 'x': 3})
38+
assert_false(self.dd != {'z': 1, 2: 'y', 'x': 3})
3839

3940
def test_hash(self):
4041
assert_raises(TypeError, hash, self.dd)
@@ -79,12 +80,17 @@ def test_order_does_not_affect_equality(self):
7980
dd1 = DotDict(sorted(d.items()))
8081
dd2 = DotDict(reversed(list(dd1.items())))
8182
for d1, d2 in [(dd1, dd2), (dd1, d), (dd2, d), (dd1, od1), (dd2, od2)]:
82-
assert_equal(d1, d2)
83-
assert_equal(d2, d1)
83+
assert_true(d1 == d2)
84+
assert_false(d1 != d2)
85+
assert_true(d2 == d1)
86+
assert_false(d2 != d1)
8487
for d1, d2 in [(dd1, od2), (dd2, od1)]:
85-
assert_equal(d1, d2)
86-
assert_equal(d2, d1)
87-
assert_not_equal(od1, od2)
88+
assert_true(d1 == d2)
89+
assert_false(d1 != d2)
90+
assert_true(d2 == d1)
91+
assert_false(d2 != d1)
92+
assert_false(od1 == od2)
93+
assert_true(od1 != od2)
8894

8995

9096
class TestNestedDotDict(unittest.TestCase):

0 commit comments

Comments
 (0)