Mercurial > hg > Members > shoshi > TreeCMSv2
view 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 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.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() { } }