/*
* This code provided as an example and is not to be considered complete or production ready.
*/
package contracts;
import static org.junit.Assert.*;
import java.util.SortedSet;
import org.junit.After;
import org.junit.Before;
import org.xenei.junit.contract.Contract;
import org.xenei.junit.contract.ContractTest;
import org.xenei.junit.contract.IProducer;
@Contract(SortedSet.class)
public class SortedSetTest {
private IProducer<SortedSet<Object>> producer;
private SortedSet<Object> c;
@Contract.Inject
public void setSet(IProducer<SortedSet<Object>> producer) {
this.producer = producer;
}
@Before
public void populate() {
c = producer.newInstance();
// Deliberately not added in order
c.add("c");
c.add("a");
c.add("b");
}
@After
public void cleanup() {
producer.cleanUp();
}
@ContractTest
public void first() throws Exception {
assertEquals("a", c.first());
assertEquals("c", c.last());
}
}