package japicmp.filter;
import japicmp.util.CtClassBuilder;
import javassist.ClassPool;
import javassist.CtClass;
import org.junit.Test;
import static org.hamcrest.core.Is.is;
import static org.junit.Assert.assertThat;
public class ClassFilterTest {
@Test
public void testOneClassMatches() {
JavaDocLikeClassFilter classFilter = new JavaDocLikeClassFilter("japicmp.Test");
CtClass ctClass = CtClassBuilder.create().name("japicmp.Test").addToClassPool(new ClassPool());
assertThat(classFilter.matches(ctClass), is(true));
}
@Test
public void testOneClassMatchesNot() {
JavaDocLikeClassFilter classFilter = new JavaDocLikeClassFilter("japicmp.Homer");
CtClass ctClass = CtClassBuilder.create().name("japicmp.Marge").addToClassPool(new ClassPool());
assertThat(classFilter.matches(ctClass), is(false));
}
@Test
public void testInnerClass() {
JavaDocLikeClassFilter classFilter = new JavaDocLikeClassFilter("japicmp.Homer");
CtClass ctClass = CtClassBuilder.create().name("japicmp.Homer$InnerHomer").addToClassPool(new ClassPool());
assertThat(classFilter.matches(ctClass), is(true));
}
@Test
public void testInnerClassAsFilter() {
JavaDocLikeClassFilter classFilter = new JavaDocLikeClassFilter("japicmp.MyClass$InnerClass");
CtClass ctClass = CtClassBuilder.create().name("japicmp.MyClass$InnerClass").addToClassPool(new ClassPool());
assertThat(classFilter.matches(ctClass), is(true));
}
}