Mercurial > hg > Members > shoshi > TreeCMSv2
view src/treecms/test/AbstractMonotonicTreeTest.java @ 16:bb9760760744
commit
author | shoshi |
---|---|
date | Sat, 21 May 2011 04:46:00 +0900 |
parents | src/treecms/test/AbstractTreeEditorTest.java@17ed97ca9960 |
children | 168deb591f21 |
line wrap: on
line source
package treecms.test; import java.nio.ByteBuffer; import java.util.Arrays; import junit.framework.Assert; import org.junit.Test; import treecms.api.Forest; import treecms.api.MonotonicTree; import treecms.api.Node; import treecms.api.NodeID; import treecms.api.SingleNode; import treecms.api.Tree; import treecms.tree.util.NodeData; public abstract class AbstractMonotonicTreeTest { public abstract Forest getForest(); @Test public MonotonicTree testEdit() { Forest forest = getForest(); SingleNode root = forest.create(); SingleNode n1 = forest.create(); SingleNode n11 = forest.create(); SingleNode n12 = forest.create(); n1.addAll(Arrays.asList(n11,n12)); Node n2 = forest.create(); Node n21 = forest.create(); Node n22 = forest.create(); n2.addAll(Arrays.asList(n21,n22)); Node n221 = forest.create(); n22.add(n221); root.addAll(Arrays.asList(n1,n2)); TreeEditor editor = forest.getTreeEditor(forest.getTree(root)); //編集開始 NodeData data = n221.getData(); data.put(ByteBuffer.wrap("name".getBytes()),ByteBuffer.wrap("value".getBytes())); try{ Node new221 = editor.updateTree(n221,data); //n221を編集する。パスはroot -> n2 -> n22 -> n221となるはず NodeID oldID = n221.getID(); NodeID newID = new221.getID(); //編集したノードは同じUUIDを持つはず Assert.assertTrue(oldID.isFamily(newID)); Node newRoot = NodePathFinder finder = new NodePathFinder() }catch(PathNotFoundException _e){ Assert.fail(_e.getMessage()); } return editor; } @Test public void testForceCommit() { testEdit(); } @Test public void testCommitFailsWhenTreeWasUpdated() { } @Test public void testCheck() { } @Test public void testUpdate() { } }