Example #1
0
        public void TestHelloStreamingActivityWithBinding()
        {
            Type activityInterfaceType = typeof(com.microsoft.reef.activity.IActivity);
            var  a  = Assembly.Load(@"com.microsoft.reef.activity");
            var  a1 = Assembly.Load(@"com.microsoft.reef.activityInterface");

            ITang tang = TangFactory.GetTang();
            ICsConfigurationBuilder cb = tang.NewConfigurationBuilder(new string[] { file2, file3 });

            Type activityType = a.GetType("com.microsoft.reef.activity.StreamActivity1");

            cb.BindImplementation(activityInterfaceType, activityType);
            Type namedParameterId = a1.GetType(@"com.microsoft.reef.driver.activity.ActivityConfigurationOptions+Identifier");

            cb.BindNamedParameter(namedParameterId, "Hello Stereaming");
            Type namedParameterIp = a.GetType(@"com.microsoft.reef.activity.StreamActivity1+IpAddress");

            cb.BindNamedParameter(namedParameterIp, "127.0.0.0");

            IConfiguration conf        = cb.Build();
            IInjector      injector    = tang.NewInjector(conf);
            var            activityRef = (com.microsoft.reef.activity.IActivity)injector.GetInstance(activityInterfaceType);

            Assert.IsNotNull(activityRef);

            byte[] b = new byte[10];
            //activityRef.Call(b);
        }
Example #2
0
        public void testThreeConstructors()
        {
            ICsConfigurationBuilder cb = tang.NewConfigurationBuilder();

            cb.BindNamedParameter <ThreeConstructors.TCInt, int>(GenericType <ThreeConstructors.TCInt> .Class, "1");
            cb.BindNamedParameter <ThreeConstructors.TCString, string>(GenericType <ThreeConstructors.TCString> .Class, "s");
            ThreeConstructors tc = tang.NewInjector(cb.Build()).GetInstance <ThreeConstructors>();

            Assert.AreEqual(1, tc.i);
            Assert.AreEqual("s", tc.s);

            cb = tang.NewConfigurationBuilder();
            cb.BindNamedParameter <ThreeConstructors.TCInt, int>(GenericType <ThreeConstructors.TCInt> .Class, "1");
            tc = tang.NewInjector(cb.Build()).GetInstance <ThreeConstructors>();
            Assert.AreEqual(1, tc.i);
            Assert.AreEqual("default", tc.s);

            cb = tang.NewConfigurationBuilder();
            cb.BindNamedParameter <ThreeConstructors.TCString, string>(GenericType <ThreeConstructors.TCString> .Class, "s");
            tc = tang.NewInjector(cb.Build()).GetInstance <ThreeConstructors>();
            Assert.AreEqual(-1, tc.i);
            Assert.AreEqual("s", tc.s);

            cb = tang.NewConfigurationBuilder();
            cb.BindNamedParameter <ThreeConstructors.TCFloat, float>(GenericType <ThreeConstructors.TCFloat> .Class, "2");
            tc = tang.NewInjector(cb.Build()).GetInstance <ThreeConstructors>();
            Assert.AreEqual(-1, tc.i);
            Assert.AreEqual("default", tc.s);
            Assert.AreEqual(2.0f, tc.f, 1e-9);
        }
        public void NestedParameterTest()
        {
            ICsConfigurationBuilder cb = TangFactory.GetTang().NewConfigurationBuilder();

            cb.BindNamedParameter <OuterClass.NamedString, string>(GenericType <OuterClass.NamedString> .Class, "foo");
            cb.BindNamedParameter <ReferencedClass.NamedInt, int>(GenericType <ReferencedClass.NamedInt> .Class, "8");
            IInjector i = TangFactory.GetTang().NewInjector(cb.Build());
            var       o = i.GetInstance <OuterClass>();

            Assert.IsNotNull(o);
        }
