Package siena.base.test

Source Code of siena.base.test.BaseTestNoAutoInc_2_FETCH

package siena.base.test;

import static siena.Json.map;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.Comparator;
import java.util.Date;
import java.util.HashMap;
import java.util.List;

import siena.Query;
import siena.SienaRestrictedApiException;
import siena.base.test.model.Address;
import siena.base.test.model.AutoInc;
import siena.base.test.model.Contact;
import siena.base.test.model.DataTypes;
import siena.base.test.model.DataTypes.EnumLong;
import siena.base.test.model.Discovery4JoinStringId;
import siena.base.test.model.DiscoveryPrivate;
import siena.base.test.model.DiscoveryStringId;
import siena.base.test.model.MultipleKeys;
import siena.base.test.model.PersonLongAutoID;
import siena.base.test.model.PersonLongManualID;
import siena.base.test.model.PersonStringAutoIncID;
import siena.base.test.model.PersonStringID;
import siena.base.test.model.PersonUUID;
import siena.sdb.SdbPersistenceManager;

public abstract class BaseTestNoAutoInc_2_FETCH extends BaseTestNoAutoInc_BASE {
 
  public void testCount() {
    assertEquals(3, pm.createQuery(PersonUUID.class).count());
  }

  public void testFetch() {
    List<PersonUUID> people = queryPersonUUIDOrderBy("n", 0, false).fetch();

    assertNotNull(people);
    assertEquals(3, people.size());

    assertEquals(UUID_TESLA, people.get(0));
    assertEquals(UUID_CURIE, people.get(1));
    assertEquals(UUID_EINSTEIN, people.get(2));
  }
 
  public void testFetchKeys() {
    List<PersonUUID> people = queryPersonUUIDOrderBy("n", 0, false).fetchKeys();

    assertNotNull(people);
    assertEquals(3, people.size());

    assertEquals(UUID_TESLA.id, people.get(0).id);
    assertEquals(UUID_CURIE.id, people.get(1).id);
    assertEquals(UUID_EINSTEIN.id, people.get(2).id);
   
    assertTrue(people.get(0).isOnlyIdFilled());
    assertTrue(people.get(1).isOnlyIdFilled());
    assertTrue(people.get(2).isOnlyIdFilled());

  }

  public void testFetchOrder() {
    List<PersonUUID> people = queryPersonUUIDOrderBy("firstName", "", false).fetch();

    assertNotNull(people);
    assertEquals(3, people.size());

    assertEquals(UUID_EINSTEIN, people.get(0));
    assertEquals(UUID_CURIE, people.get(1));
    assertEquals(UUID_TESLA, people.get(2));
  }
 
  public void testFetchOrderKeys() {
    List<PersonUUID> people = queryPersonUUIDOrderBy("firstName", "", false).fetchKeys();

    assertNotNull(people);
    assertEquals(3, people.size());

    assertEquals(UUID_EINSTEIN.id, people.get(0).id);
    assertEquals(UUID_CURIE.id, people.get(1).id);
    assertEquals(UUID_TESLA.id, people.get(2).id);
  }

  public void testFetchOrderDesc() {
    List<PersonUUID> people = queryPersonUUIDOrderBy("lastName", "", true).fetch();

    assertNotNull(people);
    assertEquals(3, people.size());

    assertEquals(UUID_TESLA, people.get(0));
    assertEquals(UUID_EINSTEIN, people.get(1));
    assertEquals(UUID_CURIE, people.get(2));
  }

  public void testFetchOrderDescKeys() {
    List<PersonUUID> people = queryPersonUUIDOrderBy("lastName", "", true).fetchKeys();

    assertNotNull(people);
    assertEquals(3, people.size());

    assertEquals(UUID_TESLA.id, people.get(0).id);
    assertEquals(UUID_EINSTEIN.id, people.get(1).id);
    assertEquals(UUID_CURIE.id, people.get(2).id);
  }
 
  public void testFetchOrderOnLongAutoId() {
    if(supportsAutoincrement()){
      List<PersonLongAutoID> people = queryPersonLongAutoIDOrderBy("id", "", false).fetchKeys();
      assertEquals(0, people.size());
    }else {
      try {
        List<PersonLongAutoID> people = queryPersonLongAutoIDOrderBy("id", "", false).fetchKeys();       
      }catch(SienaRestrictedApiException ex){
        return;
      }
     
      fail();
    }
  }

