Esempio n. 1
0
        public void TestProperties()
        {
            ConcurrentCompositeConfiguration config          = new ConcurrentCompositeConfiguration();
            DynamicPropertyFactory           factory         = DynamicPropertyFactory.InitWithConfigurationSource(config);
            DynamicStringProperty            prop1           = factory.GetStringProperty("prop1", null);
            DynamicStringProperty            prop2           = factory.GetStringProperty("prop2", null);
            DynamicStringProperty            prop3           = factory.GetStringProperty("prop3", null);
            DynamicStringProperty            prop4           = factory.GetStringProperty("prop4", null);
            AbstractConfiguration            containerConfig = new ConcurrentDictionaryConfiguration();

            containerConfig.AddProperty("prop1", "prop1");
            containerConfig.AddProperty("prop2", "prop2");
            AbstractConfiguration baseConfig = new ConcurrentDictionaryConfiguration();

            baseConfig.AddProperty("prop3", "prop3");
            baseConfig.AddProperty("prop1", "prop1FromBase");
            // Make container configuration the highest priority
            config.SetContainerConfiguration(containerConfig, "container configuration", 0);
            config.AddConfiguration(baseConfig, "base configuration");
            Assert.AreEqual("prop1", config.GetProperty("prop1"));
            Assert.AreEqual("prop1", prop1.Value);
            Assert.AreEqual("prop2", prop2.Value);
            Assert.AreEqual("prop3", prop3.Value);
            containerConfig.SetProperty("prop1", "newvalue");
            Assert.AreEqual("newvalue", prop1.Value);
            Assert.AreEqual("newvalue", config.GetProperty("prop1"));
            baseConfig.AddProperty("prop4", "prop4");
            Assert.AreEqual("prop4", config.GetProperty("prop4"));
            Assert.AreEqual("prop4", prop4.Value);
            baseConfig.SetProperty("prop1", "newvaluefrombase");
            Assert.AreEqual("newvalue", prop1.Value);
            containerConfig.ClearProperty("prop1");
            Assert.AreEqual("newvaluefrombase", config.GetProperty("prop1"));
            Assert.AreEqual("newvaluefrombase", prop1.Value);
            config.SetOverrideProperty("prop2", "overridden");
            config.SetProperty("prop2", "fromContainer");
            Assert.AreEqual("overridden", config.GetProperty("prop2"));
            Assert.AreEqual("overridden", prop2.Value);
            config.clearOverrideProperty("prop2");
            Assert.AreEqual("fromContainer", prop2.Value);
            Assert.AreEqual("fromContainer", config.GetProperty("prop2"));
            config.SetProperty("prop3", "fromContainer");
            Assert.AreEqual("fromContainer", prop3.Value);
            Assert.AreEqual("fromContainer", config.GetProperty("prop3"));
            config.ClearProperty("prop3");
            Assert.AreEqual("prop3", prop3.Value);
            Assert.AreEqual("prop3", config.GetProperty("prop3"));
        }
 public void TestProperties()
 {
     ConcurrentCompositeConfiguration config = new ConcurrentCompositeConfiguration();
     DynamicPropertyFactory factory = DynamicPropertyFactory.InitWithConfigurationSource(config);
     DynamicStringProperty prop1 = factory.GetStringProperty("prop1", null);
     DynamicStringProperty prop2 = factory.GetStringProperty("prop2", null);
     DynamicStringProperty prop3 = factory.GetStringProperty("prop3", null);
     DynamicStringProperty prop4 = factory.GetStringProperty("prop4", null);
     AbstractConfiguration containerConfig = new ConcurrentDictionaryConfiguration();
     containerConfig.AddProperty("prop1", "prop1");
     containerConfig.AddProperty("prop2", "prop2");
     AbstractConfiguration baseConfig = new ConcurrentDictionaryConfiguration();
     baseConfig.AddProperty("prop3", "prop3");
     baseConfig.AddProperty("prop1", "prop1FromBase");
     // Make container configuration the highest priority
     config.SetContainerConfiguration(containerConfig, "container configuration", 0);
     config.AddConfiguration(baseConfig, "base configuration");
     Assert.AreEqual("prop1", config.GetProperty("prop1"));
     Assert.AreEqual("prop1", prop1.Value);
     Assert.AreEqual("prop2", prop2.Value);
     Assert.AreEqual("prop3", prop3.Value);
     containerConfig.SetProperty("prop1", "newvalue");
     Assert.AreEqual("newvalue", prop1.Value);
     Assert.AreEqual("newvalue", config.GetProperty("prop1"));
     baseConfig.AddProperty("prop4", "prop4");
     Assert.AreEqual("prop4", config.GetProperty("prop4"));
     Assert.AreEqual("prop4", prop4.Value);
     baseConfig.SetProperty("prop1", "newvaluefrombase");
     Assert.AreEqual("newvalue", prop1.Value);
     containerConfig.ClearProperty("prop1");
     Assert.AreEqual("newvaluefrombase", config.GetProperty("prop1"));
     Assert.AreEqual("newvaluefrombase", prop1.Value);
     config.SetOverrideProperty("prop2", "overridden");
     config.SetProperty("prop2", "fromContainer");
     Assert.AreEqual("overridden", config.GetProperty("prop2"));
     Assert.AreEqual("overridden", prop2.Value);
     config.clearOverrideProperty("prop2");
     Assert.AreEqual("fromContainer", prop2.Value);
     Assert.AreEqual("fromContainer", config.GetProperty("prop2"));
     config.SetProperty("prop3", "fromContainer");
     Assert.AreEqual("fromContainer", prop3.Value);
     Assert.AreEqual("fromContainer", config.GetProperty("prop3"));
     config.ClearProperty("prop3");
     Assert.AreEqual("prop3", prop3.Value);
     Assert.AreEqual("prop3", config.GetProperty("prop3"));
 }