Example #4
0
        public void TestRepeatedOKArgs()
        {
            ICsConfigurationBuilder cb = tang.NewConfigurationBuilder();

            cb.BindNamedParameter <RepeatedNamedArgs.A, int>(GenericType <RepeatedNamedArgs.A> .Class, "1");
            cb.BindNamedParameter <RepeatedNamedArgs.B, int>(GenericType <RepeatedNamedArgs.B> .Class, "2");

            IInjector injector = tang.NewInjector(cb.Build());

            injector.GetInstance(typeof(RepeatedNamedArgs));
        }
Example #5
0
        public void TestSingletonWithMoreSpecificConstructors()
        {
            ICsConfigurationBuilder cb = TangFactory.GetTang().NewConfigurationBuilder();

            cb.BindImplementation(GenericType <SMC> .Class, GenericType <SingletonMultiConst> .Class);
            cb.BindNamedParameter <SingletonMultiConst.A, string>(GenericType <SingletonMultiConst.A> .Class, "foo");
            cb.BindNamedParameter <SingletonMultiConst.B, string>(GenericType <SingletonMultiConst.B> .Class, "bar");
            IInjector i = TangFactory.GetTang().NewInjector(cb.Build());
            var       o = i.GetInstance <SMC>();

            Assert.IsNotNull(o);
        }
        public void TestMultipleConstructor()
        {
            ICsConfigurationBuilder cb = TangFactory.GetTang().NewConfigurationBuilder();

            cb.BindNamedParameter <MultiConstructorTest.NamedString, string>(GenericType <MultiConstructorTest.NamedString> .Class, "foo");
            cb.BindNamedParameter <MultiConstructorTest.NamedInt, int>(GenericType <MultiConstructorTest.NamedInt> .Class, "8");
            cb.BindNamedParameter <MultiConstructorTest.NamedBool, bool>(GenericType <MultiConstructorTest.NamedBool> .Class, "true");
            IInjector i = TangFactory.GetTang().NewInjector(cb.Build());
            var       o = i.GetInstance <MultiConstructorTest>();

            o.Verify("foo", 8, true);
        }
Example #7
0
        public void TestActivityConfiguration()
        {
            Type  activityInterfaceType = typeof(ITask);
            ITang tang = TangFactory.GetTang();
            ICsConfigurationBuilder cb = tang.NewConfigurationBuilder(new string[] { FileNames.Common, FileNames.Tasks });

            cb.BindImplementation(GenericType <ITask> .Class, GenericType <HelloTask> .Class);
            cb.BindNamedParameter <TaskConfigurationOptions.Identifier, string>(
                GenericType <TaskConfigurationOptions.Identifier> .Class, "Hello Task");
            IConfiguration conf = cb.Build();

            ConfigurationFile.WriteConfigurationFile(conf, "TaskConf.txt");
            IDictionary <string, string> p = ConfigurationFile.FromFile("TaskConf.txt");

            ITang tang1 = TangFactory.GetTang();
            ICsConfigurationBuilder cb1 = tang1.NewConfigurationBuilder(new string[] { FileNames.Common, FileNames.Tasks });

            ConfigurationFile.AddConfigurationFromFile(cb1, "TaskConf.txt");
            IConfiguration conf1 = cb1.Build();

            IInjector injector    = tang1.NewInjector(conf1);
            var       activityRef = (ITask)injector.GetInstance(activityInterfaceType);

            Assert.NotNull(activityRef);
        }
