package org.robotframework.javalib.beans.common; import org.jmock.Mock; import org.jmock.MockObjectTestCase; import org.robotframework.javalib.beans.common.BasicKeywordFilter.Condition; import org.robotframework.javalib.keyword.ArgumentCheckingKeyword; import org.robotframework.javalib.keyword.CollisionKeyword; import org.robotframework.javalib.keyword.Keyword; public class BasicKeywordFilterTest extends MockObjectTestCase { private BasicKeywordFilter keywordFilter; @Override protected void setUp() throws Exception { keywordFilter = new BasicKeywordFilter(); } public void testIgnoresAbstractKeywordClasses() throws Exception { assertFalse(keywordFilter.accept(ArgumentCheckingKeyword.class)); } public void testIgnoresInterfaces() throws Exception { assertFalse(keywordFilter.accept(Keyword.class)); } public void testIgnoresKeywordsWithoutDefaultConstructor() throws Exception { assertFalse(keywordFilter.accept(CollisionKeyword.class)); } public void testUsesAddedConditions() throws Exception { Mock someCondition = mock(Condition.class); someCondition.expects(once()).method("check") .with(eq(getClass())) .will(returnValue(false)); keywordFilter.addCondition((Condition) someCondition.proxy()); assertFalse(keywordFilter.accept(getClass())); } }