1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 package org.grouplens.grapht;
21
22 import org.grouplens.grapht.reflect.internal.types.TypeDftN;
23 import org.junit.Test;
24
25 import javax.annotation.Nullable;
26 import javax.inject.Inject;
27
28 import static org.hamcrest.CoreMatchers.not;
29 import static org.hamcrest.CoreMatchers.nullValue;
30 import static org.junit.Assert.assertThat;
31
32
33
34
35 public class NullComponentTest {
36 @Test
37 public void testDefaultNull() throws InjectionException {
38 InjectorBuilder b = InjectorBuilder.create();
39 Injector inj = b.build();
40 OptionalDep obj = inj.getInstance(OptionalDep.class);
41 assertThat(obj, not(nullValue()));
42 assertThat(obj.getDep(), nullValue());
43 }
44
45 @Test(expected = ConstructionException.class)
46 public void testBadNull() throws InjectionException {
47 InjectorBuilder b = InjectorBuilder.create();
48 Injector inj = b.build();
49 inj.getInstance(RequireDep.class);
50 }
51
52 private static class OptionalDep {
53 private TypeDftN depend;
54 @Inject
55 public OptionalDep(@Nullable TypeDftN dep) {
56 depend = dep;
57 }
58 public TypeDftN getDep() {
59 return depend;
60 }
61 }
62
63 private static class RequireDep {
64 @Inject
65 public RequireDep(TypeDftN dep) {
66 }
67 }
68 }