package org.bindgen.example; import junit.framework.Assert; import junit.framework.TestCase; import org.bindgen.example.Parents.Foo; import org.bindgen.example.Parents.FooChild; import org.bindgen.example.parents.FooBinding; import org.bindgen.example.parents.FooChildBinding; public class ParentBindingTest extends TestCase { public void testParentBindingIsNullByDefault() { FooBinding b = new FooBinding(); Assert.assertEquals(null, b.getParentBinding()); } public void testParentBindingOfFieldProperty() { FooBinding b = new FooBinding(); Assert.assertSame(b, b.bar().getParentBinding()); } public void testParentBindingOfMethodProperty() { FooBinding b = new FooBinding(); Assert.assertSame(b, b.baz().getParentBinding()); } public void testToString() { FooChildBinding fcb = new FooChildBinding(); Assert.assertEquals("FooChildBinding(null)", fcb.toString()); Assert.assertEquals("FooChildBinding(null).foo()", fcb.foo().toString()); Assert.assertEquals("FooChildBinding(null).foo().baz()", fcb.foo().baz().toString()); // Now set FooChild fcb.set(new FooChild()); Assert.assertEquals("FooChildBinding(child)", fcb.toString()); Assert.assertEquals("FooChildBinding(child).foo(null)", fcb.foo().toString()); Assert.assertEquals("FooChildBinding(child).foo(null).baz()", fcb.foo().baz().toString()); // No set Foo fcb.get().foo = new Foo(); Assert.assertEquals("FooChildBinding(child)", fcb.toString()); Assert.assertEquals("FooChildBinding(child).foo(foo)", fcb.foo().toString()); Assert.assertEquals("FooChildBinding(child).foo(foo).baz(baz)", fcb.foo().baz().toString()); } public void testGetPath() { FooChildBinding fcb = new FooChildBinding(); Assert.assertEquals("#root", fcb.getPath()); Assert.assertEquals("foo", fcb.foo().getPath()); Assert.assertEquals("foo.baz", fcb.foo().baz().getPath()); } }