Package se.jbee.inject

Examples of se.jbee.inject.Injector.resolve()


  }

  @Test
  public void test() {
    Injector injector = Bootstrap.injector( SupplierBindsModule.class );
    String value = injector.resolve( dependency( String.class ) );
    assertThat( value, is( "foobar" ) );
  }
}
View Full Code Here


  }

  @Test ( expected = DependencyCycleException.class, timeout=50 )
  public void thatDependencyCyclesAreDetected() {
    Injector injector = Bootstrap.injector( CyclicBindsModule.class );
    Foo foo = injector.resolve( dependency( Foo.class ) );
    fail( "foo should not be resolvable but was: " + foo );
  }

  @Test ( expected = DependencyCycleException.class, timeout=50 )
  public void thatDependencyCyclesInCirclesAreDetected() {
View Full Code Here

  }

  @Test ( expected = DependencyCycleException.class, timeout=50 )
  public void thatDependencyCyclesInCirclesAreDetected() {
    Injector injector = Bootstrap.injector( CircularBindsModule.class );
    A a = injector.resolve( dependency( A.class ) );
    fail( "A should not be resolvable but was: " + a );
  }

  /**
   * In the example {@link Number} is {@link DeclarationType#AUTO} bound for {@link Integer} and
View Full Code Here

   * binds. They are removed and no {@link Injectron} is created for them.
   */
  @Test
  public void thatBindingsAreReplacedByMorePreciseOnes() {
    Injector injector = Bootstrap.injector( ReplacingBindsModule.class );
    assertEquals( 6, injector.resolve( dependency( Number.class ) ) );
    Injectron<?>[] injectrons = injector.resolve( dependency( Injectron[].class ) );
    assertEquals( 7, injectrons.length ); // 3x Comparable, Float, Double, Integer and Number (3x Serializable has been nullified)
    Injectron<Number>[] numberInjectrons = injector.resolve( dependency( injectronsTypeOf( Number.class ) ) );
    assertEquals( 1, numberInjectrons.length );
    @SuppressWarnings ( "rawtypes" )
View Full Code Here

   */
  @Test
  public void thatBindingsAreReplacedByMorePreciseOnes() {
    Injector injector = Bootstrap.injector( ReplacingBindsModule.class );
    assertEquals( 6, injector.resolve( dependency( Number.class ) ) );
    Injectron<?>[] injectrons = injector.resolve( dependency( Injectron[].class ) );
    assertEquals( 7, injectrons.length ); // 3x Comparable, Float, Double, Integer and Number (3x Serializable has been nullified)
    Injectron<Number>[] numberInjectrons = injector.resolve( dependency( injectronsTypeOf( Number.class ) ) );
    assertEquals( 1, numberInjectrons.length );
    @SuppressWarnings ( "rawtypes" )
    Injectron<Comparable>[] compareableInjectrons = injector.resolve( dependency( injectronsTypeOf( Comparable.class ) ) );
View Full Code Here

  public void thatBindingsAreReplacedByMorePreciseOnes() {
    Injector injector = Bootstrap.injector( ReplacingBindsModule.class );
    assertEquals( 6, injector.resolve( dependency( Number.class ) ) );
    Injectron<?>[] injectrons = injector.resolve( dependency( Injectron[].class ) );
    assertEquals( 7, injectrons.length ); // 3x Comparable, Float, Double, Integer and Number (3x Serializable has been nullified)
    Injectron<Number>[] numberInjectrons = injector.resolve( dependency( injectronsTypeOf( Number.class ) ) );
    assertEquals( 1, numberInjectrons.length );
    @SuppressWarnings ( "rawtypes" )
    Injectron<Comparable>[] compareableInjectrons = injector.resolve( dependency( injectronsTypeOf( Comparable.class ) ) );
    assertEquals( 3, compareableInjectrons.length );
  }
View Full Code Here

    Injectron<?>[] injectrons = injector.resolve( dependency( Injectron[].class ) );
    assertEquals( 7, injectrons.length ); // 3x Comparable, Float, Double, Integer and Number (3x Serializable has been nullified)
    Injectron<Number>[] numberInjectrons = injector.resolve( dependency( injectronsTypeOf( Number.class ) ) );
    assertEquals( 1, numberInjectrons.length );
    @SuppressWarnings ( "rawtypes" )
    Injectron<Comparable>[] compareableInjectrons = injector.resolve( dependency( injectronsTypeOf( Comparable.class ) ) );
    assertEquals( 3, compareableInjectrons.length );
  }

  @Test
  public void thatEagerSingeltonsCanBeCreated() {
View Full Code Here

  }

  @Test
  public void thatCustomInspectorIsUsedToPickConstructor() {
    Injector injector = Bootstrap.injector( CustomInspectedBundle.class );
    assertEquals( "will be passed to D", injector.resolve( dependency( D.class ) ).s );
  }
}
View Full Code Here

   * that installing it twice or more does not make sense.
   */
  @Test
  public void thatMonomodalModulesCanBeInstalledTwice() {
    Injector injector = Bootstrap.injector( LinkerBundle.class );
    assertEquals( 42, injector.resolve( dependency( Integer.class ) ).intValue() );
  }
}
View Full Code Here

  }

  @Test
  public void thatRequirementIsFulfilledByProvidedBind() {
    Injector injector = Bootstrap.injector( RequiredProvidedBindsBundle.class );
    assertNotNull( injector.resolve( dependency( ExampleService.class ) ) );
  }

  @Test
  public void thatUnusedProvidedBindIsNotAddedToInjectorContext() {
    Injector injector = Bootstrap.injector( RequiredProvidedBindsBundle.class );
View Full Code Here

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.