Skip to content

Commit

Permalink
Refactoring and clean up code for new negative contains (sub)sequence…
Browse files Browse the repository at this point in the history
… assertions

Formatting gone wild
  • Loading branch information
joel-costigliola committed Apr 17, 2017
1 parent 1d1fe25 commit d02681a
Show file tree
Hide file tree
Showing 208 changed files with 634 additions and 556 deletions.
27 changes: 11 additions & 16 deletions pom.xml
@@ -1,5 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd ">
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd ">

<modelVersion>4.0.0</modelVersion>
<artifactId>assertj-core</artifactId>
Expand Down Expand Up @@ -51,17 +52,10 @@
<version>3.2.5</version>
<optional>true</optional>
</dependency>
<!--
NEEDED! Unlike File, a Path is not linked to the JRE's filesystem.
In order to accurately test assertions, we need a decent JSR 203 implementation
which lets us test our assertions. Right now, this is memoryfilesystem
(https://github.com/marschall/memoryfilesystem).
Another choice would be jimfs from Google (https://github.com/google/jimfs),
but its support for reading/writing file attributes is not as complete as that
of memoryfilesystem's.
-->
<!-- NEEDED! Unlike File, a Path is not linked to the JRE's filesystem. In order to accurately test assertions, we need
a decent JSR 203 implementation which lets us test our assertions. Right now, this is memoryfilesystem (https://github.com/marschall/memoryfilesystem).
Another choice would be jimfs from Google (https://github.com/google/jimfs), but its support for reading/writing file attributes
is not as complete as that of memoryfilesystem's. -->
<dependency>
<groupId>com.github.marschall</groupId>
<artifactId>memoryfilesystem</artifactId>
Expand Down Expand Up @@ -166,14 +160,14 @@
<exclude>**/*cglib*/**</exclude>
</excludes>
</configuration>
<!-- jacoco is executed in the prepare-package phase instead of the verify phase, it can not determine
code coverage of the unpacked shaded classes -->
<!-- jacoco is executed in the prepare-package phase instead of the verify phase, it can not determine code coverage
of the unpacked shaded classes -->
<executions>
<execution>
<id>jacoco-report</id>
<phase>prepare-package</phase>
<goals>
<goal>report</goal>
<goal>report</goal>
</goals>
</execution>
<execution>
Expand Down Expand Up @@ -227,7 +221,8 @@
</activation>
<properties>
<!-- allow tests to access private fields/methods of java.base classes via reflection -->
<argLine>--add-opens java.base/java.util=ALL-UNNAMED --add-opens java.base/java.io=ALL-UNNAMED --add-opens java.base/java.math=ALL-UNNAMED</argLine>
<argLine>--add-opens java.base/java.util=ALL-UNNAMED --add-opens java.base/java.io=ALL-UNNAMED --add-opens
java.base/java.math=ALL-UNNAMED</argLine>
</properties>
</profile>
</profiles>
Expand Down
30 changes: 18 additions & 12 deletions src/main/java/org/assertj/core/api/AbstractIterableAssert.java
Expand Up @@ -19,6 +19,8 @@
import static org.assertj.core.extractor.Extractors.extractedDescriptionOf;
import static org.assertj.core.extractor.Extractors.extractedDescriptionOfMethod;
import static org.assertj.core.extractor.Extractors.resultOf;
import static org.assertj.core.internal.CommonValidations.checkSequenceIsNotNull;
import static org.assertj.core.internal.CommonValidations.checkSubsequenceIsNotNull;
import static org.assertj.core.util.Arrays.isArray;
import static org.assertj.core.util.IterableUtil.toArray;
import static org.assertj.core.util.Lists.newArrayList;
Expand Down Expand Up @@ -251,8 +253,9 @@ public SELF containsSequence(@SuppressWarnings("unchecked") ELEMENT... sequence)
* {@inheritDoc}
*/
@Override
public SELF containsSequence(@SuppressWarnings("unchecked") List<ELEMENT> sequence) {
iterables.assertContainsSequence(info, actual, sequence.toArray());
public SELF containsSequence(Iterable<? extends ELEMENT> sequence) {
checkSequenceIsNotNull(sequence);
iterables.assertContainsSequence(info, actual, toArray(sequence));
return myself;
}

Expand All @@ -269,44 +272,47 @@ public SELF doesNotContainSequence(@SuppressWarnings("unchecked") ELEMENT... seq
* {@inheritDoc}
*/
@Override
public SELF doesNotContainSequence(@SuppressWarnings("unchecked") List<ELEMENT> sequence) {
iterables.assertDoesNotContainSequence(info, actual, sequence.toArray());
public SELF doesNotContainSequence(Iterable<? extends ELEMENT> sequence) {
checkSequenceIsNotNull(sequence);
iterables.assertDoesNotContainSequence(info, actual, toArray(sequence));
return myself;
}

/**
* {@inheritDoc}
*/
@Override
public SELF containsSubsequence(@SuppressWarnings("unchecked") ELEMENT... sequence) {
iterables.assertContainsSubsequence(info, actual, sequence);
public SELF containsSubsequence(@SuppressWarnings("unchecked") ELEMENT... subsequence) {
iterables.assertContainsSubsequence(info, actual, subsequence);
return myself;
}

/**
* {@inheritDoc}
*/
@Override
public SELF containsSubsequence(@SuppressWarnings("unchecked") List<ELEMENT> sequence) {
iterables.assertContainsSubsequence(info, actual, sequence.toArray());
public SELF containsSubsequence(Iterable<? extends ELEMENT> subsequence) {
checkSubsequenceIsNotNull(subsequence);
iterables.assertContainsSubsequence(info, actual, toArray(subsequence));
return myself;
}

/**
* {@inheritDoc}
*/
@Override
public SELF doesNotContainSubsequence(@SuppressWarnings("unchecked") ELEMENT... sequence) {
iterables.assertDoesNotContainSubsequence(info, actual, sequence);
public SELF doesNotContainSubsequence(@SuppressWarnings("unchecked") ELEMENT... subsequence) {
iterables.assertDoesNotContainSubsequence(info, actual, subsequence);
return myself;
}

/**
* {@inheritDoc}
*/
@Override
public SELF doesNotContainSubsequence(@SuppressWarnings("unchecked") List<ELEMENT> sequence) {
iterables.assertDoesNotContainSubsequence(info, actual, sequence.toArray());
public SELF doesNotContainSubsequence(Iterable<? extends ELEMENT> subsequence) {
checkSubsequenceIsNotNull(subsequence);
iterables.assertDoesNotContainSubsequence(info, actual, toArray(subsequence));
return myself;
}

Expand Down
22 changes: 14 additions & 8 deletions src/main/java/org/assertj/core/api/AbstractObjectArrayAssert.java
Expand Up @@ -18,6 +18,8 @@
import static org.assertj.core.extractor.Extractors.extractedDescriptionOf;
import static org.assertj.core.extractor.Extractors.extractedDescriptionOfMethod;
import static org.assertj.core.extractor.Extractors.resultOf;
import static org.assertj.core.internal.CommonValidations.checkSequenceIsNotNull;
import static org.assertj.core.internal.CommonValidations.checkSubsequenceIsNotNull;
import static org.assertj.core.util.Arrays.isArray;
import static org.assertj.core.util.IterableUtil.toArray;
import static org.assertj.core.util.Lists.newArrayList;
Expand Down Expand Up @@ -428,8 +430,9 @@ public SELF containsSequence(@SuppressWarnings("unchecked") ELEMENT... sequence)
* @throws AssertionError if the actual group does not contain the given sequence.
*/
@Override
public SELF containsSequence(@SuppressWarnings("unchecked") List<ELEMENT> sequence) {
arrays.assertContainsSequence(info, actual, sequence.toArray());
public SELF containsSequence(Iterable<? extends ELEMENT> sequence) {
checkSequenceIsNotNull(sequence);
arrays.assertContainsSequence(info, actual, toArray(sequence));
return myself;
}

Expand Down Expand Up @@ -484,8 +487,9 @@ public SELF doesNotContainSequence(@SuppressWarnings("unchecked") ELEMENT... seq
* @throws AssertionError if the actual group does not contain the given sequence.
*/
@Override
public SELF doesNotContainSequence(@SuppressWarnings("unchecked") List<ELEMENT> sequence) {
arrays.assertDoesNotContainSequence(info, actual, sequence.toArray());
public SELF doesNotContainSequence(Iterable<? extends ELEMENT> sequence) {
checkSequenceIsNotNull(sequence);
arrays.assertDoesNotContainSequence(info, actual, toArray(sequence));
return myself;
}

Expand Down Expand Up @@ -534,8 +538,9 @@ public SELF containsSubsequence(@SuppressWarnings("unchecked") ELEMENT... subseq
* @throws AssertionError if the actual group does not contain the given subsequence.
*/
@Override
public SELF containsSubsequence(@SuppressWarnings("unchecked") List<ELEMENT> subsequence) {
arrays.assertContainsSubsequence(info, actual, subsequence.toArray());
public SELF containsSubsequence(Iterable<? extends ELEMENT> subsequence) {
checkSubsequenceIsNotNull(subsequence);
arrays.assertContainsSubsequence(info, actual, toArray(subsequence));
return myself;
}

Expand Down Expand Up @@ -586,8 +591,9 @@ public SELF doesNotContainSubsequence(@SuppressWarnings("unchecked") ELEMENT...
* @throws AssertionError if the actual group contains the given subsequence.
*/
@Override
public SELF doesNotContainSubsequence(@SuppressWarnings("unchecked") List<ELEMENT> subsequence) {
arrays.assertDoesNotContainSubsequence(info, actual, subsequence.toArray());
public SELF doesNotContainSubsequence(Iterable<? extends ELEMENT> subsequence) {
checkSubsequenceIsNotNull(subsequence);
arrays.assertDoesNotContainSubsequence(info, actual, toArray(subsequence));
return myself;
}

Expand Down
22 changes: 14 additions & 8 deletions src/main/java/org/assertj/core/api/AtomicReferenceArrayAssert.java
Expand Up @@ -18,6 +18,8 @@
import static org.assertj.core.extractor.Extractors.extractedDescriptionOf;
import static org.assertj.core.extractor.Extractors.extractedDescriptionOfMethod;
import static org.assertj.core.extractor.Extractors.resultOf;
import static org.assertj.core.internal.CommonValidations.checkSequenceIsNotNull;
import static org.assertj.core.internal.CommonValidations.checkSubsequenceIsNotNull;
import static org.assertj.core.util.Arrays.array;
import static org.assertj.core.util.Arrays.isArray;
import static org.assertj.core.util.IterableUtil.toArray;
Expand Down Expand Up @@ -508,8 +510,9 @@ public AtomicReferenceArrayAssert<T> containsSequence(@SuppressWarnings("uncheck
* @throws AssertionError if the actual AtomicReferenceArray does not contain the given sequence.
*/
@Override
public AtomicReferenceArrayAssert<T> containsSequence(@SuppressWarnings("unchecked") List<T> sequence) {
arrays.assertContainsSequence(info, array, sequence.toArray());
public AtomicReferenceArrayAssert<T> containsSequence(Iterable<? extends T> sequence) {
checkSequenceIsNotNull(sequence);
arrays.assertContainsSequence(info, array, toArray(sequence));
return myself;
}

Expand Down Expand Up @@ -564,8 +567,9 @@ public AtomicReferenceArrayAssert<T> doesNotContainSequence(@SuppressWarnings("u
* @throws AssertionError if the actual AtomicReferenceArray does not contain the given sequence.
*/
@Override
public AtomicReferenceArrayAssert<T> doesNotContainSequence(@SuppressWarnings("unchecked") List<T> sequence) {
arrays.assertDoesNotContainSequence(info, array, sequence.toArray());
public AtomicReferenceArrayAssert<T> doesNotContainSequence(Iterable<? extends T> sequence) {
checkSequenceIsNotNull(sequence);
arrays.assertDoesNotContainSequence(info, array, toArray(sequence));
return myself;
}

Expand Down Expand Up @@ -614,8 +618,9 @@ public AtomicReferenceArrayAssert<T> containsSubsequence(@SuppressWarnings("unch
* @throws AssertionError if the actual AtomicReferenceArray does not contain the given subsequence.
*/
@Override
public AtomicReferenceArrayAssert<T> containsSubsequence(@SuppressWarnings("unchecked") List<T> subsequence) {
arrays.assertContainsSubsequence(info, array, subsequence.toArray());
public AtomicReferenceArrayAssert<T> containsSubsequence(Iterable<? extends T> subsequence) {
checkSubsequenceIsNotNull(subsequence);
arrays.assertContainsSubsequence(info, array, toArray(subsequence));
return myself;
}

Expand Down Expand Up @@ -666,8 +671,9 @@ public AtomicReferenceArrayAssert<T> doesNotContainSubsequence(@SuppressWarnings
* @throws AssertionError if the actual AtomicReferenceArray contains the given subsequence.
*/
@Override
public AtomicReferenceArrayAssert<T> doesNotContainSubsequence(@SuppressWarnings("unchecked") List<T> subsequence) {
arrays.assertDoesNotContainSubsequence(info, array, subsequence.toArray());
public AtomicReferenceArrayAssert<T> doesNotContainSubsequence(Iterable<? extends T> subsequence) {
checkSubsequenceIsNotNull(subsequence);
arrays.assertDoesNotContainSubsequence(info, array, toArray(subsequence));
return myself;
}

Expand Down
21 changes: 0 additions & 21 deletions src/main/java/org/assertj/core/api/IterableAssert.java
Expand Up @@ -18,7 +18,6 @@
import java.util.AbstractCollection;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;

import org.assertj.core.internal.Failures;
import org.assertj.core.util.VisibleForTesting;
Expand Down Expand Up @@ -263,44 +262,24 @@ public final IterableAssert<ELEMENT> containsSequence(ELEMENT... sequence) {
return super.containsSequence(sequence);
}

@Override
public final IterableAssert<ELEMENT> containsSequence(List<ELEMENT> sequence) {
return super.containsSequence(sequence);
}

@Override
@SafeVarargs
public final IterableAssert<ELEMENT> doesNotContainSequence(ELEMENT... sequence) {
return super.doesNotContainSequence(sequence);
}

@Override
public final IterableAssert<ELEMENT> doesNotContainSequence(List<ELEMENT> sequence) {
return super.doesNotContainSequence(sequence);
}

@Override
@SafeVarargs
public final IterableAssert<ELEMENT> containsSubsequence(ELEMENT... sequence) {
return super.containsSubsequence(sequence);
}

@Override
public final IterableAssert<ELEMENT> containsSubsequence(List<ELEMENT> sequence) {
return super.containsSubsequence(sequence);
}

@Override
@SafeVarargs
public final IterableAssert<ELEMENT> doesNotContainSubsequence(ELEMENT... sequence) {
return super.doesNotContainSubsequence(sequence);
}

@Override
public final IterableAssert<ELEMENT> doesNotContainSubsequence(List<ELEMENT> sequence) {
return super.doesNotContainSubsequence(sequence);
}

@Override
@SafeVarargs
public final IterableAssert<ELEMENT> doesNotContain(ELEMENT... values) {
Expand Down
20 changes: 0 additions & 20 deletions src/main/java/org/assertj/core/api/ListAssert.java
Expand Up @@ -76,44 +76,24 @@ public final ListAssert<ELEMENT> containsSequence(ELEMENT... sequence) {
return super.containsSequence(sequence);
}

@Override
public final ListAssert<ELEMENT> containsSequence(List<ELEMENT> sequence) {
return super.containsSequence(sequence);
}

@Override
@SafeVarargs
public final ListAssert<ELEMENT> doesNotContainSequence(ELEMENT... sequence) {
return super.doesNotContainSequence(sequence);
}

@Override
public final ListAssert<ELEMENT> doesNotContainSequence(List<ELEMENT> sequence) {
return super.doesNotContainSequence(sequence);
}

@Override
@SafeVarargs
public final ListAssert<ELEMENT> containsSubsequence(ELEMENT... sequence) {
return super.containsSubsequence(sequence);
}

@Override
public final ListAssert<ELEMENT> containsSubsequence(List<ELEMENT> sequence) {
return super.containsSubsequence(sequence);
}

@Override
@SafeVarargs
public final ListAssert<ELEMENT> doesNotContainSubsequence(ELEMENT... sequence) {
return super.doesNotContainSubsequence(sequence);
}

@Override
public final ListAssert<ELEMENT> doesNotContainSubsequence(List<ELEMENT> sequence) {
return super.doesNotContainSubsequence(sequence);
}

@Override
@SafeVarargs
public final ListAssert<ELEMENT> doesNotContain(ELEMENT... values) {
Expand Down

0 comments on commit d02681a

Please sign in to comment.