Skip to content

Commit

Permalink
Check preconditions in TestPlanSpecification
Browse files Browse the repository at this point in the history
  • Loading branch information
sbrannen committed Nov 9, 2015
1 parent 811416d commit ec7951d
Showing 1 changed file with 9 additions and 4 deletions.
Expand Up @@ -19,6 +19,8 @@
import java.util.List;
import java.util.function.Predicate;

import org.junit.gen5.commons.util.Preconditions;

/**
* @author Sam Brannen
* @since 5.0
Expand Down Expand Up @@ -64,6 +66,7 @@ public static TestPlanSpecification build(List<TestPlanSpecificationElement> ele

private final List<TestPlanSpecificationElement> elements;

// Begin predicate chain with a predicate that always evaluates to true.
private Predicate<TestDescriptor> descriptorFilter = (TestDescriptor descriptor) -> true;

public TestPlanSpecification(List<TestPlanSpecificationElement> elements) {
Expand All @@ -72,15 +75,17 @@ public TestPlanSpecification(List<TestPlanSpecificationElement> elements) {

@Override
public Iterator<TestPlanSpecificationElement> iterator() {
return unmodifiableList(elements).iterator();
return unmodifiableList(this.elements).iterator();
}

public void filterWith(Predicate<TestDescriptor> filter) {
descriptorFilter = descriptorFilter.and(filter);
Preconditions.notNull(filter, "filter must not be null");
this.descriptorFilter = this.descriptorFilter.and(filter);
}

public boolean acceptDescriptor(TestDescriptor descriptor) {
return descriptorFilter.test(descriptor);
public boolean acceptDescriptor(TestDescriptor testDescriptor) {
Preconditions.notNull(testDescriptor, "testDescriptor must not be null");
return this.descriptorFilter.test(testDescriptor);
}

}

0 comments on commit ec7951d

Please sign in to comment.