Package siena.base.test

Source Code of siena.base.test.BaseTestNoAutoInc_8_SEARCH

package siena.base.test;

import java.util.List;

import siena.Query;
import siena.base.test.model.Discovery4Search2StringId;
import siena.base.test.model.Discovery4SearchStringId;

public abstract class BaseTestNoAutoInc_8_SEARCH extends BaseTestNoAutoInc_BASE {

  public void testSearchSingle() {
    Discovery4SearchStringId[] discs = new Discovery4SearchStringId[100];
    for(int i=0; i<100; i++){
      discs[i] = new Discovery4SearchStringId("Disc_"+String.format("%03d", i), StringID_CURIE);
    }
    pm.insert((Object[])discs);

    Query<Discovery4SearchStringId> query =
      pm.createQuery(Discovery4SearchStringId.class).search("Disc_005", "name");
   
    List<Discovery4SearchStringId> res = query.fetch();
       
    assertEquals(1, res.size());
    assertEquals(discs[5], res.get(0));
  }
 
  public void testSearchSingleKeysOnly() {
    Discovery4SearchStringId[] discs = new Discovery4SearchStringId[100];
    for(int i=0; i<100; i++){
      discs[i] = new Discovery4SearchStringId("Disc_"+String.format("%03d", i), StringID_CURIE);
    }
    pm.insert((Object[])discs);

    Query<Discovery4SearchStringId> query =
      pm.createQuery(Discovery4SearchStringId.class).search("Disc_005", "name");
   
    List<Discovery4SearchStringId> res = query.fetchKeys();
       
    assertEquals(1, res.size());
    assertEquals(discs[5].name, res.get(0).name);
    assertTrue(res.get(0).isOnlyIdFilled());
  }
 
  public void testSearchSingleTwice() {
    Discovery4SearchStringId[] discs = new Discovery4SearchStringId[100];
    for(int i=0; i<100; i++){
      discs[i] = new Discovery4SearchStringId("Disc_"+String.format("%03d", i), StringID_CURIE);
    }
    pm.insert((Object[])discs);

    Query<Discovery4SearchStringId> query =
      pm.createQuery(Discovery4SearchStringId.class).search("Disc_005", "name");
   
    List<Discovery4SearchStringId> res = query.fetch();
       
    assertEquals(1, res.size());
    assertEquals(discs[5], res.get(0));

    query =
      pm.createQuery(Discovery4SearchStringId.class).search("Disc_048", "name");
   
    res = query.fetch();
       
    assertEquals(1, res.size());
    assertEquals(discs[48], res.get(0));

  }

  public void testSearchSingleCount() {
    Discovery4SearchStringId[] discs = new Discovery4SearchStringId[100];
    for(int i=0; i<100; i++){
      discs[i] = new Discovery4SearchStringId("Disc_"+String.format("%03d", i), StringID_CURIE);
    }
    pm.insert((Object[])discs);

    Query<Discovery4SearchStringId> query =
      pm.createQuery(Discovery4SearchStringId.class).search("Disc_005", "name");
   
    int res = query.count();
       
    assertEquals(1, res);
  }
 
  public void testSearchMultipleBegin() {
    if(supportsSearchStart()){
      Discovery4SearchStringId[] discs = new Discovery4SearchStringId[100];
      for(int i=0; i<100; i++){
        discs[i] = new Discovery4SearchStringId("Disc_"+String.format("%03d", i), StringID_CURIE);
      }
      pm.insert((Object[])discs);
 
      Query<Discovery4SearchStringId> query =
        pm.createQuery(Discovery4SearchStringId.class).search("Disc_01%", "name").order("name");
     
      List<Discovery4SearchStringId> res = query.fetch();
         
      assertEquals(10, res.size());
      for(int i=0; i<10; i++){
        assertEquals(discs[i+10], res.get(i));
      }
    }
  }
 
  public void testSearchMultipleEnd() {
    if(supportsSearchEnd()){
      Discovery4SearchStringId[] discs = new Discovery4SearchStringId[100];
      for(int i=0; i<100; i++){
        discs[i] = new Discovery4SearchStringId("Disc_"+String.format("%03d", i), StringID_CURIE);
      }
      pm.insert((Object[])discs);
 
      Query<Discovery4SearchStringId> query =
        pm.createQuery(Discovery4SearchStringId.class).search("%_005", "name").order("name");
     
      List<Discovery4SearchStringId> res = query.fetch();
         
      assertEquals(1, res.size());
      assertEquals(discs[5], res.get(0));
    }
  }
 
