@@ -0,0 +1,1564 @@
+package name.falgout.jeffrey.testing.junit.guice;%0A%0Aimport static com.google.common.truth.Truth.assertThat;%0Aimport static org.junit.jupiter.api.Assertions.fail;%0A%0Aimport com.google.inject.AbstractModule;%0Aimport javax.inject.Inject;%0Aimport org.junit.jupiter.api.Test;%0Aimport org.junit.jupiter.api.extension.ConditionEvaluationResult;%0Aimport org.junit.jupiter.api.extension.ExecutionCondition;%0Aimport org.junit.jupiter.api.extension.ExtensionContext;%0Aimport org.junit.jupiter.api.extension.RegisterExtension;%0A%0A@IncludeModule(InjectableExtensionModule.class)%0Aclass InjectExtensionsTest %7B%0A  @RegisterExtension @Inject InjectableExtension customExtension;%0A%0A  @Test%0A  void instanceExtensionInjection() %7B%0A    assertThat(customExtension).isNotNull();%0A  %7D%0A%0A  @Test%0A  void thisTestShouldBeSkipped() %7B%0A    fail(%22This test should have been skipped.%22);%0A  %7D%0A%7D%0A%0Afinal class InjectableExtensionModule extends AbstractModule %7B%0A  @Override%0A  protected void configure() %7B%0A    bind(String.class).toInstance(%22thisTestShouldBeSkipped%22);%0A  %7D%0A%7D%0A%0Afinal class InjectableExtension implements ExecutionCondition %7B%0A  private final String testMethodToSkip;%0A%0A  @Inject%0A  InjectableExtension(String testMethodToSkip) %7B%0A    this.testMethodToSkip = testMethodToSkip;%0A  %7D%0A%0A  @Override%0A  public ConditionEvaluationResult evaluateExecutionCondition(ExtensionContext context) %7B%0A    if (context.getRequiredTestMethod().getName().equals(testMethodToSkip)) %7B%0A      return ConditionEvaluationResult.disabled(%22Disabled by InjectableExtension.%22);%0A    %7D%0A%0A    return ConditionEvaluationResult.enabled(%22%22);%0A  %7D%0A%7D%0A

Add a test for injecting extensions.