package org.nuunframework.configuration.common; import static org.fest.assertions.Assertions.assertThat; import org.junit.BeforeClass; import org.junit.Test; import org.nuunframework.kernel.Kernel; import org.nuunframework.kernel.plugin.AbstractPlugin; import com.google.inject.AbstractModule; import com.google.inject.Injector; public class NuunCommonConfigurationPluginTest { static Injector injector; @BeforeClass public static void init() { Kernel kernel = Kernel.createKernel(Kernel.NUUN_ROOT_PACKAGE , NuunCommonConfigurationPluginTest.class.getPackage().getName() ) .withPlugins( new AbstractPlugin() { @Override public String name() { return "internal plugin"; } public String pluginPackageRoot() { return NuunCommonConfigurationPluginTest.class.getPackage().getName(); }; public Object dependencyInjectionDef() { return new AbstractModule() { @Override protected void configure() { bind(Holder.class); } }; }; } ) .build(); kernel.init(); kernel.start(); injector = kernel.getMainInjector(); } @Test public void property_should_be_reachable_via_annotation() { Holder holder = injector.getInstance(Holder.class); // // // assertThat(holder.moduleAnno).isNotNull(); // assertThat(holder.moduleAnno).isEqualTo("Hi!"); assertThat(holder.id).isNotNull(); assertThat(holder.id).isEqualTo(123l); assertThat(holder.password).isNotNull(); assertThat(holder.password).isEqualTo("mypassword"); assertThat(holder._int).isNotNull(); assertThat(holder._int).isEqualTo(1); // assertThat(holder._Integer).isNotNull(); // assertThat(holder._Integer).isEqualTo(1); assertThat(holder.__Integer).isNotNull(); assertThat(holder.__Integer).isEqualTo("1"); assertThat(holder._long).isNotNull(); assertThat(holder._long).isEqualTo(2); assertThat(holder._Long).isNotNull(); assertThat(holder._Long).isEqualTo(2); assertThat(holder.__Long).isNotNull(); assertThat(holder.__Long).isEqualTo("2"); assertThat(holder._short).isNotNull(); assertThat(holder._short).isEqualTo((short) 3); assertThat(holder._Short).isNotNull(); assertThat(holder._Short).isEqualTo((short) 3); assertThat(holder.__Short).isNotNull(); assertThat(holder.__Short).isEqualTo("3"); assertThat(holder._byte).isNotNull(); assertThat(holder._byte).isEqualTo((byte) 4); assertThat(holder._Byte).isNotNull(); assertThat(holder._Byte).isEqualTo((byte) 4); assertThat(holder.__Byte).isNotNull(); assertThat(holder.__Byte).isEqualTo("4"); assertThat(holder._float).isNotNull(); assertThat(holder._float).isEqualTo(5.5f); assertThat(holder._Float).isNotNull(); assertThat(holder._Float).isEqualTo(5.5f); assertThat(holder.__Float).isNotNull(); assertThat(holder.__Float).isEqualTo("5.5"); assertThat(holder._double).isNotNull(); assertThat(holder._double).isEqualTo(6.6d); assertThat(holder._Double).isNotNull(); assertThat(holder._Double).isEqualTo(6.6d); assertThat(holder.__Double).isNotNull(); assertThat(holder.__Double).isEqualTo("6.6"); assertThat(holder._char).isNotNull(); assertThat(holder._char).isEqualTo('g'); assertThat(holder._Character).isNotNull(); assertThat(holder._Character).isEqualTo('g'); assertThat(holder.__Character).isNotNull(); assertThat(holder.__Character).isEqualTo("g"); assertThat(holder._booleanTrue).isNotNull(); assertThat(holder._booleanTrue).isEqualTo(true); assertThat(holder._BooleanTrue).isNotNull(); assertThat(holder._BooleanTrue).isEqualTo(true); assertThat(holder._BooleanTrue).isNotNull(); assertThat(holder.__BooleanTrue).isEqualTo("true"); assertThat(holder._booleanFalse).isNotNull(); assertThat(holder._booleanFalse).isEqualTo(false); assertThat(holder._BooleanFalse).isNotNull(); assertThat(holder._BooleanFalse).isEqualTo(false); assertThat(holder._BooleanFalse).isNotNull(); assertThat(holder.__BooleanFalse).isEqualTo("false"); // use of converter assertThat(holder.__special).isNotNull(); assertThat(holder.__special.content ).hasSize(7); assertThat(holder.__special.content ).containsOnly("epo" , "jemba", "the" , "master" , "of" , "the" , "universe"); assertThat(holder.__nothing).isNotNull(); assertThat(holder.__nothing).isEqualTo(""); assertThat(holder.private1()).isNotNull(); assertThat(holder.private1()).isEqualTo("private1"); assertThat(holder.private2()).isNotNull(); assertThat(holder.private2()).isEqualTo("private2"); assertThat(holder.private1()).isNotNull(); assertThat(holder.private1()).isEqualTo("private1"); assertThat(holder.private2()).isNotNull(); assertThat(holder.private2()).isEqualTo("private2"); } // @Test // public void property_should_be_reachable_via_annotation_on_a_proxified_class() // { // ProxifiedHolder holder = injector.getInstance(ProxifiedHolder.class); // System.err.println("holder = " + holder); // assertThat(holder.private1()).isNotNull(); // assertThat(holder.private1()).isEqualTo("private1"); // assertThat(holder.private2()).isNotNull(); // assertThat(holder.private2()).isEqualTo("private1"); // } }