@Test public void test04() throws Exception { RulesCollection rules = createRulesFromResource("rules-test.txt", false); Term t1 = new Term(null, "t1"); Term t2 = new Term(null, "t2"); PositionSequence<InputSequenceElement> seq = new PositionSequence<>(); seq.nextPosition(); seq.addElement(t1); seq.nextPosition(); seq.addElement(t2); List<Action> actions = rules.getRewriteActions(seq); assertThat(actions, contains( new Action( Arrays.asList( new Instructions( Arrays.asList( (Instruction) new BoostInstruction(makeQueryUsingFactory("tboost tb2"), BoostDirection.UP, 3.5f)) )), new TermMatches(Arrays.asList(new TermMatch(t1), new TermMatch(t2))), 0, 2) )); }
TermMatches termMatches(String... values) { TermMatches result = new TermMatches(); for (String value : values) { result.add(new TermMatch(new Term(null, value))); } return result; }
@Test public void testReplacePlaceHolderAtBeginning() throws Exception { char[] chars = "$1a".toCharArray(); Term outputTerm = new Term(chars, 0, chars.length, null); ComparableCharSequence filledPlaceholders = outputTerm.fillPlaceholders(new TermMatches(new TermMatch(new querqy.model.Term(null, "klxyz"), true, new SimpleComparableCharSequence("xyz".toCharArray(), 0, 3) ))); assertTrue(CharSequenceUtil.equals("xyza", filledPlaceholders)); }
@Test public void testRepeatedPlaceHoldersAtBeginning() throws Exception { char[] chars = "$1$1a".toCharArray(); Term outputTerm = new Term(chars, 0, chars.length, null); ComparableCharSequence filledPlaceholders = outputTerm.fillPlaceholders(new TermMatches(new TermMatch(new querqy.model.Term(null, "klxyz"), true, new SimpleComparableCharSequence("xyz".toCharArray(), 0, 3) ))); assertTrue(CharSequenceUtil.equals("xyzxyza", filledPlaceholders)); }
@Test public void testRepeatedPlaceHoldersOnly() throws Exception { char[] chars = "$1$1".toCharArray(); Term outputTerm = new Term(chars, 0, chars.length, null); ComparableCharSequence filledPlaceholders = outputTerm.fillPlaceholders(new TermMatches(new TermMatch(new querqy.model.Term(null, "klxyz"), true, new SimpleComparableCharSequence("xyz".toCharArray(), 0, 3) ))); assertTrue(CharSequenceUtil.equals("xyzxyz", filledPlaceholders)); }
@Test public void testSamePlaceHolderAtBordersWithOtherInMiddle() throws Exception { char[] chars = "$1b$1".toCharArray(); Term outputTerm = new Term(chars, 0, chars.length, null); ComparableCharSequence filledPlaceholders = outputTerm.fillPlaceholders(new TermMatches(new TermMatch(new querqy.model.Term(null, "klxyz"), true, new SimpleComparableCharSequence("xyz".toCharArray(), 0, 3) ))); assertTrue(CharSequenceUtil.equals("xyzbxyz", filledPlaceholders)); }
@Test public void testSamePlaceHolderWithOtherInMiddle() throws Exception { char[] chars = "a$1b$1c".toCharArray(); Term outputTerm = new Term(chars, 0, chars.length, null); ComparableCharSequence filledPlaceholders = outputTerm.fillPlaceholders(new TermMatches(new TermMatch(new querqy.model.Term(null, "klxyz"), true, new SimpleComparableCharSequence("xyz".toCharArray(), 0, 3) ))); assertTrue(CharSequenceUtil.equals("axyzbxyzc", filledPlaceholders)); }
@Test public void testReplacePlaceHoldersInMiddle() throws Exception { char[] chars = "a$1b".toCharArray(); Term outputTerm = new Term(chars, 0, chars.length, null); ComparableCharSequence filledPlaceholders = outputTerm.fillPlaceholders(new TermMatches(new TermMatch(new querqy.model.Term(null, "klxyz"), true, new SimpleComparableCharSequence("xyz".toCharArray(), 0, 3) ))); assertTrue(CharSequenceUtil.equals("axyzb", filledPlaceholders)); }
@Test public void testReplacePlaceHolderOnly() throws Exception { char[] chars = "$1".toCharArray(); Term term = new Term(chars, 0, chars.length, null); ComparableCharSequence filledPlaceholders = term.fillPlaceholders(new TermMatches(new TermMatch(new querqy.model.Term(null, "klxyz"), true, new SimpleComparableCharSequence("xyz".toCharArray(), 0, 3) ))); assertTrue(CharSequenceUtil.equals("xyz", filledPlaceholders)); }
@Test public void testReplacePlaceHolderAtEnd() throws Exception { char[] chars = "a$1".toCharArray(); Term outputTerm = new Term(chars, 0, chars.length, null); ComparableCharSequence filledPlaceholders = outputTerm.fillPlaceholders(new TermMatches(new TermMatch(new querqy.model.Term(null, "klxyz"), true, new SimpleComparableCharSequence("xyz".toCharArray(), 0, 3) ))); assertTrue(CharSequenceUtil.equals("axyz", filledPlaceholders)); }
@Test public void testRepeatedPlaceHolders() throws Exception { char[] chars = "a$1$1b".toCharArray(); Term outputTerm = new Term(chars, 0, chars.length, null); ComparableCharSequence filledPlaceholders = outputTerm.fillPlaceholders(new TermMatches(new TermMatch(new querqy.model.Term(null, "klxyz"), true, new SimpleComparableCharSequence("xyz".toCharArray(), 0, 3) ))); assertTrue(CharSequenceUtil.equals("axyzxyzb", filledPlaceholders)); }
@Test public void testRepeatedPlaceHoldersAtEnd() throws Exception { char[] chars = "a$1$1".toCharArray(); Term outputTerm = new Term(chars, 0, chars.length, null); ComparableCharSequence filledPlaceholders = outputTerm.fillPlaceholders(new TermMatches(new TermMatch(new querqy.model.Term(null, "klxyz"), true, new SimpleComparableCharSequence("xyz".toCharArray(), 0, 3) ))); assertTrue(CharSequenceUtil.equals("axyzxyz", filledPlaceholders)); }
@Test public void test05() throws Exception { RulesCollection rules = createRulesFromResource("rules-test.txt", false); Term t1 = new Term(null, "tf2"); PositionSequence<InputSequenceElement> seq = new PositionSequence<>(); seq.nextPosition(); seq.addElement(t1); List<Action> actions = rules.getRewriteActions(seq); assertThat(actions, contains( new Action( Arrays.asList( new Instructions( Arrays.asList( (Instruction) new FilterInstruction(makeQueryUsingFactory("flt2 flt3"))) )), new TermMatches(new TermMatch(t1)), 0, 1) )); }
@Test public void test01() throws Exception { RulesCollection rules = createRulesFromResource("rules-test.txt", false); Term t1 = new Term(null, "aa"); Term t2 = new Term(null, "l"); PositionSequence<InputSequenceElement> seq = new PositionSequence<>(); seq.nextPosition(); seq.addElement(t1); seq.nextPosition(); seq.addElement(t2); List<Action> actions = rules.getRewriteActions(seq); assertThat(actions, contains( new Action( Arrays.asList( new Instructions(Arrays.asList((Instruction) new DeleteInstruction(Arrays.asList(mkTerm("aa")))))), new TermMatches(new TermMatch(t1)), 0, 1))); }
new TermMatches(Arrays.asList(new TermMatch(t4))), 0, 1)
new TermMatches(Arrays.asList(new TermMatch(t2))), 0, 1)