package org.robotframework.swing.chooser;
import javax.swing.AbstractButton;
import jdave.Specification;
import jdave.junit4.JDaveRunner;
import org.jmock.Expectations;
import org.junit.runner.RunWith;
@RunWith(JDaveRunner.class)
public class ByTextComponentChooserSpec extends Specification<ByTextComponentChooser> {
private String componentText = "someComponentText";
public class Any {
public ByTextComponentChooser create() {
return new ByTextComponentChooser(componentText);
}
public void usesTextAsDescription() {
specify(context.getDescription(), must.equal(componentText));
}
}
public class WhenChoosing {
private AbstractButton component;
public ByTextComponentChooser create() {
component = mock(AbstractButton.class);
return new ByTextComponentChooser(componentText);
}
public void choosesIfTextMatches() {
checking(new Expectations() {{
one(component).getText(); will(returnValue(componentText));
}});
specify(context.checkComponent(component), must.equal(true));
}
public void doesntChooseIfTextDoesntMatch() {
checking(new Expectations() {{
one(component).getText(); will(returnValue("somethingElse"));
}});
specify(context.checkComponent(component), must.equal(false));
}
public void doesntChooseIfTextIsNull() {
checking(new Expectations() {{
one(component).getText(); will(returnValue(null));
}});
specify(context.checkComponent(component), must.equal(false));
}
}
}