package org.nutz.ioc.json; import static org.junit.Assert.*; import org.junit.Test; import org.nutz.aop.DefaultClassDefiner; import org.nutz.ioc.Ioc; import org.nutz.ioc.IocLoader; import org.nutz.ioc.impl.NutIoc; import org.nutz.ioc.json.pojo.Mammal; import org.nutz.ioc.loader.json.JsonLoader; public class AopJsonIocTest { @Test public void test_simple() { DefaultClassDefiner.reset(); IocLoader il = new JsonLoader("org/nutz/ioc/json/aop.js"); Ioc ioc = new NutIoc(il); StringBuilder sb = ioc.get(StringBuilder.class, "sb"); Mammal fox = ioc.get(Mammal.class, "fox"); assertEquals("Fox", fox.getName()); assertEquals("B:getName0;A:getName0;", sb.toString()); sb.delete(0, sb.length()); fox.getName(); fox.getName(); assertEquals("B:getName0;A:getName0;B:getName0;A:getName0;", sb.toString()); } }