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.SearchMatcher;
|
||||||
import org.jabref.model.search.rules.MockSearchMatcher;
|
import org.jabref.model.search.rules.MockSearchMatcher;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
public class AndMatcherTest extends SearchMatcherTest {
|
public class AndMatcherTest extends SearchMatcherTest {
|
||||||
@Override
|
@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 matcherSet = MatcherSets.build(MatcherSets.MatcherType.AND);
|
||||||
matcherSet.addRule(new MockSearchMatcher(true));
|
matcherSet.addRule(new MockSearchMatcher(first));
|
||||||
matcherSet.addRule(new MockSearchMatcher(true));
|
matcherSet.addRule(new MockSearchMatcher(second));
|
||||||
return matcherSet;
|
return matcherSet;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -3,12 +3,30 @@ package org.jabref.model.search.matchers;
|
|||||||
import org.jabref.model.search.SearchMatcher;
|
import org.jabref.model.search.SearchMatcher;
|
||||||
import org.jabref.model.search.rules.MockSearchMatcher;
|
import org.jabref.model.search.rules.MockSearchMatcher;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
public class NotAndMatcherTest extends SearchMatcherTest {
|
public class NotAndMatcherTest extends SearchMatcherTest {
|
||||||
@Override
|
@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 matcherSet = MatcherSets.build(MatcherSets.MatcherType.AND);
|
||||||
matcherSet.addRule(new MockSearchMatcher(true));
|
matcherSet.addRule(new MockSearchMatcher(first));
|
||||||
matcherSet.addRule(new MockSearchMatcher(false));
|
matcherSet.addRule(new MockSearchMatcher(second));
|
||||||
return new NotMatcher(matcherSet);
|
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.SearchMatcher;
|
||||||
import org.jabref.model.search.rules.MockSearchMatcher;
|
import org.jabref.model.search.rules.MockSearchMatcher;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
|
||||||
public class NotMatcherTest extends SearchMatcherTest {
|
public class NotMatcherTest extends SearchMatcherTest {
|
||||||
@Override
|
@Override
|
||||||
protected SearchMatcher makeMatcher() {
|
protected List<SearchMatcher> makeTrueMatchers() {
|
||||||
return new NotMatcher(new MockSearchMatcher(false));
|
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.SearchMatcher;
|
||||||
import org.jabref.model.search.rules.MockSearchMatcher;
|
import org.jabref.model.search.rules.MockSearchMatcher;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
public class NotOrMatcherTest extends SearchMatcherTest {
|
public class NotOrMatcherTest extends SearchMatcherTest {
|
||||||
@Override
|
@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 matcherSet = MatcherSets.build(MatcherSets.MatcherType.OR);
|
||||||
matcherSet.addRule(new MockSearchMatcher(false));
|
matcherSet.addRule(new MockSearchMatcher(first));
|
||||||
matcherSet.addRule(new MockSearchMatcher(false));
|
matcherSet.addRule(new MockSearchMatcher(second));
|
||||||
return new NotMatcher(matcherSet);
|
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.SearchMatcher;
|
||||||
import org.jabref.model.search.rules.MockSearchMatcher;
|
import org.jabref.model.search.rules.MockSearchMatcher;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
public class OrMatcherTest extends SearchMatcherTest {
|
public class OrMatcherTest extends SearchMatcherTest {
|
||||||
@Override
|
@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 matcherSet = MatcherSets.build(MatcherSets.MatcherType.OR);
|
||||||
matcherSet.addRule(new MockSearchMatcher(true));
|
matcherSet.addRule(new MockSearchMatcher(first));
|
||||||
matcherSet.addRule(new MockSearchMatcher(false));
|
matcherSet.addRule(new MockSearchMatcher(second));
|
||||||
return matcherSet;
|
return matcherSet;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -4,20 +4,37 @@ import org.jabref.model.entry.BibEntry;
|
|||||||
import org.jabref.model.search.SearchMatcher;
|
import org.jabref.model.search.SearchMatcher;
|
||||||
import org.junit.jupiter.api.BeforeEach;
|
import org.junit.jupiter.api.BeforeEach;
|
||||||
import org.junit.jupiter.api.Test;
|
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.*;
|
import static org.junit.jupiter.api.Assertions.*;
|
||||||
|
|
||||||
public abstract class SearchMatcherTest {
|
public abstract class SearchMatcherTest {
|
||||||
|
|
||||||
private SearchMatcher matcher;
|
private List<SearchMatcher> trueMatchers;
|
||||||
protected abstract SearchMatcher makeMatcher();
|
private List<SearchMatcher> falseMatchers;
|
||||||
|
protected abstract List<SearchMatcher> makeTrueMatchers();
|
||||||
|
protected abstract List<SearchMatcher> makeFalseMatchers();
|
||||||
|
|
||||||
@BeforeEach
|
@BeforeEach
|
||||||
public void setUp() {
|
public void setUp() {
|
||||||
matcher = makeMatcher();
|
trueMatchers = makeTrueMatchers();
|
||||||
|
falseMatchers = makeFalseMatchers();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testIsMatch() {
|
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