Example #1
0
        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"));
        }
Example #2
0
        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);
        }
Example #3
0
        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();
        }