Merge remote-tracking branch 'origin/BAEL-2399' into BAEL-2399

This commit is contained in:
emineoymak 2019-01-01 03:20:10 -05:00
commit 0c6058427c

View File

@ -1,72 +1,77 @@
package com.baeldung.examples; package com.baeldung.examples;
import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertNotNull;
import org.junit.Test;
import org.junit.Test;
import com.baeldung.examples.common.BookService;
import com.baeldung.examples.common.BookService; import com.baeldung.examples.guice.FooGenerator;
import com.baeldung.examples.guice.Employee; import com.baeldung.examples.guice.GuicePersonService;
import com.baeldung.examples.guice.FooGenerator; import com.baeldung.examples.guice.GuiceUser;
import com.baeldung.examples.guice.GuiceUser; import com.baeldung.examples.guice.GuiceUserService;
import com.baeldung.examples.guice.GuiceUserService; import com.baeldung.examples.guice.Person;
import com.baeldung.examples.guice.Person; import com.baeldung.examples.guice.modules.GuiceModule;
import com.baeldung.examples.guice.modules.GuiceModule; import com.google.inject.Guice;
import com.google.inject.Guice; import com.google.inject.Injector;
import com.google.inject.Injector;
public class GuiceUnitTest {
public class GuiceUnitTest {
@Test
@Test public void givenAccountInjectedInGuiceUser_WhenGetAccountInvoked_ThenReturnValueIsNotNull() {
public void givenAccountFieldInjectedInGuiceUser_WhenGetAccountInvoked_ThenReturnValueIsNotNull() { Injector injector = Guice.createInjector(new GuiceModule());
Injector injector = Guice.createInjector(new GuiceModule()); GuiceUser guiceUser = injector.getInstance(GuiceUser.class);
GuiceUser guiceUser = injector.getInstance(GuiceUser.class); assertNotNull(guiceUser.getAccount());
assertNotNull(guiceUser.getAccount()); }
}
@Test
@Test public void givenPersonDaoInjectedInGuicePersonService_WhenGetPersonDaoInvoked_ThenReturnValueIsNotNull() {
public void givenAccountServiceInjectedInGuiceUserService_WhenGetAccountServiceInvoked_ThenReturnValueIsNotNull() { Injector injector = Guice.createInjector(new GuiceModule());
Injector injector = Guice.createInjector(new GuiceModule()); GuicePersonService personService = injector.getInstance(GuicePersonService.class);
GuiceUserService guiceUserService = injector.getInstance(GuiceUserService.class); assertNotNull(personService);
assertNotNull(guiceUserService.getAccountService()); assertNotNull(personService.getPersonDao());
} }
@Test @Test
public void givenBookServiceIsRegisteredInModule_WhenBookServiceIsInjected_ThenReturnValueIsNotNull() { public void givenAccountServiceInjectedInGuiceUserService_WhenGetAccountServiceInvoked_ThenReturnValueIsNotNull() {
Injector injector = Guice.createInjector(new GuiceModule()); Injector injector = Guice.createInjector(new GuiceModule());
BookService bookService = injector.getInstance(BookService.class); GuiceUserService guiceUserService = injector.getInstance(GuiceUserService.class);
assertNotNull(bookService); assertNotNull(guiceUserService.getAccountService());
} }
@Test @Test
public void givenFooGeneratorConstructorParameterIsNotNullable_WhenFooGeneratorIsInjected_ThenTestFailsByProvisionException() { public void givenBookServiceIsRegisteredInModule_WhenBookServiceIsInjected_ThenReturnValueIsNotNull() {
Injector injector = Guice.createInjector(new GuiceModule()); Injector injector = Guice.createInjector(new GuiceModule());
FooGenerator fooGenerator = injector.getInstance(FooGenerator.class); BookService bookService = injector.getInstance(BookService.class);
assertNotNull(fooGenerator); assertNotNull(bookService);
} }
@Test @Test
public void givenMultipleBindingsForPerson_WhenPersonIsInjected_ThenTestFailsByProvisionException() { public void givenFooGeneratorConstructorParameterIsNotNullable_WhenFooGeneratorIsInjected_ThenTestFailsByProvisionException() {
Injector injector = Guice.createInjector(new GuiceModule()); Injector injector = Guice.createInjector(new GuiceModule());
Person person = injector.getInstance(Person.class); FooGenerator fooGenerator = injector.getInstance(FooGenerator.class);
assertNotNull(person); assertNotNull(fooGenerator);
} }
@Test @Test
public void givenEmployeeConstructorAnnotatedByInject_WhenEmployeeIsInjected_ThenInstanceWillBeCreatedFromTheConstructor() { public void givenMultipleBindingsForPerson_WhenPersonIsInjected_ThenTestFailsByProvisionException() {
Injector injector = Guice.createInjector(new GuiceModule()); Injector injector = Guice.createInjector(new GuiceModule());
Employee employee = injector.getInstance(Employee.class); Person person = injector.getInstance(Person.class);
assertNotNull(employee); assertNotNull(person);
assertEquals("Default", employee.getLastName()); }
}
@Test
@Test public void givenGuicePersonServiceConstructorAnnotatedByInject_WhenGuicePersonServiceIsInjected_ThenInstanceWillBeCreatedFromTheConstructor() {
public void givenAddressAutowiredToGuiceUserBySetterInjection_WhenGuiceUserIsInjected_ThenAddressInitializedByTheSetter() { Injector injector = Guice.createInjector(new GuiceModule());
Injector injector = Guice.createInjector(new GuiceModule()); GuicePersonService personService = injector.getInstance(GuicePersonService.class);
GuiceUser guiceUser = injector.getInstance(GuiceUser.class); assertNotNull(personService);
assertNotNull(guiceUser); }
assertNotNull(guiceUser.getAddress());
assertEquals("Default", guiceUser.getAddress().getCity()); @Test
} public void givenPersonDaoInjectedToGuicePersonServiceBySetterInjection_WhenGuicePersonServiceIsInjected_ThenPersonDaoInitializedByTheSetter() {
Injector injector = Guice.createInjector(new GuiceModule());
} GuicePersonService personService = injector.getInstance(GuicePersonService.class);
assertNotNull(personService);
assertNotNull(personService.getPersonDao());
}
}