def test_ndarray_and_duck_array(self): class Other(object): __array_function__ = _return_not_implemented array = np.array(1) other = Other() types, args = get_overloaded_types_and_args([other, array]) assert_equal(set(types), {np.ndarray, Other}) assert_equal(list(args), [other]) types, args = get_overloaded_types_and_args([array, other]) assert_equal(set(types), {np.ndarray, Other}) assert_equal(list(args), [other])
def test_ndarray_and_duck_array(self): class Other(object): __array_function__ = _return_self array = np.array(1) other = Other() types, args = get_overloaded_types_and_args([other, array]) assert_equal(set(types), {np.ndarray, Other}) assert_equal(list(args), [other]) types, args = get_overloaded_types_and_args([array, other]) assert_equal(set(types), {np.ndarray, Other}) assert_equal(list(args), [other])
def test_ndarray(self): array = np.array(1) types, args = get_overloaded_types_and_args([array]) assert_equal(set(types), {np.ndarray}) assert_equal(list(args), []) types, args = get_overloaded_types_and_args([array, array]) assert_equal(len(types), 1) assert_equal(set(types), {np.ndarray}) assert_equal(list(args), []) types, args = get_overloaded_types_and_args([array, 1]) assert_equal(set(types), {np.ndarray}) assert_equal(list(args), []) types, args = get_overloaded_types_and_args([1, array]) assert_equal(set(types), {np.ndarray}) assert_equal(list(args), [])
def test_ndarray(self): array = np.array(1) types, args = get_overloaded_types_and_args([array]) assert_equal(set(types), {np.ndarray}) assert_equal(list(args), []) types, args = get_overloaded_types_and_args([array, array]) assert_equal(len(types), 1) assert_equal(set(types), {np.ndarray}) assert_equal(list(args), []) types, args = get_overloaded_types_and_args([array, 1]) assert_equal(set(types), {np.ndarray}) assert_equal(list(args), []) types, args = get_overloaded_types_and_args([1, array]) assert_equal(set(types), {np.ndarray}) assert_equal(list(args), [])
def test_ndarray_subclasses(self): class OverrideSub(np.ndarray): __array_function__ = _return_not_implemented class NoOverrideSub(np.ndarray): pass array = np.array(1).view(np.ndarray) override_sub = np.array(1).view(OverrideSub) no_override_sub = np.array(1).view(NoOverrideSub) types, args = get_overloaded_types_and_args([array, override_sub]) assert_equal(set(types), {np.ndarray, OverrideSub}) assert_equal(list(args), [override_sub]) types, args = get_overloaded_types_and_args([array, no_override_sub]) assert_equal(set(types), {np.ndarray, NoOverrideSub}) assert_equal(list(args), []) types, args = get_overloaded_types_and_args( [override_sub, no_override_sub]) assert_equal(set(types), {OverrideSub, NoOverrideSub}) assert_equal(list(args), [override_sub])
def test_ndarray_subclasses(self): class OverrideSub(np.ndarray): __array_function__ = _return_self class NoOverrideSub(np.ndarray): pass array = np.array(1).view(np.ndarray) override_sub = np.array(1).view(OverrideSub) no_override_sub = np.array(1).view(NoOverrideSub) types, args = get_overloaded_types_and_args([array, override_sub]) assert_equal(set(types), {np.ndarray, OverrideSub}) assert_equal(list(args), [override_sub]) types, args = get_overloaded_types_and_args([array, no_override_sub]) assert_equal(set(types), {np.ndarray, NoOverrideSub}) assert_equal(list(args), []) types, args = get_overloaded_types_and_args( [override_sub, no_override_sub]) assert_equal(set(types), {OverrideSub, NoOverrideSub}) assert_equal(list(args), [override_sub])
def _get_overloaded_args(relevant_args): types, args = get_overloaded_types_and_args(relevant_args) return args
def _get_overloaded_args(relevant_args): types, args = get_overloaded_types_and_args(relevant_args) return args