Example #8
0
        public void TestDeserializedConfigMerge()
        {
            Type  activityInterfaceType = typeof(ITask);
            ITang tang = TangFactory.GetTang();

            ICsConfigurationBuilder cb1 = tang.NewConfigurationBuilder();

            cb1.BindImplementation(GenericType <ITask> .Class, GenericType <HelloTask> .Class);
            cb1.BindNamedParameter <TaskConfigurationOptions.Identifier, string>(
                GenericType <TaskConfigurationOptions.Identifier> .Class, "Hello Task");
            IConfiguration conf1      = cb1.Build();
            var            serializer = new AvroConfigurationSerializer();

            serializer.ToFile(conf1, "task.config");

            ICsConfigurationBuilder cb2 = tang.NewConfigurationBuilder();

            cb2.BindNamedParameter <Timer.Seconds, int>(GenericType <Timer.Seconds> .Class, "2");
            IConfiguration conf2 = cb2.Build();

            serializer.ToFile(conf2, "timer.config");

            ProtocolBufferClassHierarchy.Serialize("TaskTimer.bin", conf1.GetClassHierarchy());
            IClassHierarchy ns = ProtocolBufferClassHierarchy.DeSerialize("TaskTimer.bin");

            AvroConfiguration taskAvroconfiguration = serializer.AvroDeserializeFromFile("task.config");
            IConfiguration    taskConfiguration     = serializer.FromAvro(taskAvroconfiguration, ns);

            AvroConfiguration timerAvroconfiguration = serializer.AvroDeserializeFromFile("timer.config");
            IConfiguration    timerConfiguration     = serializer.FromAvro(timerAvroconfiguration, ns);

            IConfiguration merged = Configurations.MergeDeserializedConfs(taskConfiguration, timerConfiguration);

            var b = merged.newBuilder().Build();
        }
Example #9
0
        public void TestDocumentLoadNamedParameterConfiguration()
        {
            Type  documentedLocalNamedParameterType = typeof(DocumentedLocalNamedParameter);
            ITang tang = TangFactory.GetTang();
            ICsConfigurationBuilder cb = tang.NewConfigurationBuilder(new string[] { FileNames.Examples });

            cb.BindNamedParameter <DocumentedLocalNamedParameter.Foo, string>(
                GenericType <DocumentedLocalNamedParameter.Foo> .Class, "Hello");
            IConfiguration conf = cb.Build();

            ConfigurationFile.WriteConfigurationFile(conf, "docLoadConf.txt");
            IDictionary <string, string> p = ConfigurationFile.FromFile("docLoadConf.txt");

            ITang tang1 = TangFactory.GetTang();
            ICsConfigurationBuilder cb1 = tang1.NewConfigurationBuilder(new string[] { FileNames.Examples });

            ConfigurationFile.AddConfigurationFromFile(cb1, "docLoadConf.txt");
            IConfiguration conf1 = cb1.Build();

            IInjector injector = tang1.NewInjector(conf1);
            var       doc      = (DocumentedLocalNamedParameter)injector.GetInstance(documentedLocalNamedParameterType);

            Assert.NotNull(doc);
            var s = doc.ToString();
        }
Example #10
0
        public void TestTimerConfiguration()
        {
            Type  timerType            = typeof(Timer);
            ITang tang                 = TangFactory.GetTang();
            ICsConfigurationBuilder cb = tang.NewConfigurationBuilder(new string[] { FileNames.Examples });

            cb.BindNamedParameter <Timer.Seconds, int>(GenericType <Timer.Seconds> .Class, "2");
            IConfiguration conf = cb.Build();

            ConfigurationFile.WriteConfigurationFile(conf, "timerConf.txt");
            IDictionary <string, string> p = ConfigurationFile.FromFile("timerConf.txt");

            ITang tang1 = TangFactory.GetTang();
            ICsConfigurationBuilder cb1 = tang1.NewConfigurationBuilder(new string[] { FileNames.Examples });

            ConfigurationFile.AddConfigurationFromFile(cb1, "timerConf.txt");
            IConfiguration conf1 = cb1.Build();

            IInjector injector = tang.NewInjector(conf1);
            var       timer    = (Timer)injector.GetInstance(timerType);

            Assert.NotNull(timer);

            timer.sleep();
        }
