package com.flextrade.jfixture.behaviours.noresolution; import com.flextrade.jfixture.SpecimenBuilder; 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.junit.Assert.assertTrue; public class TestThrowOnNoResolutionBehaviour { private ThrowOnNoResolutionBehaviour behaviour; @Mock private SpecimenBuilder mockSpecimenBuilder; @Before public void initialise() { MockitoAnnotations.initMocks(this); this.behaviour = new ThrowOnNoResolutionBehaviour(); } @Test(expected = IllegalArgumentException.class) public void null_builder_throws_exception() { this.behaviour.transform(null); } @Test public void returns_instance_of_no_resolution_guard() { SpecimenBuilder transformed = this.behaviour.transform(this.mockSpecimenBuilder); assertTrue(transformed instanceof NoResolutionGuard); } @Test public void no_resolution_guard_is_given_the_builder() { NoResolutionGuard guard = (NoResolutionGuard)this.behaviour.transform(this.mockSpecimenBuilder); assertSame(guard.builder(), this.mockSpecimenBuilder); } @Test public void no_resolution_guard_is_given_throwing_handler() { NoResolutionGuard guard = (NoResolutionGuard)this.behaviour.transform(this.mockSpecimenBuilder); assertTrue(guard.handler() instanceof ThrowingNoResolutionHandler); } }