Package se.jbee.inject.bind

Source Code of se.jbee.inject.bind.TestSupplierBinds$SupplierBindsModule

package se.jbee.inject.bind;

import static org.hamcrest.CoreMatchers.is;
import static org.junit.Assert.assertThat;
import static se.jbee.inject.Dependency.dependency;

import org.junit.Test;

import se.jbee.inject.Dependency;
import se.jbee.inject.Injector;
import se.jbee.inject.Supplier;
import se.jbee.inject.bootstrap.Bootstrap;

public class TestSupplierBinds {

  public static class SupplierBindsModule
      extends BinderModule
      implements Supplier<String> {

    @Override
    protected void declare() {
      bind( String.class ).toSupplier( SupplierBindsModule.class );
    }

    @Override
    public String supply( Dependency<? super String> dependency, Injector injector ) {
      return "foobar";
    }

  }

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

Related Classes of se.jbee.inject.bind.TestSupplierBinds$SupplierBindsModule

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.