@@ -435,6 +435,41 @@ public void canGetItemRepliesWithResultSetManagement() throws Exception {
435435 assertSameNodeItem (itemsResult .get (1 ), testItem1 );
436436 }
437437
438+ @ Test
439+ public void canGetItemRepliesWithResultSetManagementPagingBackwards () throws Exception {
440+
441+ dbTester .loadData ("node_1" );
442+ NodeItem testItem1 = new NodeItemImpl (TEST_SERVER1_NODE1_ID , "a6" ,
443+ new Date (), "<entry>payload</entry>" , "a5" , new Date ());
444+ Thread .sleep (100 );
445+ NodeItem testItem2 = new NodeItemImpl (TEST_SERVER1_NODE1_ID , "a7" ,
446+ new Date (), "<entry>payload</entry>" , "a5" , new Date ());
447+ Thread .sleep (100 );
448+ NodeItem testItem3 = new NodeItemImpl (TEST_SERVER1_NODE1_ID , "a8" ,
449+ new Date (), "<entry>payload</entry>" , "a5" , new Date ());
450+ Thread .sleep (100 );
451+ NodeItem testItem4 = new NodeItemImpl (TEST_SERVER1_NODE1_ID , "a9" ,
452+ new Date (), "<entry>payload</entry>" , "/full-node-item-id-ref/a5" , new Date ());
453+ store .addNodeItem (testItem1 );
454+ store .addNodeItem (testItem2 );
455+ store .addNodeItem (testItem3 );
456+ store .addNodeItem (testItem4 );
457+
458+ ClosableIteratorImpl <NodeItem > items = store .getNodeItemReplies (
459+ TEST_SERVER1_NODE1_ID , "a5" , "a8" , false , 4 );
460+
461+ int count = 0 ;
462+ ArrayList <NodeItem > itemsResult = new ArrayList <NodeItem >();
463+ while (items .hasNext ()) {
464+ ++count ;
465+ itemsResult .add (items .next ());
466+
467+ }
468+ assertEquals (2 , count );
469+ assertSameNodeItem (itemsResult .get (0 ), testItem1 );
470+ assertSameNodeItem (itemsResult .get (1 ), testItem2 );
471+ }
472+
438473 @ Test
439474 public void canGetCountOfItemReplies () throws Exception {
440475 dbTester .loadData ("node_1" );
0 commit comments