Example #11
0
        public void TestBindNamedParameter1()
        {
            ICsConfigurationBuilder cb = TangFactory.GetTang().NewConfigurationBuilder();

            cb.BindNamedParameter <AImplName, Aimpl, INamedImplA>();
            cb.BindNamedParameter <BImplName, Bimpl, INamedImplA>();

            IInjector i  = TangFactory.GetTang().NewInjector(cb.Build());
            Aimpl     a1 = (Aimpl)i.GetNamedInstance <AImplName, INamedImplA>(GenericType <AImplName> .Class);
            Aimpl     a2 = (Aimpl)i.GetNamedInstance <AImplName, INamedImplA>(GenericType <AImplName> .Class);
            Bimpl     b1 = (Bimpl)i.GetNamedInstance <BImplName, INamedImplA>(GenericType <BImplName> .Class);
            Bimpl     b2 = (Bimpl)i.GetNamedInstance <BImplName, INamedImplA>(GenericType <BImplName> .Class);

            Assert.Same(a1, a2);
            Assert.Same(b1, b2);
        }
Example #12
0
        public void TestActivityConfiguration()
        {
            Type activityInterfaceType = typeof(com.microsoft.reef.activity.IActivity);
            var  a            = Assembly.Load(@"com.microsoft.reef.activity");
            var  a1           = Assembly.Load(@"com.microsoft.reef.activityInterface");
            Type activityType = a.GetType("com.microsoft.reef.activity.HelloActivity");
            //Type activityType = typeof(com.microsoft.reef.activity.HelloActivity);

            ITang tang = TangFactory.GetTang();
            ICsConfigurationBuilder cb = tang.NewConfigurationBuilder(new string[] { file2, file3 });

            cb.BindImplementation(activityInterfaceType, activityType);
            Type namedParameter = a1.GetType(@"com.microsoft.reef.driver.activity.ActivityConfigurationOptions+Identifier");

            cb.BindNamedParameter(namedParameter, "Hello Activity");
            IConfiguration conf = cb.Build();

            ConfigurationFile.WriteConfigurationFile(conf, "activityConf.txt");
            IDictionary <string, string> p = ReadFromFile("activityConf.txt");


            ITang tang1 = TangFactory.GetTang();
            ICsConfigurationBuilder cb1 = tang1.NewConfigurationBuilder(new string[] { file2, file3 });

            ConfigurationFile.AddConfiguration(cb1, "activityConf.txt");
            IConfiguration conf1 = cb1.Build();

            IInjector injector    = tang1.NewInjector(conf1);
            var       activityRef = (com.microsoft.reef.activity.IActivity)injector.GetInstance(activityInterfaceType);

            Assert.IsNotNull(activityRef);

            //byte[] b = new byte[10];
            //activityRef.Call(b);
        }
Example #13
0
        public void TestTimerConfigurationWithClassHierarchy()
        {
            Type timerType      = typeof(Com.Microsoft.Tang.Examples.Timer);
            Type namedParameter = asm.GetType(@"Com.Microsoft.Tang.Examples.Timer+Seconds");

            ClassHierarchyImpl classHierarchyImpl = new ClassHierarchyImpl(file);

            ITang tang = TangFactory.GetTang();
            ICsConfigurationBuilder cb = tang.NewConfigurationBuilder(classHierarchyImpl);

            cb.BindNamedParameter(namedParameter, "1");
            IConfiguration conf = cb.Build();

            ConfigurationFile.WriteConfigurationFile(conf, "timerConfH.txt");
            IDictionary <string, string> p = ReadFromFile("timerConfH.txt");

            ITang tang1 = TangFactory.GetTang();
            ICsConfigurationBuilder cb1 = tang1.NewConfigurationBuilder(new string[] { file });

            ConfigurationFile.AddConfiguration(cb1, "timerConfH.txt");
            IConfiguration conf1 = cb1.Build();

            IInjector injector = tang1.NewInjector(conf1);
            var       timer    = (Com.Microsoft.Tang.Examples.Timer)injector.GetInstance(timerType);

            Assert.IsNotNull(timer);
            timer.sleep();
        }