  public void testFetchOrderOnLongManualId() {
    List<PersonLongManualID> people = queryPersonLongManualIDOrderBy("id", "", false).fetchKeys();

    assertNotNull(people);
    assertEquals(3, people.size());

    assertEquals(LongManualID_TESLA.id, people.get(0).id);
    assertEquals(LongManualID_CURIE.id, people.get(1).id);
    assertEquals(LongManualID_EINSTEIN.id, people.get(2).id);
  }
 
  public void testFetchOrderOnStringId() {
    List<PersonStringID> people = queryPersonStringIDOrderBy("id", "", false).fetchKeys();

    assertNotNull(people);
    assertEquals(3, people.size());

    assertEquals(StringID_CURIE.id, people.get(0).id);
    assertEquals(StringID_EINSTEIN.id, people.get(1).id);
    assertEquals(StringID_TESLA.id, people.get(2).id);
  }
   
  public void testFetchOrderOnUUID() {
    List<PersonUUID> l = getOrderedPersonUUIDs();
    List<PersonUUID> people = queryPersonUUIDOrderBy("id", "", false).fetchKeys();

    assertNotNull(people);
    assertEquals(3, people.size());

    assertEquals(l.get(0).id, people.get(0).id);
    assertEquals(l.get(1).id, people.get(1).id);
    assertEquals(l.get(2).id, people.get(2).id);
  }
 
  public void testFetchOrderOnLongAutoIdDesc() {
    if(supportsAutoincrement()){
      List<PersonLongAutoID> people = queryPersonLongAutoIDOrderBy("id", "", true).fetchKeys();

      assertEquals(0, people.size());
    }else {
      try {
        List<PersonLongAutoID> people = queryPersonLongAutoIDOrderBy("id", "", true).fetchKeys();
      }catch(SienaRestrictedApiException ex){
        return;
      }
     
      fail();
    }
  }
   
  public void testFetchOrderOnLongManualIdDesc() {
    List<PersonLongManualID> people = queryPersonLongManualIDOrderBy("id", "", true).fetchKeys();

    assertNotNull(people);
    assertEquals(3, people.size());

    assertEquals(LongManualID_EINSTEIN.id, people.get(0).id);
    assertEquals(LongManualID_CURIE.id, people.get(1).id);
    assertEquals(LongManualID_TESLA.id, people.get(2).id);
  }
 
  public void testFetchOrderOnStringIdDesc() {
    List<PersonStringID> people = queryPersonStringIDOrderBy("id", "", true).fetchKeys();

    assertNotNull(people);
    assertEquals(3, people.size());

    assertEquals(StringID_TESLA.id, people.get(0).id);
    assertEquals(StringID_EINSTEIN.id, people.get(1).id);
    assertEquals(StringID_CURIE.id, people.get(2).id);
  }
 
  public void testFetchOrderOnUUIDDesc() {
    List<PersonUUID> l = getOrderedPersonUUIDs();
    List<PersonUUID> people = queryPersonUUIDOrderBy("id", "", true).fetchKeys();

    assertNotNull(people);
    assertEquals(3, people.size());

    assertEquals(l.get(2).id, people.get(0).id);
    assertEquals(l.get(1).id, people.get(1).id);
    assertEquals(l.get(0).id, people.get(2).id);
  }
 
 
  public void testFilterOperatorEqualString() {
    PersonUUID person = pm.createQuery(PersonUUID.class).filter("firstName", "Albert").get();
    assertNotNull(person);
    assertEquals(UUID_EINSTEIN, person);
  }
 
  public void testFilterOperatorEqualInt() {
    PersonUUID person = pm.createQuery(PersonUUID.class).filter("n", 3).get();
    assertNotNull(person);
    assertEquals(UUID_EINSTEIN, person);
  }
 
  public void testFilterOperatorEqualUUID() {
    List<PersonUUID> l = getOrderedPersonUUIDs();
 
    PersonUUID person = pm.createQuery(PersonUUID.class).filter("id", l.get(0).id).get();
    assertNotNull(person);
    assertEquals(l.get(0), person);
  }
 
  public void testFilterOperatorEqualLongAutoID() {
    if(supportsAutoincrement()){
      PersonLongAutoID person = pm.createQuery(PersonLongAutoID.class).filter("id", LongAutoID_EINSTEIN.id).get();
      assertNotNull(person);
      assertEquals(LongAutoID_EINSTEIN, person);
    }else {
      try {
        PersonLongAutoID person = pm.createQuery(PersonLongAutoID.class).filter("id", LongAutoID_EINSTEIN.id).get();
      }catch(SienaRestrictedApiException ex){
        return;
      }
      fail();
    }
  }
   
