Task 2 test all combinations
This commit is contained in:
parent
b936a11ac4
commit
ce6251dca3
@ -3,12 +3,30 @@ package org.jabref.model.search.matchers;
|
||||
import org.jabref.model.search.SearchMatcher;
|
||||
import org.jabref.model.search.rules.MockSearchMatcher;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
public class AndMatcherTest extends SearchMatcherTest {
|
||||
@Override
|
||||
protected SearchMatcher makeMatcher() {
|
||||
protected List<SearchMatcher> makeTrueMatchers() {
|
||||
List<SearchMatcher> matchers = new ArrayList<>();
|
||||
matchers.add(buildMatcher(true, true));
|
||||
return matchers;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected List<SearchMatcher> makeFalseMatchers() {
|
||||
List<SearchMatcher> matchers = new ArrayList<>();
|
||||
matchers.add(buildMatcher(true, false));
|
||||
matchers.add(buildMatcher(false, true));
|
||||
matchers.add(buildMatcher(false, false));
|
||||
return matchers;
|
||||
}
|
||||
|
||||
private SearchMatcher buildMatcher(boolean first, boolean second) {
|
||||
MatcherSet matcherSet = MatcherSets.build(MatcherSets.MatcherType.AND);
|
||||
matcherSet.addRule(new MockSearchMatcher(true));
|
||||
matcherSet.addRule(new MockSearchMatcher(true));
|
||||
matcherSet.addRule(new MockSearchMatcher(first));
|
||||
matcherSet.addRule(new MockSearchMatcher(second));
|
||||
return matcherSet;
|
||||
}
|
||||
}
|
||||
|
@ -3,12 +3,30 @@ package org.jabref.model.search.matchers;
|
||||
import org.jabref.model.search.SearchMatcher;
|
||||
import org.jabref.model.search.rules.MockSearchMatcher;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
public class NotAndMatcherTest extends SearchMatcherTest {
|
||||
@Override
|
||||
protected SearchMatcher makeMatcher() {
|
||||
protected List<SearchMatcher> makeTrueMatchers() {
|
||||
List<SearchMatcher> matchers = new ArrayList<>();
|
||||
matchers.add(buildNotMatcher(true, false));
|
||||
matchers.add(buildNotMatcher(false, true));
|
||||
matchers.add(buildNotMatcher(false, false));
|
||||
return matchers;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected List<SearchMatcher> makeFalseMatchers() {
|
||||
List<SearchMatcher> matchers = new ArrayList<>();
|
||||
matchers.add(buildNotMatcher(true, true));
|
||||
return matchers;
|
||||
}
|
||||
|
||||
private SearchMatcher buildNotMatcher(boolean first, boolean second) {
|
||||
MatcherSet matcherSet = MatcherSets.build(MatcherSets.MatcherType.AND);
|
||||
matcherSet.addRule(new MockSearchMatcher(true));
|
||||
matcherSet.addRule(new MockSearchMatcher(false));
|
||||
matcherSet.addRule(new MockSearchMatcher(first));
|
||||
matcherSet.addRule(new MockSearchMatcher(second));
|
||||
return new NotMatcher(matcherSet);
|
||||
}
|
||||
}
|
||||
|
@ -3,10 +3,24 @@ package org.jabref.model.search.matchers;
|
||||
import org.jabref.model.search.SearchMatcher;
|
||||
import org.jabref.model.search.rules.MockSearchMatcher;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
|
||||
public class NotMatcherTest extends SearchMatcherTest {
|
||||
@Override
|
||||
protected SearchMatcher makeMatcher() {
|
||||
return new NotMatcher(new MockSearchMatcher(false));
|
||||
protected List<SearchMatcher> makeTrueMatchers() {
|
||||
List<SearchMatcher> matchers = new ArrayList<>();
|
||||
matchers.add(new NotMatcher(new MockSearchMatcher(false)));
|
||||
matchers.add(new NotMatcher(new NotMatcher(new MockSearchMatcher(true))));
|
||||
return matchers;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected List<SearchMatcher> makeFalseMatchers() {
|
||||
List<SearchMatcher> matchers = new ArrayList<>();
|
||||
matchers.add(new NotMatcher(new MockSearchMatcher(true)));
|
||||
matchers.add(new NotMatcher(new NotMatcher(new MockSearchMatcher(false))));
|
||||
return matchers;
|
||||
}
|
||||
}
|
||||
|
@ -3,12 +3,30 @@ package org.jabref.model.search.matchers;
|
||||
import org.jabref.model.search.SearchMatcher;
|
||||
import org.jabref.model.search.rules.MockSearchMatcher;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
public class NotOrMatcherTest extends SearchMatcherTest {
|
||||
@Override
|
||||
protected SearchMatcher makeMatcher() {
|
||||
protected List<SearchMatcher> makeTrueMatchers() {
|
||||
List<SearchMatcher> matchers = new ArrayList<>();
|
||||
matchers.add(buildNotMatcher(false, false));
|
||||
return matchers;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected List<SearchMatcher> makeFalseMatchers() {
|
||||
List<SearchMatcher> matchers = new ArrayList<>();
|
||||
matchers.add(buildNotMatcher(true, true));
|
||||
matchers.add(buildNotMatcher(true, false));
|
||||
matchers.add(buildNotMatcher(false, true));
|
||||
return matchers;
|
||||
}
|
||||
|
||||
private SearchMatcher buildNotMatcher(boolean first, boolean second) {
|
||||
MatcherSet matcherSet = MatcherSets.build(MatcherSets.MatcherType.OR);
|
||||
matcherSet.addRule(new MockSearchMatcher(false));
|
||||
matcherSet.addRule(new MockSearchMatcher(false));
|
||||
matcherSet.addRule(new MockSearchMatcher(first));
|
||||
matcherSet.addRule(new MockSearchMatcher(second));
|
||||
return new NotMatcher(matcherSet);
|
||||
}
|
||||
}
|
||||
|
@ -3,12 +3,30 @@ package org.jabref.model.search.matchers;
|
||||
import org.jabref.model.search.SearchMatcher;
|
||||
import org.jabref.model.search.rules.MockSearchMatcher;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
public class OrMatcherTest extends SearchMatcherTest {
|
||||
@Override
|
||||
protected SearchMatcher makeMatcher() {
|
||||
protected List<SearchMatcher> makeTrueMatchers() {
|
||||
List<SearchMatcher> matchers = new ArrayList<>();
|
||||
matchers.add(buildMatcher(true, true));
|
||||
matchers.add(buildMatcher(true, false));
|
||||
matchers.add(buildMatcher(false, true));
|
||||
return matchers;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected List<SearchMatcher> makeFalseMatchers() {
|
||||
List<SearchMatcher> matchers = new ArrayList<>();
|
||||
matchers.add(buildMatcher(false, false));
|
||||
return matchers;
|
||||
}
|
||||
|
||||
private SearchMatcher buildMatcher(boolean first, boolean second) {
|
||||
MatcherSet matcherSet = MatcherSets.build(MatcherSets.MatcherType.OR);
|
||||
matcherSet.addRule(new MockSearchMatcher(true));
|
||||
matcherSet.addRule(new MockSearchMatcher(false));
|
||||
matcherSet.addRule(new MockSearchMatcher(first));
|
||||
matcherSet.addRule(new MockSearchMatcher(second));
|
||||
return matcherSet;
|
||||
}
|
||||
}
|
||||
|
@ -4,20 +4,37 @@ import org.jabref.model.entry.BibEntry;
|
||||
import org.jabref.model.search.SearchMatcher;
|
||||
import org.junit.jupiter.api.BeforeEach;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.junit.jupiter.params.ParameterizedTest;
|
||||
import org.junit.jupiter.params.provider.ArgumentsSource;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import static org.junit.jupiter.api.Assertions.*;
|
||||
|
||||
public abstract class SearchMatcherTest {
|
||||
|
||||
private SearchMatcher matcher;
|
||||
protected abstract SearchMatcher makeMatcher();
|
||||
private List<SearchMatcher> trueMatchers;
|
||||
private List<SearchMatcher> falseMatchers;
|
||||
protected abstract List<SearchMatcher> makeTrueMatchers();
|
||||
protected abstract List<SearchMatcher> makeFalseMatchers();
|
||||
|
||||
@BeforeEach
|
||||
public void setUp() {
|
||||
matcher = makeMatcher();
|
||||
trueMatchers = makeTrueMatchers();
|
||||
falseMatchers = makeFalseMatchers();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testIsMatch() {
|
||||
assertTrue(matcher.isMatch(new BibEntry()));
|
||||
for (SearchMatcher matcher : trueMatchers) {
|
||||
assertTrue(matcher.isMatch(new BibEntry()));
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testIsNotMatch() {
|
||||
for (SearchMatcher matcher : falseMatchers) {
|
||||
assertFalse(matcher.isMatch(new BibEntry()));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user