package org.robotframework.swing.util; import jdave.Specification; import jdave.junit4.JDaveRunner; import org.jmock.Expectations; import org.junit.runner.RunWith; import org.netbeans.jemmy.TimeoutExpiredException; import org.netbeans.jemmy.operators.Operator; import org.robotframework.swing.arguments.IdentifierHandler; import static org.hamcrest.Matchers.is; @RunWith(JDaveRunner.class) public class ComponentExistenceResolverSpec extends Specification<ComponentExistenceResolver> { public class Any { private IdentifierHandler operatorFactory; private Operator dummyOperator = mock(Operator.class); public ComponentExistenceResolver create() { operatorFactory = mock(IdentifierHandler.class); return new ComponentExistenceResolver(operatorFactory); } public void satisfiesConditionIfComponentFound() { checking(new Expectations() {{ one(operatorFactory).parseArgument("someIdentifier"); will(returnValue(dummyOperator)); }}); specify(context.satisfiesCondition("someIdentifier")); } public void doesNotSatisfyConditionIfComponentIsNotFound() { checking(new Expectations() {{ one(operatorFactory).parseArgument("someIdentifier"); will(throwException(new TimeoutExpiredException("timeout expired"))); }}); specify(context.satisfiesCondition("someIdentifier"), is(false)); } } }