  public void testFilterOperatorEqualLongManualID() {
    PersonLongManualID person = pm.createQuery(PersonLongManualID.class).filter("id", 3L).get();
    assertNotNull(person);
    assertEquals(LongManualID_EINSTEIN, person);
  }
 
  public void testFilterOperatorEqualStringID() {
    PersonStringID person = pm.createQuery(PersonStringID.class).filter("id", "EINSTEIN").get();
    assertNotNull(person);
    assertEquals(StringID_EINSTEIN, person);
  }
 
  public void testFilterOperatorNotEqualString() {
    List<PersonStringID> people = pm.createQuery(PersonStringID.class).filter("firstName!=", "Albert").order("firstName").fetch();

    assertNotNull(people);
    assertEquals(2, people.size());

    assertEquals(StringID_CURIE, people.get(0));
    assertEquals(StringID_TESLA, people.get(1));
  }
 
  public void testFilterOperatorNotEqualInt() {
    List<PersonUUID> people = pm.createQuery(PersonUUID.class).filter("n!=", 3).order("n").fetch();

    assertNotNull(people);
    assertEquals(2, people.size());

    assertEquals(UUID_TESLA, people.get(0));
    assertEquals(UUID_CURIE, people.get(1));
  }

  public void testFilterOperatorNotEqualUUID() {
    List<PersonUUID> l = getOrderedPersonUUIDs();
    List<PersonUUID> people = pm.createQuery(PersonUUID.class).filter("id!=", l.get(0).id).order("id").fetch();

    assertNotNull(people);
    assertEquals(2, people.size());

    assertEquals(l.get(1), people.get(0));
    assertEquals(l.get(2), people.get(1));
  }
 
  public void testFilterOperatorNotEqualLongAutoID() {
    if(supportsAutoincrement()){
      List<PersonLongAutoID> people = pm.createQuery(PersonLongAutoID.class).filter("id!=", LongAutoID_EINSTEIN.id).order("id").fetch();
      assertEquals(0, people.size());
    }else {
      try {
        List<PersonLongAutoID> people = pm.createQuery(PersonLongAutoID.class).filter("id!=", LongAutoID_EINSTEIN.id).order("id").fetch();
      }catch(SienaRestrictedApiException ex){
        return;
      }
     
      fail();
    }
  }

  public void testFilterOperatorNotEqualLongManualID() {
    List<PersonLongManualID> people = pm.createQuery(PersonLongManualID.class).filter("id!=", 3L).order("id").fetch();

    assertNotNull(people);
    assertEquals(2, people.size());

    assertEquals(LongManualID_TESLA, people.get(0));
    assertEquals(LongManualID_CURIE, people.get(1));
  }
 
  public void testFilterOperatorNotEqualStringID() {
    List<PersonStringID> people = pm.createQuery(PersonStringID.class).filter("id!=", StringID_EINSTEIN.id).order("id").fetch();

    assertNotNull(people);
    assertEquals(2, people.size());

    assertEquals(StringID_CURIE, people.get(0));
    assertEquals(StringID_TESLA, people.get(1));
  }

  public void testFilterOperatorIn() {
    @SuppressWarnings("serial")
    List<PersonUUID> people =
      pm.createQuery(PersonUUID.class)
        .filter("n IN", new ArrayList<Integer>(){{
          add(2);
          add(3);
        }})
        .order("n")
        .fetch();

    assertNotNull(people);
    assertEquals(2, people.size());

    assertEquals(UUID_CURIE, people.get(0));
    assertEquals(UUID_EINSTEIN, people.get(1));
  }
 
  public void testFilterOperatorInOrder() {
    @SuppressWarnings("serial")
    List<PersonUUID> people =
      pm.createQuery(PersonUUID.class)
        .filter("n IN", new ArrayList<Integer>(){{
          add(3);
          add(2);
        }})
        .order("n")
        .fetch();

    assertNotNull(people);
    assertEquals(2, people.size());

    assertEquals(UUID_CURIE, people.get(0));
    assertEquals(UUID_EINSTEIN, people.get(1));
  }
 