Example #14
0
        public void TestDocumentLoadNamedParameterConfiguration()
        {
            Type documentedLocalNamedParameterType = typeof(Com.Microsoft.Tang.Examples.DocumentedLocalNamedParameter);
            Type namedParameter = asm.GetType(@"Com.Microsoft.Tang.Examples.DocumentedLocalNamedParameter+Foo");

            ITang tang = TangFactory.GetTang();
            ICsConfigurationBuilder cb = tang.NewConfigurationBuilder(new string[] { file });

            cb.BindNamedParameter(namedParameter, "Hello");
            IConfiguration conf = cb.Build();

            ConfigurationFile.WriteConfigurationFile(conf, "docLoadConf.txt");
            IDictionary <string, string> p = ReadFromFile("docLoadConf.txt");

            ITang tang1 = TangFactory.GetTang();
            ICsConfigurationBuilder cb1 = tang1.NewConfigurationBuilder(new string[] { file });

            ConfigurationFile.AddConfiguration(cb1, "docLoadConf.txt");
            IConfiguration conf1 = cb1.Build();

            IInjector injector = tang1.NewInjector(conf1);
            var       doc      = (Com.Microsoft.Tang.Examples.DocumentedLocalNamedParameter)injector.GetInstance(documentedLocalNamedParameterType);

            Assert.IsNotNull(doc);
            var s = doc.ToString();
        }
Example #15
0
        public void TestTweetConfiguration()
        {
            Type  tweeterType          = typeof(Com.Microsoft.Tang.Examples.Tweeter);
            Type  namedParameter       = asm.GetType(@"Com.Microsoft.Tang.Examples.Tweeter+PhoneNumber");
            ITang tang                 = TangFactory.GetTang();
            ICsConfigurationBuilder cb = tang.NewConfigurationBuilder(new string[] { file });

            cb.BindImplementation(typeof(TweetFactory), typeof(MockTweetFactory));
            cb.BindImplementation(typeof(SMS), typeof(MockSMS));
            cb.BindNamedParameter(namedParameter, "8675309");
            IConfiguration conf = cb.Build();

            ConfigurationFile.WriteConfigurationFile(conf, "tweeterConf.txt");
            IDictionary <string, string> p = ReadFromFile("tweeterConf.txt");

            ITang tang1 = TangFactory.GetTang();
            ICsConfigurationBuilder cb1 = tang1.NewConfigurationBuilder(new string[] { file });

            ConfigurationFile.AddConfiguration(cb1, "tweeterConf.txt");
            IConfiguration conf1 = cb1.Build();

            IInjector injector = tang1.NewInjector(conf1);
            var       tweeter  = (Com.Microsoft.Tang.Examples.Tweeter)injector.GetInstance(tweeterType);

            tweeter.sendMessage();
        }
Example #16
0
        public void TestTwoNamedStringArgsBind()
        {
            ICsConfigurationBuilder cb = tang.NewConfigurationBuilder();
            TwoNamedStringArgs      a  = tang.NewInjector(cb.Build()).GetInstance <TwoNamedStringArgs>();

            Assert.AreEqual("defaultA", a.a);
            Assert.AreEqual("defaultB", a.b);
            cb.BindNamedParameter <TwoNamedStringArgs.A, string>(GenericType <TwoNamedStringArgs.A> .Class, "not defaultA");
            cb.BindNamedParameter <TwoNamedStringArgs.B, string>(GenericType <TwoNamedStringArgs.B> .Class, "not defaultB");
            IInjector i = tang.NewInjector(cb.Build());

            Assert.AreEqual("not defaultA",
                            i.GetInstance <TwoNamedStringArgs>().a);
            Assert.AreEqual("not defaultB",
                            i.GetInstance <TwoNamedStringArgs>().b);
        }
