def test_rank_should_fail_wrong_expectation_structure(self): with self.assertRaisesRegex( # pylint: disable=g-error-prone-assert-raises ValueError, 'Expected ranks should be integers or sets of integers'): asserts.assert_rank(rank_array(2), [[1, 2]]) # pytype: disable=wrong-arg-types with self.assertRaisesRegex( # pylint: disable=g-error-prone-assert-raises ValueError, 'Expected ranks should be integers or sets of integers'): asserts.assert_rank([rank_array(1), rank_array(2)], [[1], [2]]) # pytype: disable=wrong-arg-types
def test_rank_should_pass_multiple_options(self, arrays, ranks): arrays = as_arrays(arrays) asserts.assert_rank(arrays, ranks)
def test_rank_should_pass_repeated_input(self, array, rank): arrays = as_arrays([array] * 3) asserts.assert_rank(arrays, rank)
def test_rank_should_pass_single_input(self, array, rank): array = np.asarray(array) asserts.assert_rank(array, rank)
def test_rank_should_fail_wrong_length(self, array, rank): array = np.asarray(array) with self.assertRaisesRegex( AssertionError, 'Length of inputs and expected_ranks must match.'): asserts.assert_rank(array, rank)
def test_assert_rank_should_fail_sequence(self, arrays, ranks): arrays = as_arrays(arrays) with self.assertRaisesRegex(AssertionError, 'input .+ has rank .+ but expected .+'): asserts.assert_rank(arrays, ranks)
def test_rank_should_fail_single(self, array, rank): array = np.asarray(array) with self.assertRaisesRegex(AssertionError, 'input .+ has rank .+ but expected .+'): asserts.assert_rank(array, rank)
def test_rank_should_fail_array_expectations(self): with self.assertRaisesRegex( # pylint: disable=g-error-prone-assert-raises ValueError, 'expected ranks should be a collection of integers but was an array'): asserts.assert_rank(rank_array(2), np.array([2]))