use of com.google.inject.CreationException in project guice by google.
the class ProvidesIntoTest method testProvidesIntoSetWithMapKey.
public void testProvidesIntoSetWithMapKey() {
Module m = new AbstractModule() {
@Override
protected void configure() {
}
@ProvidesIntoSet
@TestEnumKey(TestEnum.A)
String provideFoo() {
return "foo";
}
};
try {
Guice.createInjector(MultibindingsScanner.asModule(), m);
fail();
} catch (CreationException ce) {
assertEquals(1, ce.getErrorMessages().size());
assertContains(ce.getMessage(), "Found a MapKey annotation on non map binding at " + m.getClass().getName() + ".provideFoo");
}
}
use of com.google.inject.CreationException in project guice by google.
the class ProvidesIntoTest method testProvidesIntoOptionalWithMapKey.
public void testProvidesIntoOptionalWithMapKey() {
Module m = new AbstractModule() {
@Override
protected void configure() {
}
@ProvidesIntoOptional(Type.ACTUAL)
@TestEnumKey(TestEnum.A)
String provideFoo() {
return "foo";
}
};
try {
Guice.createInjector(MultibindingsScanner.asModule(), m);
fail();
} catch (CreationException ce) {
assertEquals(1, ce.getErrorMessages().size());
assertContains(ce.getMessage(), "Found a MapKey annotation on non map binding at " + m.getClass().getName() + ".provideFoo");
}
}
use of com.google.inject.CreationException in project guice by google.
the class ProvidesIntoTest method testArrayKeys_unwrapValuesTrue.
public void testArrayKeys_unwrapValuesTrue() {
Module m = new AbstractModule() {
@Override
protected void configure() {
}
@ProvidesIntoMap
@ArrayUnwrappedKey({ 1, 2 })
String provideFoo() {
return "foo";
}
};
try {
Guice.createInjector(MultibindingsScanner.asModule(), m);
fail();
} catch (CreationException ce) {
assertEquals(1, ce.getErrorMessages().size());
assertContains(ce.getMessage(), "Array types are not allowed in a MapKey with unwrapValue=true: " + ArrayUnwrappedKey.class.getName(), "at " + m.getClass().getName() + ".provideFoo(");
}
}
use of com.google.inject.CreationException in project guice by google.
the class ProvidesIntoTest method testProvidesIntoMapWithoutMapKey.
public void testProvidesIntoMapWithoutMapKey() {
Module m = new AbstractModule() {
@Override
protected void configure() {
}
@ProvidesIntoMap
String provideFoo() {
return "foo";
}
};
try {
Guice.createInjector(MultibindingsScanner.asModule(), m);
fail();
} catch (CreationException ce) {
assertEquals(1, ce.getErrorMessages().size());
assertContains(ce.getMessage(), "No MapKey found for map binding at " + m.getClass().getName() + ".provideFoo");
}
}
use of com.google.inject.CreationException in project guice by google.
the class ModuleAnnotatedMethodScannerTest method testMoreThanOneClaimedAnnotationFails.
public void testMoreThanOneClaimedAnnotationFails() throws Exception {
Module module = new AbstractModule() {
@Override
protected void configure() {
}
@TestProvides
@TestProvides2
String foo() {
return "foo";
}
};
try {
Guice.createInjector(module, NamedMunger.module());
fail();
} catch (CreationException expected) {
assertEquals(1, expected.getErrorMessages().size());
assertContains(expected.getMessage(), "More than one annotation claimed by NamedMunger on method " + module.getClass().getName() + ".foo(). Methods can only have " + "one annotation claimed per scanner.");
}
}
Aggregations