package br.com.caelum.vraptor.scan; import static java.util.Arrays.asList; import static java.util.Collections.emptyList; import static org.mockito.Matchers.any; import static org.mockito.Mockito.never; import static org.mockito.Mockito.verify; import java.util.Collection; import org.junit.Before; import org.junit.Test; import org.mockito.Mock; import org.mockito.MockitoAnnotations; import br.com.caelum.vraptor.ComponentRegistry; public class DynamicWebAppBootstrapTest { private @Mock ComponentRegistry registry; @Before public void setup() throws Exception { MockitoAnnotations.initMocks(this); } @Test public void shouldConfigureAllClasses() { Collection<String> classNames = asList(ResourceA.class.getName()); new DynamicWebAppBootstrap(classNames).configure(registry); verify(registry).deepRegister(ResourceA.class); } @Test public void shouldNotDoAnythingIfHasNoClasses() { Collection<String> classNames = emptyList(); new DynamicWebAppBootstrap(classNames).configure(registry); verify(registry, never()).deepRegister(any(Class.class)); } @Test(expected=ScannerException.class) public void shouldThrowScannerExceptionIfClassNotExists() { Collection<String> classNames = asList("a.resource.that.NotExists"); new DynamicWebAppBootstrap(classNames).configure(registry); } }