コード例 #1
0
 @Test
 public void removeAll2Test() throws Exception {
   tree.setRemoveEntireSubtree(true);
   tree2.setRemoveEntireSubtree(true);
   StandardSizeCalculator sdc = new StandardSizeCalculator(true);
   long s1 = sdc.serializ(tree);
   long s2 = sdc.serializ(tree2);
   long s3 = sdc.serializ(tree3);
   assertTrue(s3 < s1);
   assertTrue(s3 < s2);
   CRDTMessage mess1 = tree2.remove(Arrays.asList(0)); // f
   CRDTMessage mess2 = tree2.remove(Arrays.asList(0)); // f
   CRDTMessage mess3 = tree2.remove(Arrays.asList(0)); // f
   tree.applyRemote(mess1);
   tree.applyRemote(mess3);
   tree.applyRemote(mess2);
   assertEquals("null", tree2.getRoot().nodetail());
   assertEquals("null", tree.getRoot().nodetail());
   long sa1 = sdc.serializ(tree);
   long sa2 = sdc.serializ(tree2);
   assertEquals(1, tree.map.size());
   assertEquals(1, tree2.map.size());
   assertEquals(s3, sa1);
   assertEquals(s3, sa2);
 }
コード例 #2
0
  @Test
  public void moveTest() {
    CRDTMessage m = tree2.move(Arrays.asList(0, 1), Arrays.asList(2), 1);
    tree.applyRemote(m);

    assertEquals("null{a{d,},b,c{g,e{f,},h,},}", tree.getRoot().nodetail());
    assertEquals("null{a{d,},b,c{g,e{f,},h,},}", tree2.getRoot().nodetail());
  }
コード例 #3
0
 @Test
 public void moveTestop() throws PreconditionException {
   OrderedTreeOperation<String> op1 =
       new OrderedTreeOperation<String>(MOVE, Arrays.asList(0, 1), Arrays.asList(2), 1, null);
   CRDTMessage m = tree2.applyLocal(op1);
   tree.applyRemote(m);
   assertEquals("null{a{d,},b,c{g,e{f,},h,},}", tree.getRoot().nodetail());
   assertEquals("null{a{d,},b,c{g,e{f,},h,},}", tree2.getRoot().nodetail());
 }