package org.jtwig.resource.reference; import org.jtwig.resource.reference.path.PathType; import org.jtwig.resource.reference.path.PathTypeSupplier; import org.junit.Test; import static org.junit.Assert.assertSame; import static org.mockito.BDDMockito.given; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.verifyZeroInteractions; public class DefaultResourceReferenceExtractorTest { private final PathTypeSupplier pathTypeSupplier = mock(PathTypeSupplier.class); private final PosixResourceReferenceExtractor posixResourceReferenceExtractor = mock(PosixResourceReferenceExtractor.class); private final UncResourceReferenceExtractor uncResourceReferenceExtractor = mock(UncResourceReferenceExtractor.class); private DefaultResourceReferenceExtractor underTest = new DefaultResourceReferenceExtractor(pathTypeSupplier, posixResourceReferenceExtractor, uncResourceReferenceExtractor); @Test public void posix() throws Exception { String spec = "spec"; ResourceReference resourceReference = mock(ResourceReference.class); given(pathTypeSupplier.get()).willReturn(PathType.POSIX); given(posixResourceReferenceExtractor.extract(spec)).willReturn(resourceReference); ResourceReference result = underTest.extract(spec); assertSame(resourceReference, result); verifyZeroInteractions(uncResourceReferenceExtractor); } @Test public void unc() throws Exception { String spec = "spec"; ResourceReference resourceReference = mock(ResourceReference.class); given(pathTypeSupplier.get()).willReturn(PathType.UNC); given(uncResourceReferenceExtractor.extract(spec)).willReturn(resourceReference); ResourceReference result = underTest.extract(spec); assertSame(resourceReference, result); verifyZeroInteractions(posixResourceReferenceExtractor); } }