@Test
 public void testCriteriaChain() {
   Criteria criteria =
       new Criteria("field_1").startsWith("start").endsWith("end").contains("contains").is("is");
   Assert.assertEquals("field_1", criteria.getField().getName());
   assertCriteriaEntry(criteria.getCriteriaEntries(), 0, OperationKey.STARTS_WITH, "start");
   assertCriteriaEntry(criteria.getCriteriaEntries(), 1, OperationKey.ENDS_WITH, "end");
   assertCriteriaEntry(criteria.getCriteriaEntries(), 2, OperationKey.CONTAINS, "contains");
   assertCriteriaEntry(criteria.getCriteriaEntries(), 3, OperationKey.EQUALS, "is");
 }
  @Test
  public void testInWithNestedCollection() {
    List<List<String>> enclosingList = new ArrayList<List<String>>();
    enclosingList.add(Arrays.asList("spring", "data"));
    enclosingList.add(Arrays.asList("solr"));
    Criteria criteria = new Criteria("field_1").in(enclosingList);

    assertCriteriaEntry(criteria.getCriteriaEntries(), 0, OperationKey.EQUALS, "spring");
    assertCriteriaEntry(criteria.getCriteriaEntries(), 1, OperationKey.EQUALS, "data");
    assertCriteriaEntry(criteria.getCriteriaEntries(), 2, OperationKey.EQUALS, "solr");
  }
 @Test
 public void testIn() {
   Criteria criteria = new Criteria("field_1").in(1, 2, 3, 5, 8, 13, 21);
   Assert.assertEquals("field_1", criteria.getField().getName());
   assertCriteriaEntry(criteria.getCriteriaEntries(), 0, OperationKey.EQUALS, 1);
   assertCriteriaEntry(criteria.getCriteriaEntries(), 1, OperationKey.EQUALS, 2);
   assertCriteriaEntry(criteria.getCriteriaEntries(), 2, OperationKey.EQUALS, 3);
   assertCriteriaEntry(criteria.getCriteriaEntries(), 3, OperationKey.EQUALS, 5);
   assertCriteriaEntry(criteria.getCriteriaEntries(), 4, OperationKey.EQUALS, 8);
   assertCriteriaEntry(criteria.getCriteriaEntries(), 5, OperationKey.EQUALS, 13);
   assertCriteriaEntry(criteria.getCriteriaEntries(), 6, OperationKey.EQUALS, 21);
 }
  @Test
  public void testStartsWith() {
    Criteria criteria = new Criteria("field_1").startsWith("start");

    Assert.assertEquals("field_1", criteria.getField().getName());
    assertCriteriaEntry(criteria.getCriteriaEntries(), 0, OperationKey.STARTS_WITH, "start");
  }
  @Test
  public void testEndsWith() {
    Criteria criteria = new Criteria("field_1").endsWith("end");

    Assert.assertEquals("field_1", criteria.getField().getName());
    assertCriteriaEntry(criteria.getCriteriaEntries(), 0, OperationKey.ENDS_WITH, "end");
  }
  @Test
  public void testContains() {
    Criteria criteria = new Criteria("field_1").contains("contains");

    Assert.assertEquals("field_1", criteria.getField().getName());
    assertCriteriaEntry(criteria.getCriteriaEntries(), 0, OperationKey.CONTAINS, "contains");
  }
  @Test
  public void testMultipleIs() {
    Criteria criteria = new Criteria("field_1").is("is").is("another is");
    Assert.assertEquals("field_1", criteria.getField().getName());

    assertCriteriaEntry(criteria.getCriteriaEntries(), 0, OperationKey.EQUALS, "is");
    assertCriteriaEntry(criteria.getCriteriaEntries(), 1, OperationKey.EQUALS, "another is");
  }
 @Test
 public void testWithin() {
   GeoLocation location = new GeoLocation(48.303056, 14.290556);
   Criteria criteria = new Criteria("field_1").within(location, new Distance(5));
   CriteriaEntry entry = getCriteriaEntryByPosition(criteria.getCriteriaEntries(), 0);
   Assert.assertEquals(OperationKey.WITHIN.getKey(), entry.getKey());
   Assert.assertEquals(location, ((Object[]) entry.getValue())[0]);
   Assert.assertEquals(5, ((Distance) ((Object[]) entry.getValue())[1]).getValue(), 0);
 }
 @Test
 public void testGreaterThanEqual() {
   Criteria criteria = new Criteria("field_1").greaterThanEqual(100);
   CriteriaEntry entry = getCriteriaEntryByPosition(criteria.getCriteriaEntries(), 0);
   Assert.assertEquals(OperationKey.BETWEEN.getKey(), entry.getKey());
   Assert.assertEquals(100, ((Object[]) entry.getValue())[0]);
   Assert.assertEquals(null, ((Object[]) entry.getValue())[1]);
   Assert.assertTrue(((Boolean) ((Object[]) entry.getValue())[2]).booleanValue());
   Assert.assertTrue(((Boolean) ((Object[]) entry.getValue())[3]).booleanValue());
 }
示例#10
0
 @Test
 public void testBetweenExcludingUpperBound() {
   Criteria criteria = new Criteria("field_1").between(100, 200, true, false);
   CriteriaEntry entry = getCriteriaEntryByPosition(criteria.getCriteriaEntries(), 0);
   Assert.assertEquals(OperationKey.BETWEEN.getKey(), entry.getKey());
   Assert.assertEquals(100, ((Object[]) entry.getValue())[0]);
   Assert.assertEquals(200, ((Object[]) entry.getValue())[1]);
   Assert.assertTrue(((Boolean) ((Object[]) entry.getValue())[2]).booleanValue());
   Assert.assertFalse(((Boolean) ((Object[]) entry.getValue())[3]).booleanValue());
 }
示例#11
0
 @Test
 public void testExpression() {
   Criteria criteria =
       new Criteria("field_1").expression("(have fun using +solr && expressions*)");
   assertCriteriaEntry(
       criteria.getCriteriaEntries(),
       0,
       OperationKey.EXPRESSION,
       "(have fun using +solr && expressions*)");
 }
示例#12
0
 @Test
 public void testBoost() {
   Criteria criteria = new Criteria("field_1").is("value_1").boost(2f);
   assertCriteriaEntry(criteria.getCriteriaEntries(), 0, OperationKey.EQUALS, "value_1");
   Assert.assertEquals(2f, criteria.getBoost(), 0);
 }
示例#13
0
 @Test
 public void testFuzzyWithDistance() {
   Criteria criteria = new Criteria("field_1").fuzzy("value_1", 0.5f);
   assertCriteriaEntry(criteria.getCriteriaEntries(), 0, "$fuzzy#0.5", "value_1");
 }
示例#14
0
 @Test
 public void testFuzzy() {
   Criteria criteria = new Criteria("field_1").fuzzy("value_1");
   assertCriteriaEntry(criteria.getCriteriaEntries(), 0, "$fuzzy#NaN", "value_1");
 }
示例#15
0
 @Test
 public void testIsNot() {
   Criteria criteria = new Criteria("field_1").is("value_1").not();
   Assert.assertTrue(criteria.isNegating());
   assertCriteriaEntry(criteria.getCriteriaEntries(), 0, OperationKey.EQUALS, "value_1");
 }