* @throws Exception
*/
public void testInterfaceProxy() throws Exception
{
log.info("+++ testInterfaceProxy");
ProxyFactory factory = new ProxyFactory();
AThing athing = new AThing();
ThingMethodHandler handler = new ThingMethodHandler(athing);
factory.setHandler(handler);
Class[] ifaces = {IThing.class};
factory.setInterfaces(ifaces);
Class[] sig = {};
Object[] args = {};
IThing proxy = (IThing) factory.create(sig, args);
proxy.method1();
assertEquals("method1Count", 1, athing.getMethod1Count());
proxy.method2("testInterfaceProxy");
assertEquals("method2Count", 1, athing.getMethod2Count());
proxy.method3(proxy);