Package siena.base.test

Source Code of siena.base.test.BaseTestNoAutoInc_7_BATCH

package siena.base.test;

import java.util.ArrayList;
import java.util.List;

import siena.SienaRestrictedApiException;
import siena.base.test.model.Discovery4Search2StringId;
import siena.base.test.model.DiscoveryStringId;
import siena.base.test.model.PersonLongAutoID;
import siena.base.test.model.PersonLongManualID;
import siena.base.test.model.PersonStringID;
import siena.base.test.model.PersonUUID;

public abstract class BaseTestNoAutoInc_7_BATCH extends BaseTestNoAutoInc_BASE {

  public void testBatchInsert() {
    Object[] discs = new DiscoveryStringId[100];
    for(int i=0; i<100; i++){
      discs[i] = new DiscoveryStringId("Disc_"+String.format("%03d", i), StringID_CURIE);
    }
    int nb = pm.insert(discs);
    assertEquals(discs.length, nb);
   
    List<DiscoveryStringId> res =
      pm.createQuery(DiscoveryStringId.class).fetch();
   
    assertEquals(discs.length, res.size());
    int i=0;
    for(DiscoveryStringId disc:res){
      assertEquals(discs[i++], disc);
    }
  }
  public void testBatchInsertList() {
    List<DiscoveryStringId> discs = new ArrayList<DiscoveryStringId>();
    for(int i=0; i<100; i++){
      discs.add(new DiscoveryStringId("Disc_"+String.format("%03d", i), StringID_CURIE));
    }
    int nb = pm.insert(discs);
    assertEquals(discs.size(), nb);
   
    List<DiscoveryStringId> res =
      pm.createQuery(DiscoveryStringId.class).fetch();
   
    assertEquals(discs.size(), res.size());
    int i=0;
    for(DiscoveryStringId disc:res){
      assertEquals(discs.get(i++), disc);
    }
  }
 
  public void testBatchDelete() {
    Object[] discs = new DiscoveryStringId[100];
    for(int i=0; i<100; i++){
      discs[i] = new DiscoveryStringId("Disc_"+String.format("%03d", i), StringID_CURIE);
    }
    pm.insert(discs);

    List<DiscoveryStringId> res =
      pm.createQuery(DiscoveryStringId.class).fetch();
   
    assertEquals(discs.length, res.size());
   
    int nb = pm.delete(discs);
    assertEquals(discs.length, nb);

    res =
      pm.createQuery(DiscoveryStringId.class).fetch();
   
    assertEquals(0, res.size());
  }
 
  public void testBatchDeleteList() {
    List<DiscoveryStringId> discs = new ArrayList<DiscoveryStringId>();
    for(int i=0; i<59; i++){
      DiscoveryStringId disc = new DiscoveryStringId("Disc_"+String.format("%03d", i), StringID_CURIE);
      discs.add(disc);
    }
    pm.insert(discs);

    List<DiscoveryStringId> res =
      pm.createQuery(DiscoveryStringId.class).fetch();
   
    assertEquals(discs.size(), res.size());
   
    int nb = pm.delete(discs);
    assertEquals(discs.size(), nb);
   
    res =
      pm.createQuery(DiscoveryStringId.class).fetch();
   
    assertEquals(0, res.size());
  }
 
 
  public void testBatchDeleteByKeys() {
    int nb = pm.deleteByKeys(PersonStringID.class, "TESLA", "CURIE");
    assertEquals(2, nb);
   
    List<PersonStringID> res =
      pm.createQuery(PersonStringID.class).fetch();
   
    assertEquals(1, res.size());
    assertEquals(StringID_EINSTEIN, res.get(0));
  }
 
  public void testBatchDeleteByKeysList() {
    int nb = pm.deleteByKeys(PersonStringID.class, new ArrayList<String>(){
      private static final long serialVersionUID = 1L;
      {add("TESLA"); add( "CURIE");}
    });
    assertEquals(2, nb);
   
    List<PersonStringID> res =
      pm.createQuery(PersonStringID.class).fetch();
   
    assertEquals(1, res.size());
    assertEquals(StringID_EINSTEIN, res.get(0));
  }
 
