@Test(expectedExceptions = IllegalArgumentException.class, expectedExceptionsMessageRegExp = "ISPN014802: 'from' must be an instance of java.lang.Comparable") public void testBetweenArgsAreComparable() { QueryFactory qf = getQueryFactory(); qf.from(getModelFactory().getTransactionImplClass()) .having("date").between(new Object(), new Object()) .build(); }
public void testGlobalSum() { QueryFactory qf = getQueryFactory(); Query q = qf.from(getModelFactory().getTransactionImplClass()) .select(sum("amount")) .build(); List<Object[]> list = q.list(); assertEquals(1, list.size()); assertEquals(1, list.get(0).length); assertEquals(9693d, (Double) list.get(0)[0], 0.0001d); }
public void testGlobalMinDouble() { QueryFactory qf = getQueryFactory(); Query q = qf.from(getModelFactory().getTransactionImplClass()) .select(min("amount")) .build(); List<Object[]> list = q.list(); assertEquals(1, list.size()); assertEquals(1, list.get(0).length); assertEquals(5d, list.get(0)[0]); }
public void testGlobalAvg() { QueryFactory qf = getQueryFactory(); Query q = qf.from(getModelFactory().getTransactionImplClass()) .select(avg("amount")) .build(); List<Object[]> list = q.list(); assertEquals(1, list.size()); assertEquals(1, list.get(0).length); assertEquals(173.0892d, (Double) list.get(0)[0], 0.0001d); }
public void testGlobalMaxDouble() { QueryFactory qf = getQueryFactory(); Query q = qf.from(getModelFactory().getTransactionImplClass()) .select(max("amount")) .build(); List<Object[]> list = q.list(); assertEquals(1, list.size()); assertEquals(1, list.get(0).length); assertEquals(1800d, list.get(0)[0]); }
public void testGt() { QueryFactory qf = getQueryFactory(); // all the transactions greater than a given amount Query q = qf.from(getModelFactory().getTransactionImplClass()) .having("amount").gt(1500) .build(); List<Transaction> list = q.list(); assertEquals(1, list.size()); assertTrue(list.get(0).getAmount() > 1500); }
public void testDateFilteringWithGroupBy() throws Exception { QueryFactory qf = getQueryFactory(); Query q = qf.from(getModelFactory().getTransactionImplClass()) .select("date") .having("date").between(makeDate("2013-02-15"), makeDate("2013-03-15")) .groupBy("date") .build(); List<Object[]> list = q.list(); assertEquals(1, list.size()); assertEquals(1, list.get(0).length); assertEquals(java.util.Date.class, list.get(0)[0].getClass()); assertEquals(makeDate("2013-02-27"), list.get(0)[0]); }
public void testLike() { QueryFactory qf = getQueryFactory(); // all rent payments made from a given account Query q = qf.from(getModelFactory().getTransactionImplClass()) .having("description").like("%rent%") .build(); List<Transaction> list = q.list(); assertEquals(1, list.size()); assertEquals(1, list.get(0).getAccountId()); assertEquals(1500, list.get(0).getAmount(), 0); }
public void testSampleDomainQuery7() { QueryFactory qf = getQueryFactory(); // all rent payments made from a given account Query q = qf.from(getModelFactory().getTransactionImplClass()) .having("accountId").eq(1) .and().having("description").like("%rent%") .build(); List<Transaction> list = q.list(); assertEquals(1, list.size()); assertEquals(1, list.get(0).getId()); assertEquals(1, list.get(0).getAccountId()); assertTrue(list.get(0).getDescription().contains("rent")); }
public void testSampleDomainQuery10() { QueryFactory qf = getQueryFactory(); // all the transactions for a an account having amount greater than a given amount Query q = qf.from(getModelFactory().getTransactionImplClass()) .having("accountId").eq(2) .and().having("amount").gt(40) .build(); List<Transaction> list = q.list(); assertEquals(52, list.size()); assertTrue(list.get(0).getAmount() > 40); assertTrue(list.get(1).getAmount() > 40); }
public void testDateGrouping1() throws Exception { QueryFactory qf = getQueryFactory(); Query q = qf.from(getModelFactory().getTransactionImplClass()) .select("date") .having("date").between(makeDate("2013-02-15"), makeDate("2013-03-15")) .groupBy("date") .build(); List<Object[]> list = q.list(); assertEquals(1, list.size()); assertEquals(1, list.get(0).length); assertEquals(makeDate("2013-02-27"), list.get(0)[0]); }
public void testLt() { QueryFactory qf = getQueryFactory(); Query q = qf.from(getModelFactory().getTransactionImplClass()) .having("amount").lt(1500) .build(); List<Transaction> list = q.list(); assertEquals(54, list.size()); for (Transaction t : list) { assertTrue(t.getAmount() < 1500); } }
public void testLte() { QueryFactory qf = getQueryFactory(); Query q = qf.from(getModelFactory().getTransactionImplClass()) .having("amount").lte(1500) .build(); List<Transaction> list = q.list(); assertEquals(55, list.size()); for (Transaction t : list) { assertTrue(t.getAmount() <= 1500); } }
public void testGte() { QueryFactory qf = getQueryFactory(); Query q = qf.from(getModelFactory().getTransactionImplClass()) .having("amount").gte(1500) .build(); List<Transaction> list = q.list(); assertEquals(2, list.size()); for (Transaction t : list) { assertTrue(t.getAmount() >= 1500); } }
public void testSampleDomainQuery12() { QueryFactory qf = getQueryFactory(); // all the transactions that represents credits to the account Query q = qf.from(getModelFactory().getTransactionImplClass()) .having("accountId").eq(1) .and() .not().having("isDebit").eq(true).build(); List<Transaction> list = q.list(); assertEquals(1, list.size()); assertFalse(list.get(0).isDebit()); }
public void testBetween3() throws Exception { QueryFactory qf = getQueryFactory(); // all the transactions that happened in January 2013 Query q = qf.from(getModelFactory().getTransactionImplClass()) .having("date").between(makeDate("2013-01-01"), makeDate("2013-01-31")).includeLower(false) .build(); List<Transaction> list = q.list(); assertEquals(3, list.size()); for (Transaction t : list) { assertTrue(t.getDate().compareTo(makeDate("2013-01-31")) <= 0); assertTrue(t.getDate().compareTo(makeDate("2013-01-01")) > 0); } }
public void testCompareDoubleWithInt() { QueryFactory qf = getQueryFactory(); Query q = qf.from(getModelFactory().getTransactionImplClass()) .select(sum("amount")) .groupBy("accountId") .having(sum("amount")).gt(50000) .build(); List<Object[]> list = q.list(); assertEquals(0, list.size()); }
private void checkIndexPresence(Cache cache) { SearchIntegrator searchIntegrator = Search.getSearchManager(cache).unwrap(SearchIntegrator.class); verifyClassIsIndexed(searchIntegrator, getModelFactory().getUserImplClass()); verifyClassIsIndexed(searchIntegrator, getModelFactory().getAccountImplClass()); verifyClassIsIndexed(searchIntegrator, getModelFactory().getTransactionImplClass()); verifyClassIsNotIndexed(searchIntegrator, getModelFactory().getAddressImplClass()); }
@Override protected void createCacheManagers() throws Throwable { ConfigurationBuilder cfg = TestCacheManagerFactory.getDefaultCacheConfiguration(true); cfg.transaction() .transactionMode(TransactionMode.TRANSACTIONAL) .indexing().index(Index.ALL) .addIndexedEntity(getModelFactory().getUserImplClass()) .addIndexedEntity(getModelFactory().getAccountImplClass()) .addIndexedEntity(getModelFactory().getTransactionImplClass()) .addProperty("default.directory_provider", "local-heap") .addProperty("lucene_version", "LUCENE_CURRENT"); createClusteredCaches(1, cfg); }
@Override protected void createCacheManagers() throws Throwable { ConfigurationBuilder cfg = TestCacheManagerFactory.getDefaultCacheConfiguration(true); cfg.transaction() .transactionMode(TransactionMode.TRANSACTIONAL) .indexing().index(Index.ALL) .addIndexedEntity(getModelFactory().getUserImplClass()) .addIndexedEntity(getModelFactory().getAccountImplClass()) .addIndexedEntity(getModelFactory().getTransactionImplClass()) .addProperty("default.directory_provider", "local-heap") .addProperty("lucene_version", "LUCENE_CURRENT"); createClusteredCaches(1, cfg); }