Mercurial > hg > Members > shoshi > TreeCMSv2
diff src/treecms/test/AbstractTreeEditorTest.java @ 9:17ed97ca9960
commit
author | shoshi |
---|---|
date | Mon, 18 Apr 2011 01:07:27 +0900 |
parents | src/treecms/test/TreeEditorTest.java@12604eb6b615 |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/treecms/test/AbstractTreeEditorTest.java Mon Apr 18 01:07:27 2011 +0900 @@ -0,0 +1,86 @@ +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.Node; +import treecms.api.NodeData; +import treecms.api.NodeID; +import treecms.api.Tree; +import treecms.api.TreeEditor; +import treecms.tree.util.PathNotFoundException; + +public abstract class AbstractTreeEditorTest +{ + public abstract Forest getForest(); + + @Test + public TreeEditor testEdit() + { + Forest forest = getForest(); + Node root = forest.create(); + + Node n1 = forest.create(); + Node n11 = forest.create(); + Node 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() + { + } +}