@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()); }
@Test public void removeTestop() throws PreconditionException { CRDTMessage m = tree2.applyLocal(new OrderedTreeOperation<String>(Arrays.asList(0, 1))); tree.applyOneRemote(m); assertEquals("null{a{d,},b,c{g,h,},}", tree.getRoot().nodetail()); assertEquals("null{a{d,},b,c{g,h,},}", tree2.getRoot().nodetail()); }
@Test public void switchTestop() throws PreconditionException { OrderedTreeOperation<String> op1 = new OrderedTreeOperation<String>(MOVE, Arrays.asList(0), new LinkedList(), 1, null); CRDTMessage m = tree2.applyLocal(op1); tree.applyOneRemote(m); assertEquals("null{b,a{d,e{f,},},c{g,h,},}", tree.getRoot().nodetail()); assertEquals("null{b,a{d,e{f,},},c{g,h,},}", tree2.getRoot().nodetail()); }
@Test public void ChLabelTestop() throws PreconditionException { OpType rename = OrderedTreeOperation.OpType.chContent; OrderedTreeOperation<String> op1 = new OrderedTreeOperation<String>(rename, Arrays.asList(0), null, 0, "ZoidBerg"); CRDTMessage m = tree2.applyLocal(op1); tree.applyOneRemote(m); assertEquals("null{ZoidBerg{d,e{f,},},b,c{g,h,},}", tree.getRoot().nodetail()); assertEquals("null{ZoidBerg{d,e{f,},},b,c{g,h,},}", tree2.getRoot().nodetail()); }