def check_lists_equal()

in shims/qpid-proton-python/src/amqp_complex_types_test/Receiver.py [0:0]


    def check_lists_equal(list1, list2):
        """Check two Proton lists are equal"""
        # Check params are lists
        if not isinstance(list1, list) or not isinstance(list2, list):
            return False
        # Check list sizes equal
        if len(list1) != len(list2):
            return False
        # Check each element is the same type and value
        for elt1, elt2 in zip(list1, list2):
            #pylint: disable=unidiomatic-typecheck
            if type(elt1) != type(elt2):
                return False
            if isinstance(elt1, proton.Array):
                if not AmqpComplexTypesTestReceiver.check_arrays_equal(elt1, elt2):
                    return False
            elif isinstance(elt1, list):
                if not AmqpComplexTypesTestReceiver.check_lists_equal(elt1, elt2):
                    return False
            elif isinstance(elt1, dict):
                if not AmqpComplexTypesTestReceiver.check_maps_equal(elt1, elt2):
                    return False
            else:
                if not AmqpComplexTypesTestReceiver.check_simple_values_equal(elt1, elt2):
                    return False
        return True