Skip to content

Commit 600eaef

Browse files
committed
#24 - Compile warnings when using withSpy, withMock
1 parent 16db2d1 commit 600eaef

File tree

3 files changed

+63
-2
lines changed

3 files changed

+63
-2
lines changed

src/main/java/io/dinject/BootContext.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -252,7 +252,7 @@ public <D> BootContext withBean(Class<D> type, D bean) {
252252
*
253253
* }</pre>
254254
*/
255-
public <D> BootContext withMock(Class<D> type) {
255+
public BootContext withMock(Class<?> type) {
256256
return withMock(type, null);
257257
}
258258

@@ -310,7 +310,7 @@ public <D> BootContext withMock(Class<D> type, Consumer<D> consumer) {
310310
*
311311
* }</pre>
312312
*/
313-
public <D> BootContext withSpy(Class<D> type) {
313+
public BootContext withSpy(Class<?> type) {
314314
return withSpy(type, null);
315315
}
316316

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
package org.example.coffee;
2+
3+
import io.dinject.BeanContext;
4+
import io.dinject.BootContext;
5+
6+
import java.util.List;
7+
8+
class ExtensionExample {
9+
10+
private final List<Class<?>> withMocks;
11+
private final List<Class> withSpies;
12+
13+
ExtensionExample(List<Class<?>> withMocks, List<Class> withSpies) {
14+
this.withMocks = withMocks;
15+
this.withSpies = withSpies;
16+
}
17+
18+
BeanContext build() {
19+
20+
BootContext bootContext = new BootContext();
21+
22+
withMocks.forEach(bootContext::withMock);
23+
withSpies.forEach(bootContext::withSpy);
24+
25+
return bootContext.load();
26+
}
27+
28+
}
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
package org.example.coffee;
2+
3+
import io.dinject.BeanContext;
4+
import io.dinject.BootContext;
5+
import org.example.coffee.qualifier.SomeStore;
6+
import org.example.coffee.secondary.SEmailer;
7+
import org.example.coffee.secondary.Widget;
8+
import org.junit.Test;
9+
10+
import static java.util.Arrays.asList;
11+
import static org.junit.Assert.assertNotNull;
12+
13+
public class ExtensionExampleTest {
14+
15+
@Test
16+
public void checkForCompilerWarningsOnly_notATestThatRuns() {
17+
18+
ExtensionExample extensionExample = new ExtensionExample(asList(Widget.class, SEmailer.class), asList(SomeStore.class));
19+
BeanContext context = extensionExample.build();
20+
21+
Class cls0 = Widget.class;
22+
Class<?> cls1 = SEmailer.class;
23+
24+
BootContext bootContext = new BootContext()
25+
.withSpy(cls0)
26+
.withSpy(cls1)
27+
.withMock(cls0)
28+
.withMock(cls1);
29+
30+
assertNotNull(context);
31+
assertNotNull(bootContext);
32+
}
33+
}

0 commit comments

Comments
 (0)