package com.calclab.suco.tests.ioc.module;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.verify;
import org.junit.Before;
import org.junit.Test;
import com.calclab.suco.client.ioc.Container;
import com.calclab.suco.client.ioc.module.AbstractModule;
public class AbstractModuleTest {
private Container container;
@Before
public void beforeTests() {
container = mock(Container.class);
}
@Test
public void shouldGetInstanceFromContainer() {
final AbstractModule module = new AbstractModule() {
@Override
protected void onInstall() {
$(Object.class);
}
};
module.onInstall(container);
verify(container).getInstance(Object.class);
}
@Test
public void shouldGetProviderFromContainer() {
final AbstractModule module = new AbstractModule() {
@Override
protected void onInstall() {
$$(Object.class);
}
};
module.onInstall(container);
verify(container).getProvider(Object.class);
}
}