  public void testFilterOperatorInForUUID() {
    List<PersonUUID> l = getOrderedPersonUUIDs();
   
    List<PersonUUID> people =
      pm.createQuery(PersonUUID.class)
        .filter("id IN", Arrays.asList( l.get(0).id, l.get(1).id))
        .order("id")
        .fetch();

    assertNotNull(people);
    assertEquals(2, people.size());

    assertEquals(l.get(0), people.get(0));
    assertEquals(l.get(1), people.get(1));
  }
 
  public void testFilterOperatorInForLongAutoID() {
    if(supportsAutoincrement()){
      @SuppressWarnings("serial")
      List<PersonLongAutoID> people =
        pm.createQuery(PersonLongAutoID.class)
          .filter("id IN", new ArrayList<Long>(){{
            add(LongAutoID_TESLA.id);
            add(LongAutoID_CURIE.id);
          }})
          .fetch();

      assertNotNull(people);
      assertEquals(2, people.size());

      assertEquals(LongAutoID_TESLA, people.get(0));
      assertEquals(LongAutoID_CURIE, people.get(1));
    }else {
      try {
        @SuppressWarnings("serial")
        List<PersonLongAutoID> people =
          pm.createQuery(PersonLongAutoID.class)
            .filter("id IN", new ArrayList<Long>(){{
              add(LongAutoID_TESLA.id);
              add(LongAutoID_CURIE.id);
            }})
            .fetch();
      }catch(SienaRestrictedApiException ex){
        return;
      }
 
      fail();
    }
  }

  public void testFilterOperatorInForLongManualID() {
    @SuppressWarnings("serial")
    List<PersonLongManualID> people =
      pm.createQuery(PersonLongManualID.class)
        .filter("id IN", new ArrayList<Long>(){{
          add(LongManualID_TESLA.id);
          add(LongManualID_CURIE.id);
        }})
        .fetch();

    assertNotNull(people);
    assertEquals(2, people.size());

    assertEquals(LongManualID_TESLA, people.get(0));
    assertEquals(LongManualID_CURIE, people.get(1));
  }
 
  public void testFilterOperatorInForStringID() {
    @SuppressWarnings("serial")
    List<PersonStringID> people =
      pm.createQuery(PersonStringID.class)
        .filter("id IN", new ArrayList<String>(){{
          add(StringID_TESLA.id);
          add(StringID_CURIE.id);
        }})
        .order("id")
        .fetch();

    assertNotNull(people);
    assertEquals(2, people.size());

    assertEquals(StringID_CURIE, people.get(0));
    assertEquals(StringID_TESLA, people.get(1));
  }
 
  public void testFilterOperatorLessThan() {
    List<PersonUUID> people = pm.createQuery(PersonUUID.class).filter("n<", 3).order("n").fetch();

    assertNotNull(people);
    assertEquals(2, people.size());

    assertEquals(UUID_TESLA, people.get(0));
    assertEquals(UUID_CURIE, people.get(1));
  }
 
  public void testFilterOperatorLessThanForUUID() {
    List<PersonUUID> l = getOrderedPersonUUIDs();

    List<PersonUUID> people = pm.createQuery(PersonUUID.class).filter("id<", l.get(2).id).order("id").fetch();

    assertNotNull(people);
    assertEquals(2, people.size());

   
    assertEquals(l.get(0), people.get(0));
    assertEquals(l.get(1), people.get(1));
  }
 
  public void testFilterOperatorLessThanForLongAutoID() {
    if(supportsAutoincrement()){
      List<PersonLongAutoID> people = pm.createQuery(PersonLongAutoID.class).filter("id<", LongAutoID_EINSTEIN.id).order("id").fetch();

      assertNotNull(people);
      assertEquals(2, people.size());

      assertEquals(LongAutoID_TESLA, people.get(0));
      assertEquals(LongAutoID_CURIE, people.get(1));
    }else {
      try {
        List<PersonLongAutoID> people = pm.createQuery(PersonLongAutoID.class).filter("id<", LongAutoID_EINSTEIN.id).order("id").fetch();
      }catch(SienaRestrictedApiException ex){
        return;
      }
    }
    fail();
  }
 
  public void testFilterOperatorLessThanForLongManualID() {
    List<PersonLongManualID> people = pm.createQuery(PersonLongManualID.class).filter("id<", 3L).order("id").fetch();

    assertNotNull(people);
    assertEquals(2, people.size());

    assertEquals(LongManualID_TESLA, people.get(0));
    assertEquals(LongManualID_CURIE, people.get(1));
  }
 
