package net.ion.craken.node.convert.to; import net.ion.craken.node.TransactionJob; import net.ion.craken.node.WriteSession; import net.ion.craken.node.convert.sample.Dept; import net.ion.craken.node.crud.TestBaseCrud; import net.ion.framework.util.Debug; public class TestChild extends TestBaseCrud { public void testWhenHasChild() throws Exception { session.tran(new TransactionJob<Void>() { @Override public Void handle(WriteSession wsession) { wsession.pathBy("/dept/dev").property("deptno", 20).property("name", "dev") .child("manager").property("name", "bleujin").property("age", 20).parent() .child("address").property("city", "seoul").property("bun", 0) ; return null; } }).get() ; Dept dept = session.pathBy("/dept/dev").toBean(Dept.class) ; assertEquals(20, dept.deptNo()) ; assertEquals("dev", dept.name()) ; assertEquals("bleujin", dept.manager().name()) ; assertEquals(20, dept.manager().age()) ; assertEquals("seoul", dept.address().city()) ; assertEquals(0, dept.address().bun()) ; Debug.line(session.pathBy("/dept/dev").childrenNames()) ; } public void testWhenHasGrandChild() throws Exception { session.tran(new TransactionJob<Void>() { @Override public Void handle(WriteSession wsession) { wsession.pathBy("/dept/dev").property("deptno", 20).property("name", "dev") .child("address").property("city", "seoul").property("bun", 0).parent() .child("manager").property("name", "bleujin").property("age", 20) .child("pair").property("name", "hero").property("age", 30) ; return null; } }).get() ; Dept dept = session.pathBy("/dept/dev").toBean(Dept.class) ; assertEquals("hero", dept.manager().pair().name()) ; assertEquals(30, dept.manager().pair().age()) ; assertEquals(30, dept.manager().pair().age()) ; } }