Example #17
0
        public void TestNamedImpl()
        {
            ICsConfigurationBuilder cb = TangFactory.GetTang().NewConfigurationBuilder(new string[] { FileNames.Examples });

            cb.BindNamedParameter <AImplName, Aimpl, INamedImplA>(GenericType <AImplName> .Class, GenericType <Aimpl> .Class);
            cb.BindNamedParameter <BImplName, Bimpl, INamedImplA>(GenericType <BImplName> .Class, GenericType <Bimpl> .Class);

            IInjector i  = TangFactory.GetTang().NewInjector(cb.Build());
            Aimpl     a1 = (Aimpl)i.GetNamedInstance <AImplName, INamedImplA>(GenericType <AImplName> .Class);
            Aimpl     a2 = (Aimpl)i.GetNamedInstance <AImplName, INamedImplA>(GenericType <AImplName> .Class);
            Bimpl     b1 = (Bimpl)i.GetNamedInstance <BImplName, INamedImplA>(GenericType <BImplName> .Class);
            Bimpl     b2 = (Bimpl)i.GetNamedInstance <BImplName, INamedImplA>(GenericType <BImplName> .Class);

            Assert.AreSame(a1, a2);
            Assert.AreSame(b1, b2);
        }
Example #18
0
        public void TestMultipleConfiguration()
        {
            Type  activityInterfaceType = typeof(ITask);
            ITang tang = TangFactory.GetTang();
            ICsConfigurationBuilder cb = tang.NewConfigurationBuilder(new string[] { FileNames.Common, FileNames.Tasks });

            cb.BindImplementation(GenericType <ITask> .Class, GenericType <HelloTask> .Class);
            cb.BindNamedParameter <TaskConfigurationOptions.Identifier, string>(
                GenericType <TaskConfigurationOptions.Identifier> .Class, "Hello Task");
            IConfiguration conf = cb.Build();

            IConfiguration httpConfiguraiton = HttpHandlerConfiguration.CONF
                                               .Set(HttpHandlerConfiguration.P, GenericType <HttpServerReefEventHandler> .Class)
                                               .Set(HttpHandlerConfiguration.P, GenericType <HttpServerNrtEventHandler> .Class)
                                               .Build();

            IInjector injector    = TangFactory.GetTang().NewInjector(new IConfiguration[] { conf, httpConfiguraiton });
            var       activityRef = (ITask)injector.GetInstance(activityInterfaceType);

            Assert.NotNull(activityRef);

            RuntimeClock clock = injector.GetInstance <RuntimeClock>();
            var          rh    = clock.ClockRuntimeStartHandler.Get();

            Assert.Equal(rh.Count, 1);
        }
Example #19
0
        public void TestMultipleAssemlies()
        {
            Type activityInterfaceType1 = typeof(com.microsoft.reef.activity.IActivity);
            var  a             = Assembly.Load(@"com.microsoft.reef.activity");
            Type activityType1 = a.GetType("com.microsoft.reef.activity.HelloActivity");

            Type tweeterType    = typeof(Com.Microsoft.Tang.Examples.Tweeter);
            Type namedParameter = asm.GetType(@"Com.Microsoft.Tang.Examples.Tweeter+PhoneNumber");

            ITang tang = TangFactory.GetTang();
            ICsConfigurationBuilder cb = tang.NewConfigurationBuilder(new string[] { file, file2, file3 });

            cb.BindImplementation(activityInterfaceType1, activityType1);
            cb.BindImplementation(typeof(TweetFactory), typeof(MockTweetFactory));
            cb.BindImplementation(typeof(SMS), typeof(MockSMS));
            cb.BindNamedParameter(namedParameter, "8675309");

            IConfiguration conf        = cb.Build();
            IInjector      injector    = tang.NewInjector(conf);
            var            activityRef = (com.microsoft.reef.activity.IActivity)injector.GetInstance(activityInterfaceType1);
            var            tweeter     = (Com.Microsoft.Tang.Examples.Tweeter)injector.GetInstance(tweeterType);

            Assert.IsNotNull(activityRef);
            Assert.IsNotNull(tweeter);

            byte[] b = new byte[10];
            //activityRef.Call(b);
            tweeter.sendMessage();
        }