  public void testFilterOperatorLessThanForStringID() {
    List<PersonStringID> people = pm.createQuery(PersonStringID.class).filter("id<", StringID_TESLA.id).order("id").fetch();

    assertNotNull(people);
    assertEquals(2, people.size());

    assertEquals(StringID_CURIE, people.get(0));
    assertEquals(StringID_EINSTEIN, people.get(1));
  }
 
  public void testFilterOperatorLessThanOrEqual() {
    List<PersonUUID> people = pm.createQuery(PersonUUID.class).filter("n<=", 3).order("n").fetch();

    assertNotNull(people);
    assertEquals(3, people.size());

    assertEquals(UUID_TESLA, people.get(0));
    assertEquals(UUID_CURIE, people.get(1));
    assertEquals(UUID_EINSTEIN, people.get(2));   
  }
 
  public void testFilterOperatorLessThanOrEqualForUUID() {
    List<PersonUUID> l = getOrderedPersonUUIDs();

    List<PersonUUID> people = pm.createQuery(PersonUUID.class).filter("id<=", l.get(2).id).order("id").fetch();

    assertNotNull(people);
    assertEquals(3, people.size());

   
    assertEquals(l.get(0), people.get(0));
    assertEquals(l.get(1), people.get(1));
    assertEquals(l.get(2), people.get(2));
  }
 
  public void testFilterOperatorLessThanOrEqualForLongAutoID() {
    if(supportsAutoincrement()){
      List<PersonLongAutoID> people = pm.createQuery(PersonLongAutoID.class).filter("id<=", LongAutoID_EINSTEIN.id).order("id").fetch();

      assertNotNull(people);
      assertEquals(3, people.size());

      assertEquals(LongAutoID_TESLA, people.get(0));
      assertEquals(LongAutoID_CURIE, people.get(1));
      assertEquals(LongAutoID_EINSTEIN, people.get(2));
    } else {
      try {
        List<PersonLongAutoID> people = pm.createQuery(PersonLongAutoID.class).filter("id<=", LongAutoID_EINSTEIN.id).order("id").fetch();
      }catch(SienaRestrictedApiException ex){
        return;
      }
    }
    fail();
  }
 
  public void testFilterOperatorLessThanOrEqualForLongManualID() {
    List<PersonLongManualID> people = pm.createQuery(PersonLongManualID.class).filter("id<=", LongManualID_EINSTEIN.id).order("id").fetch();

    assertNotNull(people);
    assertEquals(3, people.size());

    assertEquals(LongManualID_TESLA, people.get(0));
    assertEquals(LongManualID_CURIE, people.get(1));
    assertEquals(LongManualID_EINSTEIN, people.get(2));
  }
 
  public void testFilterOperatorLessThanOrEqualForStringID() {
    List<PersonStringID> people = pm.createQuery(PersonStringID.class).filter("id<=", StringID_TESLA.id).order("id").fetch();

    assertNotNull(people);
    assertEquals(3, people.size());

    assertEquals(StringID_CURIE, people.get(0));
    assertEquals(StringID_EINSTEIN, people.get(1));
    assertEquals(StringID_TESLA, people.get(2));
  }
 
 
  public void testFilterOperatorMoreThan() {
    List<PersonUUID> people = pm.createQuery(PersonUUID.class).filter("n>", 1).order("n").fetch();

    assertNotNull(people);
    assertEquals(2, people.size());

    assertEquals(UUID_CURIE, people.get(0));
    assertEquals(UUID_EINSTEIN, people.get(1));
  }
 
  public void testFilterOperatorMoreThanForUUID() {
    List<PersonUUID> l = getOrderedPersonUUIDs();

    List<PersonUUID> people = pm.createQuery(PersonUUID.class).filter("id>", l.get(0).id).order("id").fetch();

    assertNotNull(people);
    assertEquals(2, people.size());

   
    assertEquals(l.get(1), people.get(0));
    assertEquals(l.get(2), people.get(1));
  }
 