  public void testSearchMultipleBeginEnd() {
    if(supportsSearchStart() && supportsSearchEnd()){
      Discovery4SearchStringId[] discs = new Discovery4SearchStringId[100];
      for(int i=0; i<100; i++){
        discs[i] = new Discovery4SearchStringId("Disc_"+String.format("%03d", i), StringID_CURIE);
      }
      pm.insert((Object[])discs);
 
      Query<Discovery4SearchStringId> query =
        pm.createQuery(Discovery4SearchStringId.class).search("%_01%", "name").order("name");
     
      List<Discovery4SearchStringId> res = query.fetch();
         
      assertEquals(10, res.size());
      for(int i=0; i<10; i++){
        assertEquals(discs[i+10], res.get(i));
      }
    }
  }
 
  public void testSearchMultipleMultipleWords() {
    if(supportsSearchStart() && supportsSearchEnd()){
      Discovery4SearchStringId[] discs = new Discovery4SearchStringId[100];
      for(int i=0; i<100; i++){
        discs[i] = new Discovery4SearchStringId("Disc_"+String.format("%03d", i), StringID_CURIE);
      }
      pm.insert((Object[])discs);
 
      Query<Discovery4SearchStringId> query =
        pm.createQuery(Discovery4SearchStringId.class).search("Disc_005 Disc_010 Disc_020", "name").order("name");
     
      List<Discovery4SearchStringId> res = query.fetch();
         
      assertEquals(3, res.size());
      assertEquals(discs[5], res.get(0));
      assertEquals(discs[10], res.get(1));
      assertEquals(discs[20], res.get(2));
    }
  }
 
  public void testSearchMultipleFieldsMultipleWords() {
    if(supportsSearchStart() && supportsSearchEnd()){
      Discovery4Search2StringId[] discs = new Discovery4Search2StringId[100];
      for(int i=0; i<100; i++){
        discs[i] = new Discovery4Search2StringId("Disc_"+String.format("%03d", i), "Body_"+String.format("%03d", i), StringID_CURIE);
      }
      pm.insert((Object[])discs);
 
      Query<Discovery4Search2StringId> query =
        pm.createQuery(Discovery4Search2StringId.class).search("Disc_005 Disc_010 Disc_020 Body_058 Body_068 Body_078", "name", "body").order("name");
     
      List<Discovery4Search2StringId> res = query.fetch();
         
      assertEquals(6, res.size());
      assertEquals(discs[5], res.get(0));
      assertEquals(discs[10], res.get(1));
      assertEquals(discs[20], res.get(2));
      assertEquals(discs[58], res.get(3));
      assertEquals(discs[68], res.get(4));
      assertEquals(discs[78], res.get(5));
    }
  }
 
  public void testSearchMultipleFieldsMultipleWordsFilter() {
    if(supportsSearchStart() && supportsSearchEnd()){
      Discovery4Search2StringId[] discs = new Discovery4Search2StringId[100];
      for(int i=0; i<100; i++){
        discs[i] = new Discovery4Search2StringId("Disc_"+String.format("%03d", i), "Body_"+String.format("%03d", i), StringID_CURIE);
      }
      pm.insert((Object[])discs);
 
      Query<Discovery4Search2StringId> query =
        pm.createQuery(Discovery4Search2StringId.class).search("Disc_005 Disc_010 Disc_058 Body_058 Body_068 Body_078", "name", "body").filter("name", "Disc_058").order("name");
     
      List<Discovery4Search2StringId> res = query.fetch();
         
      assertEquals(1, res.size());
      assertEquals(discs[58], res.get(0));
    }
  }
 
  public void testSearchMultipleFieldsMultipleWordsFilterBefore() {
    if(supportsSearchStart() && supportsSearchEnd()){
      Discovery4Search2StringId[] discs = new Discovery4Search2StringId[100];
      for(int i=0; i<100; i++){
        discs[i] = new Discovery4Search2StringId("Disc_"+String.format("%03d", i), "Body_"+String.format("%03d", i), StringID_CURIE);
      }
      pm.insert((Object[])discs);
 
      Query<Discovery4Search2StringId> query =
        pm.createQuery(Discovery4Search2StringId.class).filter("name", "Disc_058").search("Disc_005 Disc_010 Disc_058 Body_058 Body_068 Body_078", "name", "body").order("name");
     
      List<Discovery4Search2StringId> res = query.fetch();
         
      assertEquals(1, res.size());
      assertEquals(discs[58], res.get(0));
    }
  }
}
TOP

Related Classes of siena.base.test.BaseTestNoAutoInc_8_SEARCH

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.