package com.flextrade.jfixture;
import org.junit.Before;
import org.junit.Test;
import org.mockito.Mock;
import org.mockito.MockitoAnnotations;
import static org.junit.Assert.assertSame;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;
public class TestSpecimenBuilderContext {
private SpecimenBuilderContext context;
@Mock
private SpecimenBuilder mockSpecimenBuilder;
@Before
public void initialise() {
MockitoAnnotations.initMocks(this);
this.context = new SpecimenBuilderContext(mockSpecimenBuilder);
}
@Test
public void resolve_calls_builder_with_request_and_itself_as_the_context() {
this.context.resolve(String.class);
verify(mockSpecimenBuilder).create(String.class, this.context);
}
@Test
public void resolve_returns_result_on_builder() {
Object builderResult = new Object();
when(mockSpecimenBuilder.create(String.class, this.context)).thenReturn(builderResult);
Object result = this.context.resolve(String.class);
assertSame(builderResult, result);
}
}