  public void testFilterOperatorMoreThanForLongAutoID() {
    if(supportsAutoincrement()){
      List<PersonLongAutoID> people = pm.createQuery(PersonLongAutoID.class).filter("id>", LongAutoID_TESLA.id).order("id").fetch();

      assertNotNull(people);
      assertEquals(2, people.size());

      assertEquals(LongAutoID_CURIE, people.get(0));
      assertEquals(LongAutoID_EINSTEIN, people.get(1));
    }else {
      try {
        List<PersonLongAutoID> people = pm.createQuery(PersonLongAutoID.class).filter("id>", LongAutoID_TESLA.id).order("id").fetch();
      }catch(SienaRestrictedApiException ex){
        return;
      }
 
      fail();
    }
  }
 
  public void testFilterOperatorMoreThanForLongManualID() {
    List<PersonLongManualID> people = pm.createQuery(PersonLongManualID.class).filter("id>", LongManualID_TESLA.id).order("id").fetch();

    assertNotNull(people);
    assertEquals(2, people.size());

    assertEquals(LongManualID_CURIE, people.get(0));
    assertEquals(LongManualID_EINSTEIN, people.get(1));
  }
 
  public void testFilterOperatorMoreThanForStringID() {
    List<PersonStringID> people = pm.createQuery(PersonStringID.class).filter("id>", StringID_CURIE.id).order("id").fetch();

    assertNotNull(people);
    assertEquals(2, people.size());

    assertEquals(StringID_EINSTEIN, people.get(0));
    assertEquals(StringID_TESLA, people.get(1));
  }

 
  public void testFilterOperatorMoreThanOrEqual() {
    List<PersonUUID> people = pm.createQuery(PersonUUID.class).filter("n>=", 1).order("n").fetch();

    assertNotNull(people);
    assertEquals(3, people.size());

    assertEquals(UUID_TESLA, people.get(0));
    assertEquals(UUID_CURIE, people.get(1));
    assertEquals(UUID_EINSTEIN, people.get(2));
  }

  public void testFilterOperatorMoreThanOrEqualForUUID() {
    List<PersonUUID> l = getOrderedPersonUUIDs();

    List<PersonUUID> people = pm.createQuery(PersonUUID.class).filter("id>=", l.get(0).id).order("id").fetch();

    assertNotNull(people);
    assertEquals(3, people.size());

   
    assertEquals(l.get(0), people.get(0));
    assertEquals(l.get(1), people.get(1));
    assertEquals(l.get(2), people.get(2));
  }
 
  public void testFilterOperatorMoreThanOrEqualForLongAutoID() {
    if(supportsAutoincrement()){
      List<PersonLongAutoID> people = pm.createQuery(PersonLongAutoID.class).filter("id>", LongAutoID_TESLA.id).order("id").fetch();

      assertNotNull(people);
      assertEquals(2, people.size());

      assertEquals(LongAutoID_CURIE, people.get(0));
      assertEquals(LongAutoID_EINSTEIN, people.get(1));
    }else {
      try {
        List<PersonLongAutoID> people = pm.createQuery(PersonLongAutoID.class).filter("id>=", LongAutoID_CURIE.id).order("id").fetch();
      }catch(SienaRestrictedApiException ex){
        return;
      }

      fail();
    }
  }
 
  public void testFilterOperatorMoreThanOrEqualForLongManualID() {
    List<PersonLongManualID> people = pm.createQuery(PersonLongManualID.class).filter("id>=", LongManualID_CURIE.id).order("id").fetch();

    assertNotNull(people);
    assertEquals(2, people.size());

    assertEquals(LongManualID_CURIE, people.get(0));
    assertEquals(LongManualID_EINSTEIN, people.get(1));
  }
 
  public void testFilterOperatorMoreThanOrEqualForStringID() {
    List<PersonStringID> people = pm.createQuery(PersonStringID.class).filter("id>=", StringID_EINSTEIN.id).order("id").fetch();

    assertNotNull(people);
    assertEquals(2, people.size());

    assertEquals(StringID_EINSTEIN, people.get(0));
    assertEquals(StringID_TESLA, people.get(1));
  }
 
  public void testCountFilter() {
    assertEquals(2, pm.createQuery(PersonUUID.class).filter("n<", 3).count());
  }

  public void testCountFilterNotEqual() {
    assertEquals(2, pm.createQuery(PersonUUID.class).filter("n!=", 3).count());
  }

  public void testCountFilterIn() {
    assertEquals(2, pm.createQuery(PersonUUID.class).filter("n IN", Arrays.asList(1, 2)).count());
  }
 
  public void testCountFilterUUID() {
    List<PersonUUID> l = getOrderedPersonUUIDs();
    assertEquals(2, pm.createQuery(PersonUUID.class).filter("id<", l.get(2).id).count());
  }
 
