package com.flextrade.jfixture.builders; import com.flextrade.jfixture.NoSpecimen; import com.flextrade.jfixture.SpecimenContext; import com.flextrade.jfixture.requests.SeededRequest; import org.junit.Before; import org.junit.Test; import org.mockito.Mock; import org.mockito.MockitoAnnotations; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertSame; import static org.mockito.Mockito.when; public class TestSeedIgnoringBuilder { private SeedIgnoringRelay builder; @Mock private SpecimenContext mockSpecimenContext; @Before public void initialise() { MockitoAnnotations.initMocks(this); this.builder = new SeedIgnoringRelay(); } @Test public void Non_seeded_request_returns_new_no_specimen() { Object result = this.builder.create(new Object(), this.mockSpecimenContext); assertEquals(new NoSpecimen(), result); } @Test public void Returns_context_resolve_given_inner_request_object() { Object innerRequest = new Object(); Object contextResult = new Object(); when(this.mockSpecimenContext.resolve(innerRequest)).thenReturn(contextResult); Object result = this.builder.create(new SeededRequest(null, innerRequest), this.mockSpecimenContext); assertSame(contextResult, result); } @Test public void No_specimen_result_from_context_returns_new_no_specimen() { Object innerRequest = new Object(); when(this.mockSpecimenContext.resolve(innerRequest)).thenReturn(new NoSpecimen()); Object result = this.builder.create(new SeededRequest(null, innerRequest), this.mockSpecimenContext); assertEquals(new NoSpecimen(), result); } }