package org.robotframework.swing.tree;
import jdave.junit4.JDaveRunner;
import org.jmock.Expectations;
import org.junit.runner.RunWith;
import org.robotframework.jdave.contract.FieldIsNotNullContract;
import org.robotframework.swing.factory.OperatorFactory;
import org.robotframework.jdave.mock.MockSupportSpecification;
@RunWith(JDaveRunner.class)
public class TreeSupportSpec extends MockSupportSpecification<TreeSupport> {
public class Any {
public TreeSupport create() {
return new TreeSupport();
}
public void hasOperatorFactory() {
specify(context, satisfies(new FieldIsNotNullContract("operatorFactory")));
}
}
public class CreatingTreeOperator {
private TreeSupport treeSupport = new TreeSupport();
private String treeIdentifier = "someTree";
private TreeOperator treeOperator = dummy(TreeOperator.class);
public TreeSupport create() {
injectMockOperatorFactory();
return treeSupport;
}
public void createsTreeOperatorAndVerifiesContext() {
specify(context.treeOperator(treeIdentifier), must.equal(treeOperator));
}
private void injectMockOperatorFactory() {
final OperatorFactory<?> operatorFactory = injectMockTo(treeSupport, OperatorFactory.class);
checking(new Expectations() {{
one(operatorFactory).createOperator(treeIdentifier);
will(returnValue(treeOperator));
}});
}
}
}