# HG changeset patch # User Shoshi TAMAKI # Date 1359366772 -32400 # Node ID cb9fabaedfd4a2ef35eefeec6ee43da9bd5276c3 # Parent 35e327577b5827d5f0b7b33d0ce200cd9814732e added tests and changed testing provider to junit47 diff -r 35e327577b58 -r cb9fabaedfd4 pom.xml --- a/pom.xml Sat Jan 26 22:52:32 2013 +0900 +++ b/pom.xml Mon Jan 28 18:52:52 2013 +0900 @@ -18,7 +18,7 @@ junit junit - 3.8.1 + 4.7 test @@ -32,11 +32,6 @@ 3.2.1 - net.sf.jpf - jpf - 1.5 - - org.functionaljava functionaljava 3.1 @@ -52,6 +47,21 @@ 1.6 + + org.apache.maven.plugin + maven-surefire-plugin + 2.13 + + **/*TestBase.java + + + + org.apache.maven.surefire + surefire-junit47 + 2.13 + + + diff -r 35e327577b58 -r cb9fabaedfd4 src/main/java/jp/ac/u_ryukyu/ie/cr/shoshi/jungle/JungleTreeEditor.java --- a/src/main/java/jp/ac/u_ryukyu/ie/cr/shoshi/jungle/JungleTreeEditor.java Sat Jan 26 22:52:32 2013 +0900 +++ b/src/main/java/jp/ac/u_ryukyu/ie/cr/shoshi/jungle/JungleTreeEditor.java Mon Jan 28 18:52:52 2013 +0900 @@ -3,7 +3,7 @@ import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.Transaction; import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.TreeEditor; -public interface JungleTreeEditor extends TreeEditor , Transaction +public interface JungleTreeEditor> extends TreeEditor , Transaction { } diff -r 35e327577b58 -r cb9fabaedfd4 src/main/java/jp/ac/u_ryukyu/ie/cr/shoshi/jungle/core/Attributes.java --- a/src/main/java/jp/ac/u_ryukyu/ie/cr/shoshi/jungle/core/Attributes.java Sat Jan 26 22:52:32 2013 +0900 +++ b/src/main/java/jp/ac/u_ryukyu/ie/cr/shoshi/jungle/core/Attributes.java Mon Jan 28 18:52:52 2013 +0900 @@ -1,6 +1,8 @@ package jp.ac.u_ryukyu.ie.cr.shoshi.jungle.core; -public interface Attributes +import java.nio.ByteBuffer; + +public interface Attributes { - public V get(K _key); + public ByteBuffer get(String _key); } diff -r 35e327577b58 -r cb9fabaedfd4 src/main/java/jp/ac/u_ryukyu/ie/cr/shoshi/jungle/core/AttributesContainer.java --- a/src/main/java/jp/ac/u_ryukyu/ie/cr/shoshi/jungle/core/AttributesContainer.java Sat Jan 26 22:52:32 2013 +0900 +++ b/src/main/java/jp/ac/u_ryukyu/ie/cr/shoshi/jungle/core/AttributesContainer.java Mon Jan 28 18:52:52 2013 +0900 @@ -1,6 +1,6 @@ package jp.ac.u_ryukyu.ie.cr.shoshi.jungle.core; -public interface AttributesContainer +public interface AttributesContainer { - public Attributes getAttributes(); + public Attributes getAttributes(); } diff -r 35e327577b58 -r cb9fabaedfd4 src/main/java/jp/ac/u_ryukyu/ie/cr/shoshi/jungle/core/Node.java --- a/src/main/java/jp/ac/u_ryukyu/ie/cr/shoshi/jungle/core/Node.java Sat Jan 26 22:52:32 2013 +0900 +++ b/src/main/java/jp/ac/u_ryukyu/ie/cr/shoshi/jungle/core/Node.java Mon Jan 28 18:52:52 2013 +0900 @@ -1,7 +1,6 @@ package jp.ac.u_ryukyu.ie.cr.shoshi.jungle.core; -import java.nio.ByteBuffer; -public interface Node extends AttributesContainer , Parent +public interface Node extends AttributesContainer , Parent { } \ No newline at end of file diff -r 35e327577b58 -r cb9fabaedfd4 src/main/java/jp/ac/u_ryukyu/ie/cr/shoshi/jungle/store/impl/DefaultAttributes.java --- a/src/main/java/jp/ac/u_ryukyu/ie/cr/shoshi/jungle/store/impl/DefaultAttributes.java Sat Jan 26 22:52:32 2013 +0900 +++ b/src/main/java/jp/ac/u_ryukyu/ie/cr/shoshi/jungle/store/impl/DefaultAttributes.java Mon Jan 28 18:52:52 2013 +0900 @@ -13,7 +13,7 @@ import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.util.Either; import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.util.Error; -public class DefaultAttributes implements Attributes +public class DefaultAttributes implements Attributes { private final TreeMap attrs; diff -r 35e327577b58 -r cb9fabaedfd4 src/main/java/jp/ac/u_ryukyu/ie/cr/shoshi/jungle/store/impl/DefaultTreeEditor.java --- a/src/main/java/jp/ac/u_ryukyu/ie/cr/shoshi/jungle/store/impl/DefaultTreeEditor.java Sat Jan 26 22:52:32 2013 +0900 +++ b/src/main/java/jp/ac/u_ryukyu/ie/cr/shoshi/jungle/store/impl/DefaultTreeEditor.java Mon Jan 28 18:52:52 2013 +0900 @@ -18,7 +18,7 @@ import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.util.Error; public class DefaultTreeEditor> - implements TreeEditor + implements TreeEditor> { private final T root; private final Traverser traverser; @@ -35,31 +35,31 @@ } @Override - public Either appendChild(NodePath _path,int _pos) + public Either> appendChild(NodePath _path,int _pos) { return edit(_path,new AppendChildAt(_pos)); } @Override - public Either deleteChild(NodePath _path,int _pos) + public Either> deleteChild(NodePath _path,int _pos) { return edit(_path,new DeleteChildAt(_pos)); } @Override - public Either putAttribute(NodePath _path, String _key,ByteBuffer _value) + public Either> putAttribute(NodePath _path, String _key,ByteBuffer _value) { return edit(_path,new PutAttribute(_key,_value)); } @Override - public Either deleteAttribute(NodePath _path, String _key) + public Either> deleteAttribute(NodePath _path, String _key) { return edit(_path,new DeleteAttribute(_key)); } @Override - public Either edit(NodePath _path,NodeEditor _editor) + public Either> edit(NodePath _path,NodeEditor _editor) { DefaultEvaluator e = new DefaultEvaluator(_path); TraversableNodeWrapper wrap = new TraversableNodeWrapper(root); @@ -70,12 +70,12 @@ } Traversal> t = either.b(); - Either ret = clone(t,_editor); + Either> ret = clone(t,_editor); return ret; } - private Either clone(Traversal> _t,NodeEditor _editor) + private Either> clone(Traversal> _t,NodeEditor _editor) { // copying nodes from bottom to root @@ -112,7 +112,7 @@ } T newRoot = child; - TreeEditor newEditor = new DefaultTreeEditor(newRoot,traverser); + DefaultTreeEditor newEditor = new DefaultTreeEditor(newRoot,traverser); return DefaultEither.newB(newEditor); } } \ No newline at end of file diff -r 35e327577b58 -r cb9fabaedfd4 src/main/java/jp/ac/u_ryukyu/ie/cr/shoshi/jungle/store/trasnformer/EditableAttributes.java --- a/src/main/java/jp/ac/u_ryukyu/ie/cr/shoshi/jungle/store/trasnformer/EditableAttributes.java Sat Jan 26 22:52:32 2013 +0900 +++ b/src/main/java/jp/ac/u_ryukyu/ie/cr/shoshi/jungle/store/trasnformer/EditableAttributes.java Mon Jan 28 18:52:52 2013 +0900 @@ -7,8 +7,7 @@ import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.util.Either; import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.util.Error; -public interface EditableAttributes> - extends Attributes +public interface EditableAttributes> extends Attributes { public Either delete(String _key); public Either put(String _key,ByteBuffer _value); diff -r 35e327577b58 -r cb9fabaedfd4 src/main/java/jp/ac/u_ryukyu/ie/cr/shoshi/jungle/store/trasnformer/EditableNode.java --- a/src/main/java/jp/ac/u_ryukyu/ie/cr/shoshi/jungle/store/trasnformer/EditableNode.java Sat Jan 26 22:52:32 2013 +0900 +++ b/src/main/java/jp/ac/u_ryukyu/ie/cr/shoshi/jungle/store/trasnformer/EditableNode.java Mon Jan 28 18:52:52 2013 +0900 @@ -1,12 +1,9 @@ package jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.trasnformer; -import java.nio.ByteBuffer; - import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.core.AttributesContainer; import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.core.Parent; -public interface EditableNode> - extends AttributesContainer , Parent +public interface EditableNode> extends AttributesContainer , Parent { public EditableAttributes getAttributes(); public EditableChildren getChildren(); diff -r 35e327577b58 -r cb9fabaedfd4 src/main/java/jp/ac/u_ryukyu/ie/cr/shoshi/jungle/transaction/ClonableDefaultNode.java --- a/src/main/java/jp/ac/u_ryukyu/ie/cr/shoshi/jungle/transaction/ClonableDefaultNode.java Sat Jan 26 22:52:32 2013 +0900 +++ b/src/main/java/jp/ac/u_ryukyu/ie/cr/shoshi/jungle/transaction/ClonableDefaultNode.java Mon Jan 28 18:52:52 2013 +0900 @@ -25,4 +25,9 @@ { return new ClonableDefaultAttributes(wrap); } + + public DefaultNode getWrapped() + { + return wrap; + } } diff -r 35e327577b58 -r cb9fabaedfd4 src/main/java/jp/ac/u_ryukyu/ie/cr/shoshi/jungle/transaction/DefaultJungleTreeEditor.java --- a/src/main/java/jp/ac/u_ryukyu/ie/cr/shoshi/jungle/transaction/DefaultJungleTreeEditor.java Sat Jan 26 22:52:32 2013 +0900 +++ b/src/main/java/jp/ac/u_ryukyu/ie/cr/shoshi/jungle/transaction/DefaultJungleTreeEditor.java Mon Jan 28 18:52:52 2013 +0900 @@ -5,62 +5,116 @@ import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.JungleTree; import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.JungleTreeEditor; import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.NodePath; -import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.TreeEditor; import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.impl.DefaultNode; import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.impl.DefaultTreeEditor; +import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.impl.logger.Logger; import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.impl.logger.LoggingNode; import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.trasnformer.NodeEditor; +import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.traverser.Traverser; +import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.util.DefaultEither; import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.util.Either; import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.util.Error; -public class DefaultJungleTreeEditor implements JungleTreeEditor +public class DefaultJungleTreeEditor implements JungleTreeEditor { private final TransactionManager txManager; private final DefaultNode root; private final DefaultTreeEditor> editor; + private final Traverser traverser; - public DefaultJungleTreeEditor(DefaultNode _root,TransactionManager _txManager) + public DefaultJungleTreeEditor(DefaultNode _root,TransactionManager _txManager,Traverser _traverser) { root = _root; txManager = _txManager; + ClonableDefaultNode node = new ClonableDefaultNode(root); + LoggingNode loggingNode = new LoggingNode(node); + editor = new DefaultTreeEditor>(loggingNode,_traverser); + traverser = _traverser; } @Override - public Either appendChild(NodePath _path, int _pos) + public Either appendChild(NodePath _path, int _pos) { + Either>> either = editor.appendChild(_path,_pos); + if(either.isA()){ + return DefaultEither.newA(either.a()); + } + DefaultTreeEditor> newTreeEditor = either.b(); + DefaultNode newRoot = newTreeEditor.getRootNode().getWrapper().getWrapped(); - return null; + return DefaultEither.newB(new DefaultJungleTreeEditor(newRoot,txManager,traverser)); } @Override - public Either deleteChild(NodePath _path, int _pos) + public Either deleteChild(NodePath _path, int _pos) { - return null; + Either>> either = editor.deleteChild(_path,_pos); + if(either.isA()){ + return DefaultEither.newA(either.a()); + } + + DefaultTreeEditor> newTreeEditor = either.b(); + DefaultNode newRoot = newTreeEditor.getRootNode().getWrapper().getWrapped(); + + return DefaultEither.newB(new DefaultJungleTreeEditor(newRoot,txManager,traverser)); } @Override - public Either putAttribute(NodePath _path,String _key,ByteBuffer _value) + public Either putAttribute(NodePath _path,String _key,ByteBuffer _value) { - return null; + Either>> either = editor.putAttribute(_path,_key,_value); + if(either.isA()){ + return DefaultEither.newA(either.a()); + } + + DefaultTreeEditor> newTreeEditor = either.b(); + DefaultNode newRoot = newTreeEditor.getRootNode().getWrapper().getWrapped(); + + return DefaultEither.newB(new DefaultJungleTreeEditor(newRoot,txManager,traverser)); } @Override - public Either deleteAttribute(NodePath _path, String _key) + public Either deleteAttribute(NodePath _path, String _key) { - return null; + Either>> either = editor.deleteAttribute(_path,_key); + if(either.isA()){ + return DefaultEither.newA(either.a()); + } + + DefaultTreeEditor> newTreeEditor = either.b(); + DefaultNode newRoot = newTreeEditor.getRootNode().getWrapper().getWrapped(); + + return DefaultEither.newB(new DefaultJungleTreeEditor(newRoot,txManager,traverser)); } @Override - public Either edit(NodePath _path,NodeEditor _transformer) + public Either edit(NodePath _path,NodeEditor _transformer) { - return null; + Either>> either = editor.edit(_path,_transformer); + if(either.isA()){ + return DefaultEither.newA(either.a()); + } + + DefaultTreeEditor> newTreeEditor = either.b(); + DefaultNode newRoot = newTreeEditor.getRootNode().getWrapper().getWrapped(); + + return DefaultEither.newB(new DefaultJungleTreeEditor(newRoot,txManager,traverser)); } @Override public Either success() { - return null; + LoggingNode loggingNode = editor.getRootNode(); + Logger log = loggingNode.getLogger(); + DefaultNode newRoot = loggingNode.getWrapper().getWrapped(); + + Either either = txManager.commit(newRoot,log); + if(either.isA()){ + return DefaultEither.newA(either.a()); + } + + return DefaultEither.newB(either.b()); } } diff -r 35e327577b58 -r cb9fabaedfd4 src/main/java/jp/ac/u_ryukyu/ie/cr/shoshi/jungle/transaction/DefaultTransactionManager.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/main/java/jp/ac/u_ryukyu/ie/cr/shoshi/jungle/transaction/DefaultTransactionManager.java Mon Jan 28 18:52:52 2013 +0900 @@ -0,0 +1,17 @@ +package jp.ac.u_ryukyu.ie.cr.shoshi.jungle.transaction; + +import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.JungleTree; +import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.impl.DefaultNode; +import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.impl.logger.Logger; +import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.util.Either; +import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.util.Error; + +public class DefaultTransactionManager implements TransactionManager +{ + @Override + public Either commit(DefaultNode _newRoot, Logger _log) + { + return null; + } + +} diff -r 35e327577b58 -r cb9fabaedfd4 src/main/java/jp/ac/u_ryukyu/ie/cr/shoshi/jungle/transaction/TransactionManager.java --- a/src/main/java/jp/ac/u_ryukyu/ie/cr/shoshi/jungle/transaction/TransactionManager.java Sat Jan 26 22:52:32 2013 +0900 +++ b/src/main/java/jp/ac/u_ryukyu/ie/cr/shoshi/jungle/transaction/TransactionManager.java Mon Jan 28 18:52:52 2013 +0900 @@ -1,8 +1,12 @@ package jp.ac.u_ryukyu.ie.cr.shoshi.jungle.transaction; -import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.ChangeSet; +import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.JungleTree; +import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.impl.DefaultNode; +import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.impl.logger.Logger; +import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.util.Either; +import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.util.Error; public interface TransactionManager { - public boolean commit(ChangeSet _ch); + public Either commit(DefaultNode _newRoot,Logger _log); } diff -r 35e327577b58 -r cb9fabaedfd4 src/test/java/jp/ac/u_ryukyu/ie/cr/shoshi/jungle/core/AttributesContainerTest.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/test/java/jp/ac/u_ryukyu/ie/cr/shoshi/jungle/core/AttributesContainerTest.java Mon Jan 28 18:52:52 2013 +0900 @@ -0,0 +1,22 @@ +package jp.ac.u_ryukyu.ie.cr.shoshi.jungle.core; + +import org.junit.Assert; +import org.junit.Ignore; +import org.junit.Test; + +import junit.framework.TestCase; + +@Ignore +public abstract class AttributesContainerTest extends TestCase +{ + public abstract AttributesContainer instance(); + + @Test + public void testGetAttributes() + { + AttributesContainer instance = instance(); + Attributes attrs = instance.getAttributes(); + + Assert.assertNotNull(attrs); + } +} diff -r 35e327577b58 -r cb9fabaedfd4 src/test/java/jp/ac/u_ryukyu/ie/cr/shoshi/jungle/core/AttributesTest.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/test/java/jp/ac/u_ryukyu/ie/cr/shoshi/jungle/core/AttributesTest.java Mon Jan 28 18:52:52 2013 +0900 @@ -0,0 +1,34 @@ +package jp.ac.u_ryukyu.ie.cr.shoshi.jungle.core; + +import org.junit.Ignore; +import java.nio.ByteBuffer; +import fj.P2; +import fj.P; +import fj.data.List; +import junit.framework.Assert; +import junit.framework.TestCase; + +@Ignore +public abstract class AttributesTest extends TestCase +{ + @SuppressWarnings("unchecked") + public static List> ENTRIES = List.list( + P.p("KEY1",ByteBuffer.wrap("VALUE1".getBytes())), + P.p("KEY2",ByteBuffer.wrap("VALUE2".getBytes())), + P.p("KEY3",ByteBuffer.wrap("VALUE3".getBytes())) + ); + + public abstract Attributes instance(); + + public void testGet() + { + Attributes attrs = instance(); + + for(P2 entry : ENTRIES){ + String key = entry._1(); + ByteBuffer expect = entry._2(); + ByteBuffer actual = attrs.get(key); + Assert.assertEquals(0,actual.compareTo(expect)); + } + } +} diff -r 35e327577b58 -r cb9fabaedfd4 src/test/java/jp/ac/u_ryukyu/ie/cr/shoshi/jungle/core/ChildrenTest.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/test/java/jp/ac/u_ryukyu/ie/cr/shoshi/jungle/core/ChildrenTest.java Mon Jan 28 18:52:52 2013 +0900 @@ -0,0 +1,18 @@ +package jp.ac.u_ryukyu.ie.cr.shoshi.jungle.core; + +import junit.framework.Assert; +import junit.framework.TestCase; + +public abstract class ChildrenTest extends TestCase +{ + public abstract int expectSize(); + public abstract Children instance(); + + public void testSize() + { + int expect = expectSize(); + Children children = instance(); + + Assert.assertEquals(expect,children.size()); + } +} diff -r 35e327577b58 -r cb9fabaedfd4 src/test/java/jp/ac/u_ryukyu/ie/cr/shoshi/jungle/core/ParentTest.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/test/java/jp/ac/u_ryukyu/ie/cr/shoshi/jungle/core/ParentTest.java Mon Jan 28 18:52:52 2013 +0900 @@ -0,0 +1,21 @@ +package jp.ac.u_ryukyu.ie.cr.shoshi.jungle.core; + +import org.junit.Ignore; +import org.junit.Test; + +import junit.framework.Assert; +import junit.framework.TestCase; + +@Ignore +public abstract class ParentTest> extends TestCase +{ + public abstract T instance(); + + @Test + public void testGetChildren() + { + T instance = instance(); + Children children = instance.getChildren(); + Assert.assertNotNull(children); + } +} diff -r 35e327577b58 -r cb9fabaedfd4 src/test/java/jp/ac/u_ryukyu/ie/cr/shoshi/jungle/impl/node/DefaultAttributesTest.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/test/java/jp/ac/u_ryukyu/ie/cr/shoshi/jungle/impl/node/DefaultAttributesTest.java Mon Jan 28 18:52:52 2013 +0900 @@ -0,0 +1,29 @@ +package jp.ac.u_ryukyu.ie.cr.shoshi.jungle.impl.node; + +import java.nio.ByteBuffer; + +import fj.Ord; +import fj.P2; +import fj.data.List; +import fj.data.TreeMap; +import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.core.AttributesTest; +import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.impl.DefaultAttributes; +import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.impl.DefaultNode; + +public class DefaultAttributesTest extends AttributesTest +{ + public DefaultAttributes instance() + { + List rawList = List.nil(); + TreeMap rawMap = TreeMap.empty(Ord.stringOrd); + + // add attributes + + for(P2 entry : ENTRIES){ + rawMap = rawMap.set(entry._1(),entry._2()); + } + + DefaultNode node = new DefaultNode(rawList,rawMap); + return node.getAttributes(); + } +} diff -r 35e327577b58 -r cb9fabaedfd4 src/test/java/jp/ac/u_ryukyu/ie/cr/shoshi/jungle/impl/node/DefaultChildrenTest.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/test/java/jp/ac/u_ryukyu/ie/cr/shoshi/jungle/impl/node/DefaultChildrenTest.java Mon Jan 28 18:52:52 2013 +0900 @@ -0,0 +1,34 @@ +package jp.ac.u_ryukyu.ie.cr.shoshi.jungle.impl.node; + +import java.nio.ByteBuffer; + +import fj.Ord; +import fj.data.List; +import fj.data.TreeMap; +import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.core.ChildrenTest; +import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.core.Node; +import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.impl.DefaultChildren; +import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.impl.DefaultNode; + +public class DefaultChildrenTest extends ChildrenTest +{ + + @Override + public DefaultChildren instance() + { + List rawList = List.nil(); + for(int i = 0;i < expectSize();i ++){ + rawList = rawList.cons(new DefaultNode()); + } + + TreeMap rawMap = TreeMap.empty(Ord.stringOrd); + + return new DefaultNode(rawList,rawMap).getChildren(); + } + + @Override + public int expectSize() + { + return 3; + } +} \ No newline at end of file diff -r 35e327577b58 -r cb9fabaedfd4 src/test/java/jp/ac/u_ryukyu/ie/cr/shoshi/jungle/impl/node/DefaultNodeTest.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/test/java/jp/ac/u_ryukyu/ie/cr/shoshi/jungle/impl/node/DefaultNodeTest.java Mon Jan 28 18:52:52 2013 +0900 @@ -0,0 +1,58 @@ +package jp.ac.u_ryukyu.ie.cr.shoshi.jungle.impl.node; + +import java.nio.ByteBuffer; + +import fj.Ord; +import fj.data.List; +import fj.data.TreeMap; +import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.core.AttributesContainer; +import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.core.AttributesContainerTest; +import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.core.ParentTest; +import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.impl.DefaultNode; +import junit.framework.TestCase; +import junit.framework.TestSuite; + +public class DefaultNodeTest extends TestCase +{ + public DefaultNodeTest(String _name) + { + super(_name); + } + + public static TestSuite suite() + { + TestSuite suite = new TestSuite(); + suite.addTestSuite(DefaultNodeTest.AttributesContaierTestImpl.class); + suite.addTestSuite(DefaultNodeTest.ParentTestImpl.class); + return suite; + } + + public static DefaultNode instance() + { + List rawList = List.nil(); + TreeMap rawMap = TreeMap.empty(Ord.stringOrd); + DefaultNode node = new DefaultNode(rawList,rawMap); + + return node; + } + + public static class AttributesContaierTestImpl extends AttributesContainerTest + { + @Override + public AttributesContainer instance() + { + return DefaultNodeTest.instance(); + } + } + + public static class ParentTestImpl extends ParentTest + { + + @Override + public DefaultNode instance() + { + return DefaultNodeTest.instance(); + } + + } +} diff -r 35e327577b58 -r cb9fabaedfd4 src/test/java/jungle/core/AppTest.java --- a/src/test/java/jungle/core/AppTest.java Sat Jan 26 22:52:32 2013 +0900 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,38 +0,0 @@ -package jungle.core; - -import junit.framework.Test; -import junit.framework.TestCase; -import junit.framework.TestSuite; - -/** - * Unit test for simple App. - */ -public class AppTest - extends TestCase -{ - /** - * Create the test case - * - * @param testName name of the test case - */ - public AppTest( String testName ) - { - super( testName ); - } - - /** - * @return the suite of tests being tested - */ - public static Test suite() - { - return new TestSuite( AppTest.class ); - } - - /** - * Rigourous Test :-) - */ - public void testApp() - { - assertTrue( true ); - } -} diff -r 35e327577b58 -r cb9fabaedfd4 src/test/java/jungle/misc/fj/ImmutableListExample.java --- a/src/test/java/jungle/misc/fj/ImmutableListExample.java Sat Jan 26 22:52:32 2013 +0900 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,13 +0,0 @@ -package jungle.misc.fj; - -import fj.data.List; - -public class ImmutableListExample -{ - public static void main(String[] _args) - { - List first = List.list("1","3","2","3"); - System.out.println(first.take(3+1).last()); - System.out.println(first.splitAt(2)._1()); - } -} diff -r 35e327577b58 -r cb9fabaedfd4 src/test/java/jungle/misc/fj/ImmutableSetExample.java --- a/src/test/java/jungle/misc/fj/ImmutableSetExample.java Sat Jan 26 22:52:32 2013 +0900 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,36 +0,0 @@ -package jungle.misc.fj; - -import fj.F; -import fj.Ord; -import fj.P2; -import fj.Show; -import fj.data.List; -import fj.data.TreeMap; - - -public class ImmutableSetExample -{ - public static void main(String _args[]) - { - TreeMap map = TreeMap.empty(Ord.stringOrd); - Show>> s = Show.listShow(Show.p2Show(Show.stringShow,Show.stringShow)); - - TreeMap second = map.set("hoge","fuga"); - TreeMap third = second.set("fuga","fuga"); - s.println(List.iterableList(second)); - s.println(List.iterableList(third)); - System.out.println(second.get("hoge").some()); - - F predicate = new F(){ - @Override - public String f(String str){ - return null; - } - }; - - P2> transformResult = third.update("hoge",predicate); - if(transformResult._1()){ - s.println(List.iterableList(transformResult._2())); - } - } -} diff -r 35e327577b58 -r cb9fabaedfd4 src/test/java/jungle/misc/fj/XMLNodeTest.java --- a/src/test/java/jungle/misc/fj/XMLNodeTest.java Sat Jan 26 22:52:32 2013 +0900 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,29 +0,0 @@ -package jungle.misc.fj; - -import javax.xml.parsers.DocumentBuilder; -import javax.xml.parsers.DocumentBuilderFactory; - -import org.w3c.dom.Document; -import org.w3c.dom.Element; -import org.w3c.dom.NodeList; - -public class XMLNodeTest -{ - public static void main(String _args[]) throws Exception - { - DocumentBuilder b = DocumentBuilderFactory.newInstance().newDocumentBuilder(); - Document g = b.newDocument(); - - Element e = g.createElement("hoge"); - g.appendChild(e); - e.appendChild(g.createElement("hoge")); - NodeList l1 = e.getElementsByTagName("hoge"); - System.out.println(l1.getLength()); - e.appendChild(g.createElement("hoge")); - e.appendChild(g.createElement("hoge")); - NodeList l2 = e.getElementsByTagName("hoge"); - - System.out.println(l1.getLength()); - System.out.println(l2.getLength()); - } -} diff -r 35e327577b58 -r cb9fabaedfd4 src/test/java/jungle/util/PairTest.java --- a/src/test/java/jungle/util/PairTest.java Sat Jan 26 22:52:32 2013 +0900 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,31 +0,0 @@ -package jungle.util; - -import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.util.Pair; -import junit.framework.Assert; -import junit.framework.Test; -import junit.framework.TestCase; -import junit.framework.TestSuite; - -public class PairTest extends TestCase -{ - public PairTest(String _testName) - { - super(_testName); - } - - public static Test suite() - { - return new TestSuite(PairTest.class); - } - - public void testPair() - { - Object left = new Object(); - Object right = new Object(); - - Pair p = new Pair(left,right); - - Assert.assertEquals(left,p.left()); - Assert.assertEquals(right,p.right()); - } -}