Example #20
0
        public void TestHelloStreamingActivityWithBinding()
        {
            Type activityInterfaceType = typeof(ITask);

            ITang tang = TangFactory.GetTang();
            ICsConfigurationBuilder cb = tang.NewConfigurationBuilder(new string[] { FileNames.Tasks, FileNames.Common });

            cb.BindImplementation(GenericType <ITask> .Class, GenericType <HelloTask> .Class);
            cb.BindNamedParameter <TaskConfigurationOptions.Identifier, string>(GenericType <TaskConfigurationOptions.Identifier> .Class, "Hello Stereamingk");
            cb.BindNamedParameter <StreamTask1.IpAddress, string>(GenericType <StreamTask1.IpAddress> .Class, "127.0.0.0");
            IConfiguration conf        = cb.Build();
            IInjector      injector    = tang.NewInjector(conf);
            var            activityRef = (ITask)injector.GetInstance(activityInterfaceType);

            Assert.IsNotNull(activityRef);
        }
        public void TestOnlyIntParameter()
        {
            // Multiple infeasible plans: Org.Apache.REEF.Tang.Tests.Injection.MultiConstructorTest
            // , Org.Apache.REEF.Tang.Test
            // , Version=1.0.0.0
            // , Culture=neutral
            // , PublicKeyToken=null:
            //  [ Org.Apache.REEF.Tang.Tests.Injection.MultiConstructorTest = new Org.Apache.REEF.Tang.Tests.Injection.MultiConstructorTest
            //   ( System.Boolean Org.Apache.REEF.Tang.Tests.Injection.MultiConstructorTest+NamedBool =
            //   , System.Int32 Org.Apache.REEF.Tang.Tests.Injection.MultiConstructorTest+NamedInt = 8
            //   )
            //   | new Org.Apache.REEF.Tang.Tests.Injection.MultiConstructorTest
            //   ( System.String Org.Apache.REEF.Tang.Tests.Injection.MultiConstructorTest+NamedString =
            //   , System.Int32 Org.Apache.REEF.Tang.Tests.Injection.MultiConstructorTest+NamedInt = 8
            //   )
            //   | new Org.Apache.REEF.Tang.Tests.Injection.MultiConstructorTest
            //   ( System.Boolean Org.Apache.REEF.Tang.Tests.Injection.MultiConstructorTest+NamedBool =
            //   , System.String Org.Apache.REEF.Tang.Tests.Injection.MultiConstructorTest+NamedString =
            //   , System.Int32 Org.Apache.REEF.Tang.Tests.Injection.MultiConstructorTest+NamedInt = 8
            //   )
            // ]
            MultiConstructorTest obj = null;

            try
            {
                ICsConfigurationBuilder cb = TangFactory.GetTang().NewConfigurationBuilder();
                cb.BindNamedParameter <MultiConstructorTest.NamedInt, int>(GenericType <MultiConstructorTest.NamedInt> .Class, "8");
                IInjector i = TangFactory.GetTang().NewInjector(cb.Build());
                obj = i.GetInstance <MultiConstructorTest>();
            }
            catch (InjectionException)
            {
            }
            Assert.Null(obj);
        }
Example #22
0
 private static void SetMessageType(Type operatorType, ICsConfigurationBuilder confBuilder)
 {
     if (operatorType.IsGenericType)
     {
         var genericTypes = operatorType.GenericTypeArguments;
         var msgType      = genericTypes[0];
         confBuilder.BindNamedParameter <GroupCommConfigurationOptions.MessageType, string>(
             GenericType <GroupCommConfigurationOptions.MessageType> .Class, msgType.AssemblyQualifiedName);
     }
 }