Esempio n. 3
0
        public void TestListeners()
        {
            ConcurrentDictionaryConfiguration conf = new ConcurrentDictionaryConfiguration();

            object eventSender = null;
            ConfigurationEventArgs eventArgs = null;

            conf.ConfigurationChanged += (sender, args) =>
            {
                eventSender = sender;
                eventArgs   = args;
            };

            conf.AddProperty("key", "1");
            Assert.AreEqual(1, conf.GetInt("key"));
            Assert.AreEqual("key", eventArgs.Name);
            Assert.AreEqual("1", eventArgs.Value);
            Assert.AreSame(conf, eventSender);
            Assert.AreEqual(ConfigurationEventType.AddProperty, eventArgs.Type);
            conf.SetProperty("key", "2");

            Assert.AreEqual("key", eventArgs.Name);
            Assert.AreEqual("2", eventArgs.Value);
            Assert.AreSame(conf, eventSender);
            Assert.AreEqual(ConfigurationEventType.SetProperty, eventArgs.Type);

            conf.ClearProperty("key");
            Assert.AreEqual("key", eventArgs.Name);
            Assert.IsNull(eventArgs.Value);
            Assert.AreSame(conf, eventSender);
            Assert.AreEqual(ConfigurationEventType.ClearProperty, eventArgs.Type);

            conf.Clear();
            Assert.IsEmpty(conf.Keys);
            Assert.AreSame(conf, eventSender);
            Assert.AreEqual(ConfigurationEventType.Clear, eventArgs.Type);
        }
        public void TestListeners()
        {
            ConcurrentDictionaryConfiguration conf = new ConcurrentDictionaryConfiguration();

            object eventSender = null;
            ConfigurationEventArgs eventArgs = null;
            conf.ConfigurationChanged += (sender, args) =>
                                       {
                                           eventSender = sender;
                                           eventArgs = args;
                                       };

            conf.AddProperty("key", "1");
            Assert.AreEqual(1, conf.GetInt("key"));
            Assert.AreEqual("key", eventArgs.Name);
            Assert.AreEqual("1", eventArgs.Value);
            Assert.AreSame(conf, eventSender);
            Assert.AreEqual(ConfigurationEventType.AddProperty, eventArgs.Type);
            conf.SetProperty("key", "2");

            Assert.AreEqual("key", eventArgs.Name);
            Assert.AreEqual("2", eventArgs.Value);
            Assert.AreSame(conf, eventSender);
            Assert.AreEqual(ConfigurationEventType.SetProperty, eventArgs.Type);

            conf.ClearProperty("key");
            Assert.AreEqual("key", eventArgs.Name);
            Assert.IsNull(eventArgs.Value);
            Assert.AreSame(conf, eventSender);
            Assert.AreEqual(ConfigurationEventType.ClearProperty, eventArgs.Type);

            conf.Clear();
            Assert.IsEmpty(conf.Keys);
            Assert.AreSame(conf, eventSender);
            Assert.AreEqual(ConfigurationEventType.Clear, eventArgs.Type);
        }