package net.ion.craken.tree; import junit.framework.TestCase; import net.ion.craken.node.ReadSession; import net.ion.craken.node.TransactionJob; import net.ion.craken.node.WriteSession; import net.ion.craken.node.crud.Craken; import net.ion.craken.node.crud.util.TransactionJobs; import net.ion.framework.util.Debug; public class TestTreeNodeDocument extends TestCase { private Craken r; private ReadSession session; @Override protected void setUp() throws Exception { super.setUp(); this.r = Craken.inmemoryCreateWithTest() ; // FileUtil.deleteDirectory(new File("./resource/index")) ; // r.defineWorkspace("test") ; this.session = r.login("test"); } public void testInit() throws Exception { session.tranSync(TransactionJobs.dummy("/bleujin", 3)) ; assertEquals(true, session.exists("/bleujin/1")) ; session.pathBy("/bleujin").childrenNames() ; // load session.tranSync(new TransactionJob<Void>(){ @Override public Void handle(WriteSession wsession) throws Exception { wsession.pathBy("/bleujin/0").property("other", "bleujin") ; wsession.pathBy("/bleujin/100").property("name", "new"); // wsession.pathBy("/bleujin").addChild("100").property("name", "new"); return null; } }) ; assertEquals(4, session.pathBy("/bleujin").childrenNames().size()) ; } public void testReload() throws Exception { session.tranSync(TransactionJobs.dummy("/bleujin", 3)) ; session.pathBy("/bleujin").children().debugPrint() ; Debug.line(session.pathBy("/bleujin").childrenNames()); assertEquals(3, session.pathBy("/bleujin").childrenNames().size()) ; } public void tearDown() throws Exception { r.shutdown() ; } }