private void traverseCases(final boolean deep) throws Exception { final Exchange ex = _persistit.getExchange("persistit", "gogo", true); ex.removeAll(); ex.clear(); assertEquals("Should be false", false, ex.traverse(Key.EQ, deep, -1)); ex.clear(); assertEquals("Should be false", false, ex.traverse(Key.GTEQ, deep, -1)); ex.clear(); assertEquals("Should be false", false, ex.traverse(Key.GT, deep, -1)); ex.clear(); assertEquals("Should be false", false, ex.traverse(Key.LTEQ, deep, -1)); ex.clear(); assertEquals("Should be false", false, ex.traverse(Key.LT, deep, -1)); ex.clear(); ex.append(1); assertEquals("Should be false", false, ex.traverse(Key.EQ, deep, -1)); ex.clear().append(1); assertEquals("Should be false", false, ex.traverse(Key.GTEQ, deep, -1)); ex.clear().append(1); assertEquals("Should be false", false, ex.traverse(Key.GT, deep, -1)); ex.clear().append(1); assertEquals("Should be false", false, ex.traverse(Key.LTEQ, deep, -1)); ex.clear().append(1); assertEquals("Should be false", false, ex.traverse(Key.LT, deep, -1)); ex.clear().append(1); ex.append(1).append(2).store(); ex.clear().append(Key.BEFORE); assertEquals("Should be false", false, ex.traverse(Key.EQ, deep, -1)); assertEquals("Should be true", true, ex.traverse(Key.GTEQ, deep, -1)); assertEquals("Should be true", true, ex.traverse(Key.GTEQ, deep, -1)); ex.clear().append(1); assertEquals("Should be " + !deep, !deep, ex.traverse(Key.EQ, deep, -1)); ex.clear().append(Key.AFTER); assertEquals("Should be false", false, ex.traverse(Key.EQ, deep, -1)); ex.clear().append(Key.AFTER); assertEquals("Should be true", true, ex.traverse(Key.LTEQ, deep, -1)); assertEquals("Should be true", true, ex.traverse(Key.LTEQ, deep, -1)); ex.removeAll(); ex.clear(); assertEquals("Should be false", false, ex.traverse(Key.EQ, deep, 0)); keyCheck(ex, "{{before}}"); ex.clear(); assertEquals("Should be false", false, ex.traverse(Key.GTEQ, deep, 0)); keyCheck(ex, "{{before}}"); ex.clear(); assertEquals("Should be false", false, ex.traverse(Key.GT, deep, 0)); keyCheck(ex, "{{before}}"); ex.clear(); assertEquals("Should be false", false, ex.traverse(Key.LTEQ, deep, 0)); keyCheck(ex, "{{after}}"); ex.clear(); assertEquals("Should be false", false, ex.traverse(Key.LT, deep, 0)); keyCheck(ex, "{{after}}"); ex.clear(); ex.append(1).append(2).store(); ex.clear().append(Key.BEFORE); assertEquals("Should be false", false, ex.traverse(Key.EQ, deep, 0)); keyCheck(ex, "{{before}}"); assertEquals("Should be true", true, ex.traverse(Key.GTEQ, deep, 0)); keyCheck(ex, deep ? "{1,2}" : "{1}"); assertEquals("Should be true", true, ex.traverse(Key.GTEQ, deep, 0)); keyCheck(ex, deep ? "{1,2}" : "{1}"); assertEquals("Should be true", true, ex.traverse(Key.EQ, deep, 0)); keyCheck(ex, deep ? "{1,2}" : "{1}"); ex.clear().append(Key.AFTER); assertEquals("Should be false", false, ex.traverse(Key.EQ, deep, 0)); keyCheck(ex, "{{before}}"); ex.clear().append(Key.AFTER); assertEquals("Should be true", true, ex.traverse(Key.LTEQ, deep, 0)); keyCheck(ex, deep ? "{1,2}" : "{1}"); assertEquals("Should be true", true, ex.traverse(Key.LTEQ, deep, 0)); keyCheck(ex, deep ? "{1,2}" : "{1}"); assertEquals("Should be true", true, ex.traverse(Key.EQ, deep, 0)); keyCheck(ex, deep ? "{1,2}" : "{1}"); }