@Test
    public void setMockViaInstanceSupplier() {
        Function<Class<?>, Object> provider = (t) -> {
            if (t.isAssignableFrom(GunService.class)) {
                return Mockito.mock(t);
            } else {
                try {
                    return t.newInstance();
                } catch (InstantiationException | IllegalAccessException ex) {
                    throw new IllegalStateException("Cannot create instance: " + t, ex);
                }
            }
        };
        Injector.setInstanceSupplier(provider);
        TopgunView view = new TopgunView();
        TopgunPresenter cut = (TopgunPresenter) view.getPresenter();
        assertTrue(cut.getGunService().getClass().getName().contains("ByMockito"));

    }