def test_equal_items_ordered(self): if PY2: with ShouldRaise(TypeError('order undefined on Python 2')): MappingComparison(b=3, a=1, ordered=True) else: m = MappingComparison(b=3, a=1, ordered=True) assert m == {'b': 3, 'a': 1}
def test_equal_ordered_and_dict_supplied(self): if PY2: with ShouldRaise(TypeError('dict order undefined on Python 2')): MappingComparison({'b': 3, 'a': 1}, ordered=True) else: m = MappingComparison({'b': 3, 'a': 1}, ordered=True) assert m == {'b': 3, 'a': 1}
def test_repr_long(self): m = MappingComparison({1: 'a', 2: 'b' * 60}) compare( repr(m)[:65], expected= "\n<MappingComparison(ordered=False, partial=False)>\n1: 'a',\n2: 'bb" )
def test_unequal_partial_ordered_some_ignored(self): m = MappingComparison((('b', 3), ('c', 1), ('a', 1)), partial=True, ordered=True) assert m != OrderedDict(( ('b', 3), ('d', 4), ('a', 1), ('c', 1), )) check_repr(m, expected=''' <MappingComparison(ordered=True, partial=True)(failed)> ignored: ['d'] wrong key order: same: ['b'] expected: ['c', 'a'] actual: ['a', 'c'] </MappingComparison(ordered=True, partial=True)> ''')
def test_unequal_order_recursive(self): m = MappingComparison(((('b', 'x'), 3), (('b', 'y'), 1)), ordered=True, recursive=True) assert m != OrderedDict(((('b', 'y'), 1), (('b', 'x'), 3))) check_repr(m, expected=''' <MappingComparison(ordered=True, partial=False)(failed)> wrong key order: same: [] expected: [('b', 'x'), ('b', 'y')] actual: [('b', 'y'), ('b', 'x')] While comparing [0]: sequence not as expected: same: ('b',) expected: ('x',) actual: ('y',) While comparing [0][1]: 'x' (expected) != 'y' (actual) </MappingComparison(ordered=True, partial=False)> ''')
def test_everything_wrong(self): m = MappingComparison((('a', 1), ('b', 2), ('c', 3)), ordered=True, partial=True, recursive=True) assert m != OrderedDict((('b', 2), ('a', 1), ('d', 4))) check_repr(m, expected=''' <MappingComparison(ordered=True, partial=True)(failed)> ignored: ['d'] same: ['a', 'b'] in expected but not actual: 'c': 3 wrong key order: same: [] expected: ['a', 'b', 'c'] actual: ['b', 'a'] While comparing [0]: 'a' (expected) != 'b' (actual) </MappingComparison(ordered=True, partial=True)> ''')
def test_partial_nothing_specified_wrong_type(self): m = MappingComparison(partial=True) assert m != [] check_repr( m, '<MappingComparison(ordered=False, partial=True)(failed)>bad type</>' )
def test_unequal_wrong_type(self): m = MappingComparison({'a': 1}) assert m != [] compare( repr(m), expected= "<MappingComparison(ordered=False, partial=False)(failed)>bad type</>" )
def test_unequal_partial_values_wrong(self): m = MappingComparison({'a': 1, 'b': 2}, partial=True) assert m != {'a': 1, 'b': 3} check_repr(m, expected=''' <MappingComparison(ordered=False, partial=True)(failed)> same: ['a'] values differ: 'b': 2 (expected) != 3 (actual) </MappingComparison(ordered=False, partial=True)> ''')
def test_unequal_partial_keys_missing(self): m = MappingComparison({'a': 1, 'b': 2}, partial=True) assert m != {'a': 1} check_repr(m, expected=''' <MappingComparison(ordered=False, partial=True)(failed)> same: ['a'] in expected but not actual: 'b': 2 </MappingComparison(ordered=False, partial=True)> ''')
def test_unequal_not_partial(self): m = MappingComparison({'a': 1, 'b': 2}) assert m != {'a': 1, 'b': 2, 'c': 3} check_repr(m, expected=''' <MappingComparison(ordered=False, partial=False)(failed)> same: ['a', 'b'] in actual but not expected: 'c': 3 </MappingComparison(ordered=False, partial=False)> ''')
def test_unequal_order(self): m = MappingComparison((('b', 3), ('a', 1)), ordered=True) assert m != OrderedDict((('a', 1), ('b', 3))) check_repr(m, expected=''' <MappingComparison(ordered=True, partial=False)(failed)> wrong key order: same: [] expected: ['b', 'a'] actual: ['a', 'b'] </MappingComparison(ordered=True, partial=False)> ''')
def test_unequal_recursive(self): m = MappingComparison({'a': 1, 'b': {'c': 2}}, recursive=True) assert m != {'a': 1, 'b': {'c': 3}} check_repr(m, expected=''' <MappingComparison(ordered=False, partial=False)(failed)> same: ['a'] values differ: 'b': {'c': 2} (expected) != {'c': 3} (actual) While comparing ['b']: dict not as expected: values differ: 'c': 2 (expected) != 3 (actual) </MappingComparison(ordered=False, partial=False)> ''')
def test_unequal_keys_and_values(self): m = MappingComparison({'a': 1, 'b': 2, 'c': 3}) assert m != {'a': 1, 'c': 4, 'd': 5} check_repr(m, expected=''' <MappingComparison(ordered=False, partial=False)(failed)> same: ['a'] in expected but not actual: 'b': 2 in actual but not expected: 'd': 5 values differ: 'c': 3 (expected) != 4 (actual) </MappingComparison(ordered=False, partial=False)> ''')
def test_unequal_order_wrong_py3(self): if PY3: m = MappingComparison(b=3, a=1, ordered=True) assert m != {'a': 1, 'b': 3} check_repr(m, expected=''' <MappingComparison(ordered=True, partial=False)(failed)> wrong key order: same: [] expected: ['b', 'a'] actual: ['a', 'b'] </MappingComparison(ordered=True, partial=False)> ''')
def test_equal_partial_ordered(self): m = MappingComparison((('a', 1), ('b', 3)), ordered=True, partial=True) assert m == OrderedDict((('a', 1), ('c', 2), ('b', 3)))
def test_equal_partial(self): m = MappingComparison({'a': 1}, partial=True) assert m == {'a': 1, 'b': 2}
def test_equal_ordered_dict_ordered_dict_expected(self): m = MappingComparison(OrderedDict((('a', 1), ('b', 3))), ordered=True) assert m == OrderedDict((('a', 1), ('b', 3)))
def test_repr_ordered(self): m = MappingComparison((('b', 3), ('a', 1)), ordered=True) check_repr( m, "<MappingComparison(ordered=True, partial=False)>'b': 3, 'a': 1</>" )
def test_equal_both(self): m = MappingComparison({'a': 1, 'b': 2}, b=3) assert m == {'a': 1, 'b': 3}
def test_equal_items(self): m = MappingComparison(a=1) assert m == {'a': 1}
def test_equal_sequence(self): m = MappingComparison(('a', 1), ('b', 2)) assert m == {'a': 1, 'b': 2}
def test_equal_mapping(self): m = MappingComparison({'a': 1}) assert m == {'a': 1}
def test_repr_after_equal(self): m = MappingComparison({'a': 1}) assert m == {'a': 1} check_repr( m, "<MappingComparison(ordered=False, partial=False)>'a': 1</>")
def test_repr(self): m = MappingComparison({'a': 1}, b=2) check_repr( m, "<MappingComparison(ordered=False, partial=False)>'a': 1, 'b': 2</>" )
def test_partial_nothing_specified(self): m = MappingComparison(partial=True) assert m == {}