Author: arminw Date: Wed Mar 21 18:22:10 2007 New Revision: 521070 URL: http://svn.apache.org/viewvc?view=rev&rev=521070 Log: update, fix tests
Modified: db/ojb/trunk/src/test/org/apache/ojb/broker/FunctionTest.java db/ojb/trunk/src/test/org/apache/ojb/broker/PaginationTest.java Modified: db/ojb/trunk/src/test/org/apache/ojb/broker/FunctionTest.java URL: http://svn.apache.org/viewvc/db/ojb/trunk/src/test/org/apache/ojb/broker/FunctionTest.java?view=diff&rev=521070&r1=521069&r2=521070 ============================================================================== --- db/ojb/trunk/src/test/org/apache/ojb/broker/FunctionTest.java (original) +++ db/ojb/trunk/src/test/org/apache/ojb/broker/FunctionTest.java Wed Mar 21 18:22:10 2007 @@ -26,6 +26,7 @@ import org.apache.ojb.broker.query.QueryFactory; import org.apache.ojb.broker.query.ReportQueryByCriteria; import org.apache.ojb.broker.util.AttributeTokenizer; +import org.apache.ojb.broker.platforms.PlatformOracleImpl; import org.apache.commons.lang.builder.EqualsBuilder; /** @@ -184,8 +185,13 @@ assertEquals(1, size); } - public void testReportQuery_3() + public void testReportQuery_3() throws Exception { + if(broker.serviceConnectionManager().getSupportedPlatform() instanceof PlatformOracleImpl) + { + ojbSkipTestMessage("Seems that Oracle jdbc-driver doesn't support CURDATE() function"); + return; + } String name = "testReportQuery_3_" + System.currentTimeMillis(); Key key = createTestObject(name); broker.clearCache(); @@ -193,14 +199,12 @@ Integer pk = ((Many) key.getCurdate().getSum().get(0)).getSum(); Criteria crit = new Criteria().addEqualTo("curdate.sum.sum", pk).addEqualTo("name", name); ReportQueryByCriteria q = QueryFactory.newReportQuery(Key.class, crit); - q.setAttributes(new String[]{"name", "sum(curdate.sum.fkOne)", "curdate()"}); + q.setAttributes(new String[]{"name", "sum(curdate.sum.fkOne)", "CURDATE()"}); q.addGroupBy("name"); -// Criteria crit = new Criteria(); -// ReportQueryByCriteria q = QueryFactory.newReportQuery(Key.class, crit); -// q.setAttributes(new String[]{"name", "sum(curdate.sum.fkOne)", "curdate()"}); -// q.addGroupBy("name"); -// q.setEndAtIndex(1); +// System.out.println("## n: " + broker.serviceConnectionManager().getConnection().getMetaData().getNumericFunctions()); +// System.out.println("## s: " + broker.serviceConnectionManager().getConnection().getMetaData().getStringFunctions()); +// System.out.println("## d: " + broker.serviceConnectionManager().getConnection().getMetaData().getTimeDateFunctions()); Iterator it = broker.getReportQueryIteratorByQuery(q); int size = 0; @@ -211,10 +215,10 @@ assertNotNull(arr[1]); assertNotNull(arr[2]); ++size; - System.out.println(); - System.out.print("arr[0]=" +arr[0]); - System.out.print(" arr[1]=" +arr[1]); - System.out.print(" arr[2]=" +arr[2]); +// System.out.println(); +// System.out.print("arr[0]=" +arr[0]); +// System.out.print(" arr[1]=" +arr[1]); +// System.out.print(" arr[2]=" +arr[2]); } assertEquals(1, size); Modified: db/ojb/trunk/src/test/org/apache/ojb/broker/PaginationTest.java URL: http://svn.apache.org/viewvc/db/ojb/trunk/src/test/org/apache/ojb/broker/PaginationTest.java?view=diff&rev=521070&r1=521069&r2=521070 ============================================================================== --- db/ojb/trunk/src/test/org/apache/ojb/broker/PaginationTest.java (original) +++ db/ojb/trunk/src/test/org/apache/ojb/broker/PaginationTest.java Wed Mar 21 18:22:10 2007 @@ -123,28 +123,40 @@ public void testLimit_1() { String appendix = "_testLimit_1_" + System.currentTimeMillis(); - performLimit(appendix, 1, 1, 10); + performLimit(appendix, 1, 1, 10, false); } public void testLimit_3() { String appendix = "_testLimit_3_" + System.currentTimeMillis(); - performLimit(appendix, 3, 3, 30); + performLimit(appendix, 3, 3, 30, false); } public void testLimit_2() { String appendix = "_testLimit_2_" + System.currentTimeMillis(); - performLimit(appendix, 9, 9, 90); + performLimit(appendix, 9, 9, 90, false); } public void testLimit_4() { String appendix = "_testLimit_4_" + System.currentTimeMillis(); - performLimit(appendix, 10, 9, 90); + performLimit(appendix, 10, 9, 90, false); } - public void performLimit(String appendix, int limit, int expectedSize, int voteLessOrEqual) + public void testLimit_5() + { + String appendix = "_testLimit_5_" + System.currentTimeMillis(); + performLimit(appendix, 9, 9, 90, true); + } + + public void testLimit_6() + { + String appendix = "_testLimit_6_" + System.currentTimeMillis(); + performLimit(appendix, 10, 9, 90, true); + } + + public void performLimit(String appendix, int limit, int expectedSize, int voteLessOrEqual, boolean distinct) { insertTestData(appendix); @@ -163,6 +175,7 @@ // because else it will end in multiple limit queries (one for each extent) // thus the result will be pagination_size * extents query.setWithExtents(false); + query.setDistinct(distinct); // check result without limit Collection result = broker.getCollectionByQuery(query); @@ -186,6 +199,7 @@ // because else it will end in multiple limit queries (one for each extent) // thus the result will be pagination_size * extents query.setWithExtents(false); + query.setDistinct(distinct); // query with limit query.setEndAtIndex(limit); result = broker.getCollectionByQuery(query); @@ -211,7 +225,7 @@ int expectedSize = 1; int voteGreaterEquals = 10; int voteLessEquals = 10; - performLimitOffest(appendix, start, end, expectedSize, voteGreaterEquals, voteLessEquals); + performLimitOffest(appendix, start, end, expectedSize, voteGreaterEquals, voteLessEquals, false); } public void testLimitOffset_2() @@ -222,7 +236,7 @@ int expectedSize = 1; int voteGreaterEquals = 40; int voteLessEquals = 40; - performLimitOffest(appendix, start, end, expectedSize, voteGreaterEquals, voteLessEquals); + performLimitOffest(appendix, start, end, expectedSize, voteGreaterEquals, voteLessEquals, false); } public void testLimitOffset_3() @@ -233,7 +247,7 @@ int expectedSize = 8; int voteGreaterEquals = 10; int voteLessEquals = 80; - performLimitOffest(appendix, start, end, expectedSize, voteGreaterEquals, voteLessEquals); + performLimitOffest(appendix, start, end, expectedSize, voteGreaterEquals, voteLessEquals, false); } public void testLimitOffset_4() @@ -244,7 +258,7 @@ int expectedSize = 9; int voteGreaterEquals = 10; int voteLessEquals = 90; - performLimitOffest(appendix, start, end, expectedSize, voteGreaterEquals, voteLessEquals); + performLimitOffest(appendix, start, end, expectedSize, voteGreaterEquals, voteLessEquals, false); } public void testLimitOffset_5() @@ -255,7 +269,7 @@ int expectedSize = 9; int voteGreaterEquals = 10; int voteLessEquals = 90; - performLimitOffest(appendix, start, end, expectedSize, voteGreaterEquals, voteLessEquals); + performLimitOffest(appendix, start, end, expectedSize, voteGreaterEquals, voteLessEquals, false); } public void testLimitOffset_6() @@ -266,7 +280,7 @@ int expectedSize = 1; int voteGreaterEquals = 90; int voteLessEquals = 90; - performLimitOffest(appendix, start, end, expectedSize, voteGreaterEquals, voteLessEquals); + performLimitOffest(appendix, start, end, expectedSize, voteGreaterEquals, voteLessEquals, false); } public void testLimitOffset_7() @@ -277,7 +291,7 @@ int expectedSize = 4; int voteGreaterEquals = 40; int voteLessEquals = 70; - performLimitOffest(appendix, start, end, expectedSize, voteGreaterEquals, voteLessEquals); + performLimitOffest(appendix, start, end, expectedSize, voteGreaterEquals, voteLessEquals, false); } public void testLimitOffset_8() @@ -289,7 +303,7 @@ int expectedSize = 7; int voteGreaterEquals = 30; int voteLessEquals = 90; - performLimitOffest(appendix, start, end, expectedSize, voteGreaterEquals, voteLessEquals); + performLimitOffest(appendix, start, end, expectedSize, voteGreaterEquals, voteLessEquals, false); } public void testLimitOffset_9() @@ -301,12 +315,36 @@ int expectedSize = 1; int voteGreaterEquals = 90; int voteLessEquals = 90; - performLimitOffest(appendix, start, end, expectedSize, voteGreaterEquals, voteLessEquals); + performLimitOffest(appendix, start, end, expectedSize, voteGreaterEquals, voteLessEquals, false); + } + + public void testLimitOffset_10() + { + String appendix = "_testLimitOffset_10_" + System.currentTimeMillis(); + int start = 3; + // don't specify end + int end = Query.NO_END_AT_INDEX; + int expectedSize = 7; + int voteGreaterEquals = 30; + int voteLessEquals = 90; + performLimitOffest(appendix, start, end, expectedSize, voteGreaterEquals, voteLessEquals, true); + } + + public void testLimitOffset_11() + { + String appendix = "_testLimitOffset_11_" + System.currentTimeMillis(); + int start = 9; + // don't specify end + int end = Query.NO_END_AT_INDEX; + int expectedSize = 1; + int voteGreaterEquals = 90; + int voteLessEquals = 90; + performLimitOffest(appendix, start, end, expectedSize, voteGreaterEquals, voteLessEquals, true); } public void performLimitOffest(String appendix, int start, int end, int expectedSize, - int voteGreaterEquals, int voteLessEquals) + int voteGreaterEquals, int voteLessEquals, boolean distinct) { insertTestData(appendix); @@ -325,6 +363,7 @@ // because else it will end in multiple limit queries (one for each extent) // thus the result will be pagination_size * extents query.setWithExtents(false); + query.setDistinct(distinct); // check result without limit Collection result = broker.getCollectionByQuery(query); @@ -348,6 +387,7 @@ // because else it will end in multiple limit queries (one for each extent) // thus the result will be pagination_size * extents query.setWithExtents(false); + query.setDistinct(distinct); query.setStartAtIndex(start); query.setEndAtIndex(end); result = broker.getCollectionByQuery(query); @@ -482,6 +522,7 @@ // expect PagingIterator instance, without extents, nativeLimit=false // ------------------------------------------------------------- query = QueryFactory.newQuery(Article.class, crit); + query.addOrderByAscending("articleId"); query.setWithExtents(false); query.setStartAtIndex(startIndex); query.setEndAtIndex(endIndex); @@ -527,6 +568,7 @@ // expect ChainingIterator instance, with extents, nativeLimit=true // ------------------------------------------------------------- query = QueryFactory.newQuery(Article.class, crit); + query.addOrderByAscending("articleId"); // now we want all results with extents, in this case OJB // will use a chaining iterator query.setWithExtents(true); @@ -571,6 +613,7 @@ // expect ChainingIterator instance, with extents, nativeLimit=false // ------------------------------------------------------------- query = QueryFactory.newQuery(Article.class, crit); + query.addOrderByAscending("articleId"); // now we want all results with extents, in this case OJB // will use a chaining iterator query.setWithExtents(true); @@ -662,16 +705,19 @@ public void testPagingPosition_4() { - String name = "testPagingPosition_4_" + System.currentTimeMillis(); - int articleCount = 20; - int startIndex = 10; - int endIndex = 14; - // move to last position - int absoluteIndex = -1; - int expectedStockValue = 14; - boolean allowRelativePlusOneCall = false; + for(int i=0; i<5; i++) + { + String name = "testPagingPosition_4_" + System.currentTimeMillis() + i; + int articleCount = 20; + int startIndex = 10; + int endIndex = 14; + // move to last position + int absoluteIndex = -1; + int expectedStockValue = 14; + boolean allowRelativePlusOneCall = false; - pagingPositionTest(name, articleCount, startIndex, endIndex, absoluteIndex, expectedStockValue, allowRelativePlusOneCall); + pagingPositionTest(name, articleCount, startIndex, endIndex, absoluteIndex, expectedStockValue, allowRelativePlusOneCall); + } } public void testPagingPosition_5() --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]