コード例 #1
0
  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}");
  }