public void TestStringInjectRoundTrip() { ICsConfigurationBuilder cb = TangFactory.GetTang().NewConfigurationBuilder(); cb.BindSetEntry <SetOfNumbers, string>(GenericType <SetOfNumbers> .Class, "four"); cb.BindSetEntry <SetOfNumbers, string>(GenericType <SetOfNumbers> .Class, "five"); cb.BindSetEntry <SetOfNumbers, string>(GenericType <SetOfNumbers> .Class, "six"); string s = ConfigurationFile.ToConfigurationString(cb.Build()); ICsConfigurationBuilder cb2 = TangFactory.GetTang().NewConfigurationBuilder(); ConfigurationFile.AddConfigurationFromString(cb2, s); ISet <string> actual = ((Box)TangFactory.GetTang().NewInjector(cb2.Build()).GetInstance(typeof(Box))).Numbers; Assert.True(actual.Contains("four")); Assert.True(actual.Contains("five")); Assert.True(actual.Contains("six")); }
public void TestActivityConfigWithString() { Type activityInterfaceType = typeof(ITask); ITang tang = TangFactory.GetTang(); ICsConfigurationBuilder cb = tang.NewConfigurationBuilder(new string[] { FileNames.Examples, FileNames.Common, FileNames.Tasks }); cb.BindImplementation(GenericType <ITask> .Class, GenericType <HelloTask> .Class); IConfiguration conf = cb.Build(); string s = ConfigurationFile.ToConfigurationString(conf); ICsConfigurationBuilder cb2 = tang.NewConfigurationBuilder(new string[] { FileNames.Examples, FileNames.Common, FileNames.Tasks }); ConfigurationFile.AddConfigurationFromString(cb2, s); IConfiguration conf2 = cb2.Build(); IInjector injector = tang.NewInjector(conf2); var activityRef = (ITask)injector.GetInstance(activityInterfaceType); Assert.NotNull(activityRef); }
public void TestTweetConfigAddConfigurationFromString() { Type tweeterType = typeof(Tweeter); ITang tang = TangFactory.GetTang(); IConfiguration conf = tang.NewConfigurationBuilder(new string[] { FileNames.Examples }) .BindImplementation(GenericType <ITweetFactory> .Class, GenericType <MockTweetFactory> .Class) .BindImplementation(GenericType <ISMS> .Class, GenericType <MockSMS> .Class) .BindNamedParameter <Tweeter.PhoneNumber, long>( GenericType <Tweeter.PhoneNumber> .Class, "8675309") .Build(); ConfigurationFile.WriteConfigurationFile(conf, "tweeterConf.txt"); string s = ConfigurationFile.ToConfigurationString(conf); ICsConfigurationBuilder cb2 = tang.NewConfigurationBuilder(); ConfigurationFile.AddConfigurationFromString(cb2, s); IConfiguration conf2 = cb2.Build(); IInjector injector = tang.NewInjector(conf2); var tweeter = (Tweeter)injector.GetInstance(tweeterType); tweeter.sendMessage(); }