Package br.com.caelum.vraptor.ioc.guice

Source Code of br.com.caelum.vraptor.ioc.guice.GuiceProviderTest

package br.com.caelum.vraptor.ioc.guice;

import static org.hamcrest.Matchers.instanceOf;
import static org.hamcrest.Matchers.is;
import static org.hamcrest.Matchers.notNullValue;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertThat;

import java.util.Collection;

import net.vidageek.mirror.dsl.Mirror;

import org.junit.Test;

import br.com.caelum.vraptor.ioc.ContainerProvider;
import br.com.caelum.vraptor.ioc.fixture.CustomMethodNotAllowedHandler;
import br.com.caelum.vraptor.ioc.fixture.HasConstructor;
import br.com.caelum.vraptor.ioc.fixture.NoConstructor;
import br.com.caelum.vraptor.ioc.spring.SpringProviderRegisteringComponentsTest;
import br.com.caelum.vraptor.resource.MethodNotAllowedHandler;
import br.com.caelum.vraptor.serialization.RepresentationResult;

public class GuiceProviderTest extends SpringProviderRegisteringComponentsTest {

  @Override
  protected ContainerProvider getProvider() {
    return new GuiceProvider();
  }

  @Test
  public void shouldBeAbleToOverrideVRaptorsDefaultImplementation() throws Exception {
    MethodNotAllowedHandler handler = registerAndGetFromContainer(MethodNotAllowedHandler.class, CustomMethodNotAllowedHandler.class);
    assertThat(handler, is(instanceOf(CustomMethodNotAllowedHandler.class)));
  }
  @Test
  public void shouldBeAbleToRegisterClasses() throws Exception {
    NoConstructor instance = getFromContainer(NoConstructor.class);
    assertThat(instance, is(notNullValue()));
  }
  @Test
  public void shouldBeAbleToRegisterClassesWithDependencies() throws Exception {
    HasConstructor instance = getFromContainer(HasConstructor.class);
    assertThat(instance, is(notNullValue()));
  }

  @Test
  public void shouldBeAbleToReceiveListsOfSerializationsAsDependency() throws Exception {
    RepresentationResult instance = getFromContainer(RepresentationResult.class);
    Collection serializations = (Collection) new Mirror().on(instance).get().field("serializations");
    assertFalse(serializations.isEmpty());
  }
}
TOP

Related Classes of br.com.caelum.vraptor.ioc.guice.GuiceProviderTest

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.