package com.flextrade.jfixture.customisation.fluent; import com.flextrade.jfixture.CustomisationContainer; import com.flextrade.jfixture.FluentCustomisation; import com.flextrade.jfixture.customisation.IgnoreNoResolutionCustomisation; import com.flextrade.jfixture.customisation.ThrowOnNoResolutionCustomisation; 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.isA; import static org.mockito.Mockito.verify; public class TestNoResolutionBehaviour { private NoResolutionBehaviour behaviour; @Mock private CustomisationContainer mockContainer; @Mock private FluentCustomisation mockFluentCustomisation; @Before public void initialise() { MockitoAnnotations.initMocks(this); this.behaviour = new NoResolutionBehaviour(this.mockContainer, this.mockFluentCustomisation); } @Test public void throw_exception_adds_throw_on_no_resolution_customisation() { this.behaviour.throwException(); verify(this.mockContainer).customise(isA(ThrowOnNoResolutionCustomisation.class)); } @Test public void throw_exception_returns_the_fluent_customisation() { assertSame(this.mockFluentCustomisation, this.behaviour.throwException()); } @Test public void omit_specimen_adds_ignore_no_resolution_customisation() { this.behaviour.omitSpecimen(); verify(this.mockContainer).customise(isA(IgnoreNoResolutionCustomisation.class)); } @Test public void omit_specimen_returns_the_fluent_customisation() { assertSame(this.mockFluentCustomisation, this.behaviour.omitSpecimen()); } }