def _list_op_test(self, initial_value, op_func, test_name):
        """
        Tests a list operation

        Ensures that performing an operation on:
            - a python list
            - a java.util.List instance

        gives the same result in both cases
        """
        lists = [list(initial_value), ArrayList(initial_value), Vector(initial_value)]
        list_type_names = ['list', 'ArrayList', 'Vector']

        results = [self._perform_op(l, op_func) for l in lists]
        self.check_list(lists[0], lists[1:], list_type_names[1:], initial_value, test_name)
        if not isinstance(results[0], list):
            for r,n in zip(results[1:], list_type_names[1:]):
                self.assertEquals(results[0], r, (test_name,n) % '%s: result for list does not match result for java type %s' )
        else:
            self.check_list(results[0], results[1:], list_type_names[1:], initial_value, test_name)
dataset/ETHPy150Open azoft-dev-team/imagrium/env/Lib/test/test_java_list_delegate.py/CollectionProxyTest._list_op_test/swapped operands of `%`