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); }
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); }
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)); }
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); }
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); }
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(); }
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(); }
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(); }
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); }
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); }
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(); }
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(); }
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(); }
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); }
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); }
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); }
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(); }
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); }
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); } }
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); }
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); }
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); }
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"); }
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); }
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); }
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); }