package component;
import com.flextrade.jfixture.JFixture;
import com.flextrade.jfixture.mockito.customisation.MockitoCustomisation;
import com.flextrade.jfixture.mockito.testtypes.OrderAbstractClass;
import com.flextrade.jfixture.mockito.testtypes.OrderClass;
import com.flextrade.jfixture.mockito.testtypes.OrderInterface;
import org.junit.Test;
import java.util.ArrayList;
import java.util.Collection;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertTrue;
public class TestMockedRequests {
@Test
public void Mockito_customisation_will_return_a_mock_for_an_unsupported_interface_type() {
JFixture fixture = new JFixture();
fixture.customise(new MockitoCustomisation());
OrderInterface order = fixture.create(OrderInterface.class);
assertTrue(order.getClass().getName().contains("Mockito"));
}
@Test
public void Mockito_customisation_will_return_a_mock_for_an_abstract_class_type() {
JFixture fixture = new JFixture();
fixture.customise(new MockitoCustomisation());
OrderAbstractClass order = fixture.create(OrderAbstractClass.class);
assertTrue(order.getClass().getName().contains("Mockito"));
}
@Test
public void Mockito_customisation_will_not_return_a_mock_for_a_non_abstract_class_type() {
JFixture fixture = new JFixture();
fixture.customise(new MockitoCustomisation());
OrderClass order = fixture.create(OrderClass.class);
assertFalse(order.getClass().getName().contains("Mockito"));
}
@Test
public void Mockito_customisation_will_not_return_a_mock_for_a_supported_interface_type() {
JFixture fixture = new JFixture();
fixture.customise(new MockitoCustomisation());
Collection<String> collection = fixture.collections().createCollection(String.class);
assertTrue(collection instanceof ArrayList);
}
@Test
public void mock_properties_are_stubbed_out_for_interfaces_using_fixture() {
JFixture fixture = new JFixture();
fixture.customise(new MockitoCustomisation());
OrderInterface order = fixture.create(OrderInterface.class);
assertNotNull(order.getSymbol());
assertTrue(order.getSize() > 0);
assertTrue(order.getPrice() > 0.0);
}
@Test
public void mock_properties_are_stubbed_out_for_abstract_classes_using_fixture() {
JFixture fixture = new JFixture();
fixture.customise(new MockitoCustomisation());
OrderAbstractClass order = fixture.create(OrderAbstractClass.class);
assertNotNull(order.getSymbol());
assertTrue(order.getSize() > 0);
assertTrue(order.getPrice() > 0.0);
}
}