Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Add tests for assertContains for the generic Arrays class
- Loading branch information
1 parent
e8c99c3
commit 3cca6bf
Showing
20 changed files
with
289 additions
and
1,051 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
154 changes: 154 additions & 0 deletions
154
src/test/java/org/assertj/core/internal/Arrays_assertContains_Test.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Original file line | Diff line number | Diff line change |
---|---|---|---|
@@ -0,0 +1,154 @@ | |||
/** | |||
* Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with | |||
* the License. You may obtain a copy of the License at | |||
* | |||
* http://www.apache.org/licenses/LICENSE-2.0 | |||
* | |||
* Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on | |||
* an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the | |||
* specific language governing permissions and limitations under the License. | |||
* | |||
* Copyright 2012-2017 the original author or authors. | |||
*/ | |||
package org.assertj.core.internal; | |||
|
|||
import static org.assertj.core.error.ShouldContain.shouldContain; | |||
import static org.assertj.core.internal.ErrorMessages.valuesToLookForIsNull; | |||
import static org.assertj.core.test.IntArrays.emptyArray; | |||
import static org.assertj.core.test.TestData.someInfo; | |||
import static org.assertj.core.test.TestFailures.failBecauseExpectedAssertionErrorWasNotThrown; | |||
import static org.assertj.core.util.Arrays.array; | |||
import static org.assertj.core.util.FailureMessages.actualIsNull; | |||
import static org.assertj.core.util.Sets.newLinkedHashSet; | |||
import static org.mockito.Mockito.verify; | |||
|
|||
import org.assertj.core.api.AssertionInfo; | |||
import org.junit.Test; | |||
|
|||
public class Arrays_assertContains_Test extends BaseArraysTest { | |||
|
|||
@Test | |||
public void should_pass_if_actual_contains_given_values() { | |||
arrays.assertContains(someInfo(), failures, actual, array("Luke")); | |||
} | |||
|
|||
@Test | |||
public void should_pass_if_actual_contains_given_values_in_different_order() { | |||
arrays.assertContains(someInfo(), failures, actual, array("Leia", "Yoda")); | |||
} | |||
|
|||
@Test | |||
public void should_pass_if_actual_contains_all_given_values() { | |||
arrays.assertContains(someInfo(), failures, actual, array("Luke", "Yoda", "Leia")); | |||
} | |||
|
|||
@Test | |||
public void should_pass_if_actual_contains_given_values_more_than_once() { | |||
actual = array("Luke", "Yoda", "Leia", "Luke", "Luke"); | |||
arrays.assertContains(someInfo(), failures, actual, array("Luke")); | |||
} | |||
|
|||
@Test | |||
public void should_pass_if_actual_contains_given_values_even_if_duplicated() { | |||
arrays.assertContains(someInfo(), failures, actual, array("Luke", "Luke")); | |||
} | |||
|
|||
@Test | |||
public void should_pass_if_actual_and_given_values_are_empty() { | |||
actual = new String[0]; | |||
arrays.assertContains(someInfo(), failures, actual, array()); | |||
} | |||
|
|||
@Test | |||
public void should_fail_if_array_of_values_to_look_for_is_empty_and_actual_is_not() { | |||
thrown.expectAssertionError(); | |||
arrays.assertContains(someInfo(), failures, actual, emptyArray()); | |||
} | |||
|
|||
@Test | |||
public void should_throw_error_if_array_of_values_to_look_for_is_null() { | |||
thrown.expectNullPointerException(valuesToLookForIsNull()); | |||
arrays.assertContains(someInfo(), failures, actual, null); | |||
} | |||
|
|||
@Test | |||
public void should_fail_if_actual_is_null() { | |||
thrown.expectAssertionError(actualIsNull()); | |||
arrays.assertContains(someInfo(), failures, null, array("Yoda")); | |||
} | |||
|
|||
@Test | |||
public void should_fail_if_actual_does_not_contain_values() { | |||
AssertionInfo info = someInfo(); | |||
Object[] expected = { "Leia", "Yoda", "John" }; | |||
try { | |||
arrays.assertContains(info, failures, actual, expected); | |||
} catch (AssertionError e) { | |||
verify(failures).failure(info, shouldContain(actual, expected, newLinkedHashSet("John"))); | |||
return; | |||
} | |||
failBecauseExpectedAssertionErrorWasNotThrown(); | |||
} | |||
|
|||
// ------------------------------------------------------------------------------------------------------------------ | |||
// tests using a custom comparison strategy | |||
// ------------------------------------------------------------------------------------------------------------------ | |||
|
|||
@Test | |||
public void should_pass_if_actual_contains_given_values_according_to_custom_comparison_strategy() { | |||
arraysWithCustomComparisonStrategy.assertContains(someInfo(), failures, actual, array("LUKE")); | |||
} | |||
|
|||
@Test | |||
public void should_pass_if_actual_contains_given_values_in_different_order_according_to_custom_comparison_strategy() { | |||
arraysWithCustomComparisonStrategy.assertContains(someInfo(), failures, actual, array("LEIA", "yODa")); | |||
} | |||
|
|||
@Test | |||
public void should_pass_if_actual_contains_all_given_values_according_to_custom_comparison_strategy() { | |||
arraysWithCustomComparisonStrategy.assertContains(someInfo(), failures, actual, array("luke", "YODA", "leia")); | |||
} | |||
|
|||
@Test | |||
public void should_pass_if_actual_contains_given_values_more_than_once_according_to_custom_comparison_strategy() { | |||
actual = array("Luke", "Yoda", "Leia", "Luke", "Luke"); | |||
arraysWithCustomComparisonStrategy.assertContains(someInfo(), failures, actual, array("LUke")); | |||
} | |||
|
|||
@Test | |||
public void should_pass_if_actual_contains_given_values_even_if_duplicated_according_to_custom_comparison_strategy() { | |||
arraysWithCustomComparisonStrategy.assertContains(someInfo(), failures, actual, array("LUke", "LuKe")); | |||
} | |||
|
|||
@Test | |||
public void should_fail_if_array_of_values_to_look_for_is_empty_and_actual_is_not_whatever_custom_comparison_strategy_is() { | |||
thrown.expectAssertionError(); | |||
arraysWithCustomComparisonStrategy.assertContains(someInfo(), failures, actual, emptyArray()); | |||
} | |||
|
|||
@Test | |||
public void should_throw_error_if_array_of_values_to_look_for_is_null_whatever_custom_comparison_strategy_is() { | |||
thrown.expectNullPointerException(valuesToLookForIsNull()); | |||
arraysWithCustomComparisonStrategy.assertContains(someInfo(), failures, actual, null); | |||
} | |||
|
|||
@Test | |||
public void should_fail_if_actual_is_null_whatever_custom_comparison_strategy_is() { | |||
thrown.expectAssertionError(actualIsNull()); | |||
arraysWithCustomComparisonStrategy.assertContains(someInfo(), failures, null, array("LUke")); | |||
} | |||
|
|||
@Test | |||
public void should_fail_if_actual_does_not_contain_values_according_to_custom_comparison_strategy() { | |||
AssertionInfo info = someInfo(); | |||
Object[] expected = { "LeiA", "YODA", "JOhN" }; | |||
try { | |||
arraysWithCustomComparisonStrategy.assertContains(info, failures, actual, expected); | |||
} catch (AssertionError e) { | |||
verify(failures).failure(info, shouldContain(actual, expected, newLinkedHashSet("JOhN"), | |||
caseInsensitiveStringComparisonStrategy)); | |||
return; | |||
} | |||
failBecauseExpectedAssertionErrorWasNotThrown(); | |||
} | |||
} |
Oops, something went wrong.