Example #23
0
        public void TrackingIdThroughInterfaceTest()
        {
            ICsConfigurationBuilder cba = TangFactory.GetTang().NewConfigurationBuilder();

            cba.BindNamedParameter <PortNumber, string>(GenericType <PortNumber> .Class, "8080");
            string trackingId = System.Environment.MachineName + ":8080";
            var    id         = TangFactory.GetTang().NewInjector().GetInstance <ITrackingURIProvider>();

            Assert.Equal(id.GetURI(), trackingId);
        }
Example #24
0
        public void TestBoolUpperCaseParameter()
        {
            ICsConfigurationBuilder cb = TangFactory.GetTang().NewConfigurationBuilder();

            cb.BindNamedParameter <BooleanTest.NamedBool, bool>(GenericType <BooleanTest.NamedBool> .Class, "True");
            IInjector i = TangFactory.GetTang().NewInjector(cb.Build());
            var       o = i.GetInstance <BooleanTest>();

            o.Verify(true);
        }
Example #25
0
        public void TestByteParameter()
        {
            ICsConfigurationBuilder cb = TangFactory.GetTang().NewConfigurationBuilder();

            cb.BindNamedParameter <ByteTest.NamedByte, byte>(GenericType <ByteTest.NamedByte> .Class, "6");
            IInjector i = TangFactory.GetTang().NewInjector(cb.Build());
            var       o = i.GetInstance <ByteTest>();

            o.Verify(6);
        }
Example #26
0
        public void TestOptionalParameter()
        {
            ICsConfigurationBuilder cb = TangFactory.GetTang().NewConfigurationBuilder();

            cb.BindNamedParameter <StringTest.NamedString, string>(GenericType <StringTest.NamedString> .Class, "foo");
            IInjector i = TangFactory.GetTang().NewInjector(cb.Build());
            var       o = i.GetInstance <StringTest>();

            o.Verify("foo");
        }
Example #27
0
        public void TestLongParameter()
        {
            ICsConfigurationBuilder cb = TangFactory.GetTang().NewConfigurationBuilder();

            cb.BindNamedParameter <Int64Test.NamedLong, long>(GenericType <Int64Test.NamedLong> .Class, "8777");
            IInjector i = TangFactory.GetTang().NewInjector(cb.Build());
            var       o = i.GetInstance <Int64Test>();

            o.Verify(8777);
        }
Example #28
0
        public void TestIntParameter()
        {
            ICsConfigurationBuilder cb = TangFactory.GetTang().NewConfigurationBuilder();

            cb.BindNamedParameter <Int32Test.NamedInt, int>(GenericType <Int32Test.NamedInt> .Class, "8");
            IInjector i = TangFactory.GetTang().NewInjector(cb.Build());
            var       o = i.GetInstance <Int32Test>();

            o.Verify(8);
        }
Example #29
0
        public void TestCharParameter()
        {
            ICsConfigurationBuilder cb = TangFactory.GetTang().NewConfigurationBuilder();

            cb.BindNamedParameter <CharTest.NamedChar, char>(GenericType <CharTest.NamedChar> .Class, "C");
            IInjector i = TangFactory.GetTang().NewInjector(cb.Build());
            var       o = i.GetInstance <CharTest>();

            o.Verify('C');
        }
        public void testEndToEnd()
        {
            ITang tang = TangFactory.GetTang();
            ICsConfigurationBuilder cb = tang.NewConfigurationBuilder(new Type[] { typeof(BarParser) });

            cb.BindNamedParameter <SomeNamedFoo, Foo>(GenericType <SomeNamedFoo> .Class, "hdfs://woot");
            ILikeBars ilb = tang.NewInjector(cb.Build()).GetInstance <ILikeBars>();

            Assert.IsNotNull(ilb);
        }