@@ -0,0 +1,1536 @@
+package org.codehaus.xfire.aegis.type.basic;%0A%0Aimport org.codehaus.xfire.aegis.AbstractXFireAegisTest;%0Aimport org.codehaus.xfire.client.XFireProxyFactory;%0Aimport org.codehaus.xfire.service.Service;%0Aimport org.codehaus.xfire.service.invoker.BeanInvoker;%0A%0Apublic class InterfaceImplTest%0A    extends AbstractXFireAegisTest%0A%7B%0A    public void testInterface() throws Exception%0A    %7B%0A        Service service = getServiceFactory().create(IMyService.class);%0A        service.setInvoker(new BeanInvoker(new MyService()));%0A        getServiceRegistry().register(service);%0A        service.setProperty(IMyObject.class.getName() + %22.implementation%22, MyObject.class.getName());%0A        %0A        IMyService client = (IMyService) %0A            new XFireProxyFactory(getXFire()).create(service, %22xfire.local://IMyService%22);%0A        MyObject o = new MyObject();%0A        o.setName(%22foo%22);%0A        client.receive(o);%0A    %7D%0A%0A%0A    public static interface IMyService%0A    %7B%0A        public void receive(IMyObject o);%0A    %7D%0A    %0A    public static class MyService implements IMyService%0A    %7B%0A        public void receive(IMyObject o)%0A        %7B%0A            assertTrue(o instanceof MyObject);%0A        %7D%0A    %7D%0A    %0A    public interface IMyObject%0A    %7B%0A        public String getName();%0A    %7D%0A%0A    public static class MyObject implements IMyObject%0A    %7B%0A        private String name;%0A%0A        public String getName()%0A        %7B%0A            return name;%0A        %7D%0A%0A        public void setName(String name)%0A        %7B%0A            this.name = name;%0A        %7D        %0A    %7D%0A    %0A%7D%0A

Add unit test for interface impl feature