  public void testBatchDeleteByKeysLots() {
    List<DiscoveryStringId> discs = new ArrayList<DiscoveryStringId>();
    List<String> keys = new ArrayList<String>();
    for(int i=0; i<59; i++){
      DiscoveryStringId disc = new DiscoveryStringId("Disc_"+String.format("%03d", i), StringID_CURIE);
      discs.add(disc);
      keys.add(disc.name);
    }
    pm.insert(discs);

    int nb =
      pm.deleteByKeys(DiscoveryStringId.class, keys);
   
    assertEquals(discs.size(), nb);
   
    List<DiscoveryStringId> res =
      pm.createQuery(DiscoveryStringId.class).fetch();
   
    assertEquals(0, res.size());
  }
 
  public void testBatchGet() {
    DiscoveryStringId[] discs = new DiscoveryStringId[100];
   
    for(int i=0; i<100; i++){
      discs[i] = new DiscoveryStringId("Disc_"+String.format("%03d", i), StringID_CURIE);
    }
    pm.insert((Object[])discs);

    DiscoveryStringId[] discs2Get = new DiscoveryStringId[100];
    for(int i=0; i<100; i++){
      discs2Get[i] = new DiscoveryStringId();
      discs2Get[i].name = discs[i].name;
    }
   
    int nb = pm.get((Object[])discs2Get);
    assertEquals(discs.length, nb);
   
    assertEquals(discs.length, discs2Get.length);
    for(int i=0; i<discs.length; i++){
      assertEquals(discs[i], discs2Get[i]);
    }   
  }
 
  public void testBatchGetList() {
    DiscoveryStringId[] discs = new DiscoveryStringId[100];
   
    for(int i=0; i<100; i++){
      discs[i] = new DiscoveryStringId("Disc_"+String.format("%03d", i), StringID_CURIE);
    }
    pm.insert((Object[])discs);

    List<DiscoveryStringId> discs2Get = new ArrayList<DiscoveryStringId>();
    for(int i=0; i<100; i++){
      DiscoveryStringId disc = new DiscoveryStringId();
      disc.name = discs[i].name;
      discs2Get.add(disc);
    }
   
    int nb = pm.get(discs2Get);
    assertEquals(nb, discs.length);
    int i=0;
    for(DiscoveryStringId disc:discs2Get){
      assertEquals(discs[i++], disc);
    }   
  }
 
  public void testBatchGetByKeys() {
    List<PersonStringID> res = pm.getByKeys(PersonStringID.class, "TESLA", "CURIE");
   
    assertEquals(2, res.size());
    assertEquals(StringID_TESLA, res.get(0));
    assertEquals(StringID_CURIE, res.get(1));
  }
 
  public void testBatchGetByKeysList() {
    DiscoveryStringId[] discs = new DiscoveryStringId[100];
   
    for(int i=0; i<100; i++){
      discs[i] = new DiscoveryStringId("Disc_"+String.format("%03d", i), StringID_CURIE);
    }
    pm.insert((Object[])discs);

    List<String> discsKeys = new ArrayList<String>();
    for(int i=0; i<100; i++){
      discsKeys.add(discs[i].name);
    }
   
    List<DiscoveryStringId> discs2Get = pm.getByKeys(DiscoveryStringId.class, discsKeys);
    assertEquals(discs.length, discs2Get.size());
    int i=0;
    for(DiscoveryStringId disc:discs2Get){
      assertEquals(discs[i++], disc);
    }   
  }
 
  public void testBatchGetByKeysNonExisting() {
    List<PersonStringID> res = pm.getByKeys(PersonStringID.class, "TESLA", "CURIE", "CHBOING");
   
    assertEquals(3, res.size());
    assertEquals(StringID_TESLA, res.get(0));
    assertEquals(StringID_CURIE, res.get(1));
    assertNull(res.get(2));
  }
 
 
  public void testBatchUpdate() {
    Object[] discs = new DiscoveryStringId[100];
    for(int i=0; i<100; i++){
      discs[i] = new DiscoveryStringId("Disc_"+String.format("%03d", i), StringID_CURIE);
    }
    pm.insert(discs);

    List<DiscoveryStringId> res =
      pm.createQuery(DiscoveryStringId.class).fetch();
   
    assertEquals(discs.length, res.size());
   
    for(int i=0; i<100; i++){
      ((DiscoveryStringId)discs[i]).discoverer = StringID_EINSTEIN;
    }
   
    int nb = pm.update(discs);
    assertEquals(discs.length, nb);
    res =
      pm.createQuery(DiscoveryStringId.class).fetch();
    int i=0;
    for(DiscoveryStringId disc:res){
      assertEquals(discs[i++], disc);
    }
   
  }
 
