package org.jboss.as.ejb3.deployment.processors; import groovy.lang.MetaClass; import java.util.Set; import javax.jms.MessageListener; import org.junit.Assert; import org.junit.Test; /** * Tests {@link ViewInterfaces} * * @author Filipe Ferraz * @version $Revision: $ */ public class ViewInterfacesTestCase { /** * Tests that the {@link ViewInterfaces#getPotentialViewInterfaces(Class<?>)} returns the correct * implementation class for java class implementing MessageListener interface. */ @Test public void testJavaClass() { Set javaClasses = ViewInterfaces.getPotentialViewInterfaces(TestJavaMessageListener.class); Assert.assertEquals("One object epected in Java class", 1, javaClasses.size()); Assert.assertEquals("Expected interface in Java class", MessageListener.class, javaClasses.iterator().next()); } /** * Tests that the {@link ViewInterfaces#getPotentialViewInterfaces(Class<?>)} returns the correct * implementation class for groovy class implementing MessageListener interface. */ @Test public void testGroovyClass() { Set groovyClasses = ViewInterfaces.getPotentialViewInterfaces(TestGroovyMessageListener.class); Assert.assertEquals("One object epected in Groovy class", 1, groovyClasses.size()); Assert.assertEquals("Expected interface in Groovy class", MessageListener.class, groovyClasses.iterator().next()); } private abstract class TestJavaMessageListener implements MessageListener { } private abstract class TestGroovyMessageListener implements MessageListener, MetaClass { } }