def test_non_matching_messages(self):

        message = {'id': ('a', 'b', 'c'),
                   'signing_severity': 'low',
                   'context': ('x', 'y', 'z'),
                   'context_data': {'function': 'foo_bar'},
                   'file': 'foo.js'}

        self.compare(message, {'id': ('d', 'e', 'f')}, {})
        self.compare(message, {'signing_severity': 'high'}, {})
        self.compare(message, {'context': ('a', 'b', 'c')}, {})
        self.compare(message, {'context_data': {}}, {})
        self.compare(message, {'file': 'these-are-not-the-droids.js'}, {})

        # No context in the old message.
        msg = merge_dicts(message, {'context': None})
        self.compare(msg, {'context': ('a', 'b', 'c')}, {})
        self.compare(msg, {'context': None}, {})
        del msg['context']
        self.compare(msg, {'context': ('a', 'b', 'c')}, {})
        self.compare(msg, {'context': None}, {})

        # No signing severity in the old message.
        msg = merge_dicts(message, {'signing_severity': None})
        self.compare(msg, {'signing_severity': 'low'}, {})
        del msg['signing_severity']
        self.compare(msg, {'signing_severity': 'low'}, {})

        # Token non-signing message.
        self.compare({'id': ('a', 'b', 'c'),
                      'context': ('x', 'y', 'z'),
                      'file': 'foo.js'},
                     {'id': ()}, {})
Form the union of two Index objects and sorts if possible
dataset/ETHPy150Open mozilla/addons-server/src/olympia/devhub/tests/test_utils.py/TestValidationComparator.test_non_matching_messages--crossover with--dataset/ETHPy150Open pydata/pandas/pandas/indexes/range.py/RangeIndex.union