  public void testBatchUpdateList() {
    List<DiscoveryStringId> discs = new ArrayList<DiscoveryStringId>();
    for(int i=0; i<100; i++){
      discs.add(new DiscoveryStringId("Disc_"+String.format("%03d", i), StringID_CURIE));
    }
    int nb = pm.insert(discs);
    assertEquals(discs.size(), nb);

    List<DiscoveryStringId> res =
      pm.createQuery(DiscoveryStringId.class).fetch();
   
    assertEquals(discs.size(), res.size());
   
    for(DiscoveryStringId d: discs){
      d.discoverer = StringID_EINSTEIN;
    }
   
    nb = pm.update(discs);
    assertEquals(discs.size(), nb);
    res =
      pm.createQuery(DiscoveryStringId.class).fetch();
    int i=0;
    for(DiscoveryStringId disc:res){
      assertEquals(discs.get(i++), disc);
    }
   
  }
 
  public void testGetByKeyNonExisting() {
    if(supportsAutoincrement()){
      PersonLongAutoID pers = getByKeyPersonLongAutoID(12345678L);
      assertNull(pers);
    }else {
      try {
        PersonLongAutoID pers = getByKeyPersonLongAutoID(12345678L);
      }catch(SienaRestrictedApiException ex){
        return;       
      }
      fail();
    }
  }
 
  public void testGetByKeyUUID() {
    PersonUUID curie = getByKeyPersonUUID(UUID_CURIE.id);
    assertEquals(UUID_CURIE, curie);
  }

  public void testGetByKeyLongAutoID() {
    if(supportsAutoincrement()){
      PersonLongAutoID curie = getByKeyPersonLongAutoID(LongAutoID_CURIE.id);
      assertEquals(LongAutoID_CURIE, curie);
    }else {
      try {
        PersonLongAutoID curie = getByKeyPersonLongAutoID(LongAutoID_CURIE.id);
      }catch(SienaRestrictedApiException ex){
        return;
      }
      fail();
    }
  }

  public void testGetByKeyLongManualID() {
    PersonLongManualID curie = getByKeyPersonLongManualID(LongManualID_CURIE.id);
    assertEquals(LongManualID_CURIE, curie);
  }

  public void testGetByKeyStringID() {
    PersonStringID curie = getByKeyPersonStringID(StringID_CURIE.id);
    assertEquals(StringID_CURIE, curie);
  }
 

  public void testBatchSave() {
    Object[] 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.save(discs);

    List<Discovery4Search2StringId> res =
      pm.createQuery(Discovery4Search2StringId.class).fetch();
   
    assertEquals(discs.length, res.size());
    int i=0;
    for(Discovery4Search2StringId disc:res){
      assertEquals(discs[i++], disc);
    }
   
    for(i=0; i<100; i++){
      ((Discovery4Search2StringId)discs[i]).body += "UPD";
      ((Discovery4Search2StringId)discs[i]).discoverer = StringID_EINSTEIN;
    }
   
    int nb = pm.save(discs);
    assertEquals(discs.length, nb);
    res =
      pm.createQuery(Discovery4Search2StringId.class).fetch();
    i=0;
    for(Discovery4Search2StringId disc:res){
      assertEquals(discs[i++], disc);
    }
   
  }
 
 
  public void testBatchSaveList() {
    List<Discovery4Search2StringId> discs = new ArrayList<Discovery4Search2StringId>();
    for(int i=0; i<100; i++){
      discs.add(new Discovery4Search2StringId(
          "Disc_"+String.format("%03d", i), "Body_"+String.format("%03d", i), StringID_CURIE));
    }
    int nb = pm.insert(discs);
    assertEquals(discs.size(), nb);
   
    List<Discovery4Search2StringId> res =
      pm.createQuery(Discovery4Search2StringId.class).fetch();
   
    assertEquals(discs.size(), res.size());
    int i=0;
    for(Discovery4Search2StringId disc:res){
      assertEquals(discs.get(i++), disc);
    }
   
    for(i=0; i<100; i++){
      ((Discovery4Search2StringId)discs.get(i)).body += "UPD";
      ((Discovery4Search2StringId)discs.get(i)).discoverer = StringID_EINSTEIN;
    }
   
    nb = pm.save(discs);
    assertEquals(discs.size(), nb);
    res =
      pm.createQuery(Discovery4Search2StringId.class).fetch();
    i=0;
    for(Discovery4Search2StringId disc:res){
      assertEquals(discs.get(i++), disc);
    }
  }
}
TOP

Related Classes of siena.base.test.BaseTestNoAutoInc_7_BATCH

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.