  public void testCountFilterLongAutoID() {
    if(supportsAutoincrement()){
      assertEquals(2, pm.createQuery(PersonLongAutoID.class).filter("id<", LongAutoID_EINSTEIN.id).count());
    }else {
      try {
        assertEquals(2, pm.createQuery(PersonLongAutoID.class).filter("id<", LongAutoID_EINSTEIN.id).count());
      }catch(SienaRestrictedApiException ex){
        return;
      }
      fail();
    }
  }

  public void testCountFilterLongManualID() {
    assertEquals(2, pm.createQuery(PersonLongManualID.class).filter("id<", LongManualID_EINSTEIN.id).count());
  }
 
  public void testCountFilterStringID() {
    assertEquals(2, pm.createQuery(PersonStringID.class).filter("id<", StringID_TESLA.id).count());
  }
 
  public void testFetchLimit() {
    List<PersonUUID> people = queryPersonUUIDOrderBy("n", 0, false).fetch(1);

    assertNotNull(people);
    assertEquals(1, people.size());

    assertEquals(UUID_TESLA, people.get(0));
  }

  public void testFetchLimitUUID() {
    List<PersonUUID> l = getOrderedPersonUUIDs();
    List<PersonUUID> people = queryPersonUUIDOrderBy("id", l.get(0), false).fetch(1);

    assertNotNull(people);
    assertEquals(1, people.size());

    assertEquals(l.get(0), people.get(0));
  }
 
  public void testFetchLimitLongAutoID() {
    if(supportsAutoincrement()) {
      List<PersonLongAutoID> people = queryPersonLongAutoIDOrderBy("id", 0, false).fetch(1);
 
      assertNotNull(people);
      assertEquals(1, people.size());
 
      assertEquals(LongAutoID_TESLA, people.get(0));
    }else {
      try {
        List<PersonLongAutoID> people = queryPersonLongAutoIDOrderBy("id", 0, false).fetch(1);
      }catch(SienaRestrictedApiException ex){
        return;
      }
     
      fail();
    }
  }
 
  public void testFetchLimitLongManualID() {
    List<PersonLongManualID> people = queryPersonLongManualIDOrderBy("id", 0, false).fetch(1);

    assertNotNull(people);
    assertEquals(1, people.size());

    assertEquals(LongManualID_TESLA, people.get(0));
  }
 
  public void testFetchLimitStringID() {
    List<PersonStringID> people = queryPersonStringIDOrderBy("id", StringID_CURIE, false).fetch(1);

    assertNotNull(people);
    assertEquals(1, people.size());

    assertEquals(StringID_CURIE, people.get(0));
  }
/* 
  @Deprecated
  public void testCountLimit() {
    assertEquals(1, pm.createQuery(PersonUUID.class).filter("n<", 3).count(1));
  }
*/
  public void testFetchLimitReal() {
    DiscoveryStringId[] discs = new DiscoveryStringId[10];
    for(int i=0; i<10; i++){
      discs[i] = new DiscoveryStringId("Disc_"+i, StringID_CURIE);
      pm.insert(discs[i]);
    }

    List<DiscoveryStringId> res = pm.createQuery(DiscoveryStringId.class).order("name").fetch(3);
    assertNotNull(res);
    assertEquals(3, res.size());
   
    assertEquals(discs[0], res.get(0));
    assertEquals(discs[1], res.get(1));
    assertEquals(discs[2], res.get(2));
  }
 

  public void testFetchLimitOffsetReal() {
    DiscoveryStringId[] discs = new DiscoveryStringId[10];
    for(int i=0; i<10; i++){
      discs[i] = new DiscoveryStringId("Disc_"+i, StringID_CURIE);
      pm.insert(discs[i]);
    }

    List<DiscoveryStringId> res = pm.createQuery(DiscoveryStringId.class).order("name").fetch(3, 5);
    assertNotNull(res);
    assertEquals(3, res.size());
   
    assertEquals(discs[5], res.get(0));
    assertEquals(discs[6], res.get(1));
    assertEquals(discs[7], res.get(2));
  }
 
  public void testFetchLimitOffset() {
    Query<PersonUUID> query = queryPersonUUIDOrderBy("n", 0, false);
    query.fetch(1);
    List<PersonUUID> people = query.fetch(2, 1);

    assertNotNull(people);
    assertEquals(2, people.size());

    assertEquals(UUID_CURIE, people.get(0));
    assertEquals(UUID_EINSTEIN, people.get(1));
  }

