Skip to content

Commit 911c19b

Browse files
committed
[JAVA-293]: added tests
1 parent 978ad37 commit 911c19b

File tree

1 file changed

+46
-2
lines changed

1 file changed

+46
-2
lines changed

src/test/com/mongodb/DBCursorTest.java

Lines changed: 46 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -105,9 +105,10 @@ public void testBig(){
105105
assertEquals( numToInsert , c.find().limit(800).count() );
106106
assertEquals( 800 , c.find().limit(800).toArray().size() );
107107

108+
// negative limit works like negative batchsize, for legacy reason
108109
int x = c.find().limit(-800).toArray().size();
109110
assertLess( x , 800 );
110-
111+
111112
DBCursor a = c.find();
112113
assertEquals( numToInsert , a.itcount() );
113114

@@ -224,7 +225,50 @@ public void testSpecial(){
224225
assertTrue( o.get("_id") != null );
225226

226227
}
227-
228+
229+
@Test
230+
public void testLimitAndBatchSize() {
231+
DBCollection c = _db.getCollection( "LimitAndBatchSize" );
232+
c.drop();
233+
234+
for ( int i=0; i<1000; i++ )
235+
c.save( new BasicDBObject( "x" , i ) );
236+
237+
DBObject q = BasicDBObjectBuilder.start().push( "x" ).add( "$lt" , 200 ).get();
238+
239+
DBCursor cur = c.find( q );
240+
assertEquals(0, cur.getCursorId());
241+
assertEquals( 200 , cur.itcount() );
242+
243+
cur = c.find( q ).limit(50);
244+
assertEquals(0, cur.getCursorId());
245+
assertEquals( 50 , cur.itcount() );
246+
247+
cur = c.find( q ).batchSize(50);
248+
assertEquals(0, cur.getCursorId());
249+
assertEquals( 200 , cur.itcount() );
250+
251+
cur = c.find( q ).batchSize(100).limit(50);
252+
assertEquals(0, cur.getCursorId());
253+
assertEquals( 50 , cur.itcount() );
254+
255+
cur = c.find( q ).batchSize(-40);
256+
assertEquals(0, cur.getCursorId());
257+
assertEquals( 40 , cur.itcount() );
258+
259+
cur = c.find( q ).limit(-100);
260+
assertEquals(0, cur.getCursorId());
261+
assertEquals( 100 , cur.itcount() );
262+
263+
cur = c.find( q ).batchSize(-40).limit(20);
264+
assertEquals(0, cur.getCursorId());
265+
assertEquals( 20 , cur.itcount() );
266+
267+
cur = c.find( q ).batchSize(-20).limit(100);
268+
assertEquals(0, cur.getCursorId());
269+
assertEquals( 20 , cur.itcount() );
270+
}
271+
228272
final DB _db;
229273

230274
public static void main( String args[] )

0 commit comments

Comments
 (0)