package org.magicdroid.test.model;
import junit.framework.TestCase;
import org.magicdroid.commons.ExpressionCall;
public class TestExpressionCall extends TestCase {
public static class A {
private String mamma = "mamma";
public String getMamma() {
return this.mamma;
}
public void setMamma(String mamma) {
this.mamma = mamma;
}
}
public static class B {
private A prova;
public A getProva() { return this.prova; }
public void setProva(A prova) {
this.prova = prova;
}
}
public void test1() throws Exception {
A a = new A();
assertEquals("mamma", new ExpressionCall(a, String.class, new String[] { "mamma" }).getter());
new ExpressionCall(a, String.class, "mamma").setter("nonno");
assertEquals("nonno", new ExpressionCall(a, String.class, new String[] { "mamma" }).getter());
B b = new B();
A a1 = new A();
new ExpressionCall(b, A.class, "prova").setter(a1);
assertEquals("mamma", new ExpressionCall(b, String.class, new String[] { "prova", "mamma" }).getter());
new ExpressionCall(b, A.class, "prova").setter(a);
assertEquals("nonno", new ExpressionCall(b, String.class, new String[] { "prova", "mamma" }).getter());
new ExpressionCall(b, String.class, "prova", "mamma").setter("lallo");
assertEquals("lallo", new ExpressionCall(b, String.class, new String[] { "prova", "mamma" }).getter());
}
}
|