  public void testOrderLongAutoId() {
    if(supportsAutoincrement()){
      List<PersonLongAutoID> people = queryPersonLongAutoIDOrderBy("id", "", false).fetch();
     
      assertNotNull(people);
      assertEquals(3, people.size());
     
      PersonLongAutoID[] array = new PersonLongAutoID[] { LongAutoID_TESLA, LongAutoID_CURIE, LongAutoID_EINSTEIN };
 
      int i = 0;
      for (PersonLongAutoID person : people) {
        assertEquals(array[i], person);
        i++;
      }
    }else {
      try{
        List<PersonLongAutoID> people = queryPersonLongAutoIDOrderBy("id", "", false).fetch();
      }catch(SienaRestrictedApiException ex) {
        return;
      }
     
      fail();
    }
  }
 
  public void testOrderLongManualId() {
    List<PersonLongManualID> people = queryPersonLongManualIDOrderBy("id", "", false).fetch();
   
    assertNotNull(people);
    assertEquals(3, people.size());
   
    PersonLongManualID[] array = new PersonLongManualID[] { LongManualID_TESLA, LongManualID_CURIE, LongManualID_EINSTEIN };

    int i = 0;
    for (PersonLongManualID person : people) {
      assertEquals(array[i], person);
      i++;
    }
  }
 
  public void testOrderStringId() {
    List<PersonStringID> people = queryPersonStringIDOrderBy("id", "", false).fetch();
   
    assertNotNull(people);
    assertEquals(3, people.size());
   
    PersonStringID[] array = new PersonStringID[] { StringID_CURIE, StringID_EINSTEIN, StringID_TESLA };

    int i = 0;
    for (PersonStringID person : people) {
      assertEquals(array[i], person);
      i++;
    }
  }
 
  public void testFetchLotsOfEntitiesStatefulMixed(){
    DiscoveryStringId[] discs = new DiscoveryStringId[150];
    for(int i=0; i<150; i++){
      discs[i] = new DiscoveryStringId("Disc_"+String.format("%03d", i), StringID_CURIE);
    }
    pm.insert((Object[])discs);
   
    Query<DiscoveryStringId> query = pm.createQuery(DiscoveryStringId.class).stateful().order("name");
    List<DiscoveryStringId> res = query.paginate(50).fetch();
    assertEquals(50, res.size());
    for(int i=0; i<50; i++){
      assertEquals(discs[i], res.get(i));
    }
   
    res = query.fetch(50);
    assertEquals(50, res.size());
    for(int i=0; i<50; i++){
      assertEquals(discs[i], res.get(i));
    }
   
    res = query.nextPage().fetch();
    assertEquals(50, res.size());
    for(int i=0; i<50; i++){
      assertEquals(discs[i+50], res.get(i));
    }

    res = query.fetch(50);
    assertEquals(50, res.size());
    for(int i=0; i<50; i++){
      assertEquals(discs[i+50], res.get(i));
    }
  }
 
  public void testFetchLotsOfEntitiesStatefulMixed2(){
    DiscoveryStringId[] discs = new DiscoveryStringId[150];
    for(int i=0; i<150; i++){
      discs[i] = new DiscoveryStringId("Disc_"+String.format("%03d", i), StringID_CURIE);
    }
    pm.insert((Object[])discs);
   
    Query<DiscoveryStringId> query = pm.createQuery(DiscoveryStringId.class).stateful().order("name");
    List<DiscoveryStringId> res = query.fetch(50);
    assertEquals(50, res.size());
    for(int i=0; i<50; i++){
      assertEquals(discs[i], res.get(i));
    }
   
    res = query.paginate(50).fetch(50);
    assertEquals(50, res.size());
    for(int i=0; i<50; i++){
      assertEquals(discs[i+50], res.get(i));
    }
   
    res = query.nextPage().fetch();
    assertEquals(50, res.size());
    for(int i=0; i<50; i++){
      assertEquals(discs[i+100], res.get(i));
    }

    res = query.fetch(50);
    assertEquals(50, res.size());
    for(int i=0; i<50; i++){
      assertEquals(discs[i+100], res.get(i));
    }
  }
}
TOP

Related Classes of siena.base.test.BaseTestNoAutoInc_2_FETCH

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.