public void MultiSourceTest()
        {
            DynamicProperties.Instance = null;
            var properties = (DynamicProperties)DynamicProperties.Init(1);

            var source1 = new StaticConfigurationSource();

            properties.RegisterSource(source1);

            var source2 = new StaticConfigurationSource();

            properties.RegisterSource(source2);

            var prop = properties.GetOrCreateProperty <int>("test30");

            Assert.Equal(0, prop.Value);

            source1.Set("test30", 10);
            Thread.Sleep(properties.PollingIntervalInSeconds * 1100);
            Assert.Equal(10, prop.Value);

            source2.Set("test30", 20);
            Thread.Sleep(properties.PollingIntervalInSeconds * 1100);
            Assert.Equal(20, prop.Value);
        }
        public void ChainedSourceTest()
        {
            DynamicProperties.Instance = null;
            var properties = DynamicProperties.Init(1);

            var source = new StaticConfigurationSource();

            ((DynamicProperties)properties).RegisterSource(source);

            var chained = properties.Factory.AsChainedProperty("test10", 30, "test20");

            Assert.Equal(30, properties.Factory.AsChainedProperty("test10", 30, "test20").Value);

            source.Set("test20", 20);
            Thread.Sleep(properties.PollingIntervalInSeconds * 1200);
            Assert.Equal(20, chained.Value);

            source.Set("test10", 10);
            Thread.Sleep(properties.PollingIntervalInSeconds * 1100);
            Assert.Equal(10, chained.Value);

            source.Set("test10", 11);
            Thread.Sleep(properties.PollingIntervalInSeconds * 1100);
            Assert.Equal(11, chained.Value);
        }
Esempio n. 3
0
        public void SourceDeclarationTest()
        {
            DynamicProperties.Instance.Reset();

            var source = new StaticConfigurationSource();
            DynamicProperties.Instance.PollingIntervalInSeconds = 1;
            DynamicProperties.Instance.RegisterSource(source);

            var prop = DynamicProperties.Instance.GetProperty<int>("test");
            Assert.Null(prop);

            source.Set("test", 10);
            prop = DynamicProperties.Instance.GetProperty<int>("test");
            Assert.Null(prop);

            Thread.Sleep(DynamicProperties.Instance.PollingIntervalInSeconds*1000);
            prop = DynamicProperties.Instance.GetProperty<int>("test");
            Assert.NotNull(prop);
            Assert.Equal(10, prop.Get());
        }
        public void SourceDeclarationTest()
        {
            DynamicProperties.Instance = null;
            var properties = (DynamicProperties)DynamicProperties.Init(1);

            var source = new StaticConfigurationSource();

            properties.RegisterSource(source);

            var prop = properties.GetProperty <int>("test");

            Assert.Null(prop);

            source.Set("test", 10);
            prop = properties.GetProperty <int>("test");
            Assert.Null(prop);

            Thread.Sleep(properties.PollingIntervalInSeconds * 1100);

            prop = properties.GetProperty <int>("test");
            Assert.NotNull(prop);
            Assert.Equal(10, prop.Value);
        }
Esempio n. 5
0
        public void MultiSourceTest()
        {
            DynamicProperties.Instance.Reset();

            DynamicProperties.Instance.PollingIntervalInSeconds = 1;

            var source1 = new StaticConfigurationSource();
            DynamicProperties.Instance.RegisterSource(source1);

            var source2 = new StaticConfigurationSource();
            DynamicProperties.Instance.RegisterSource(source2);

            var prop = DynamicProperties.Instance.GetOrDefaultProperty<int>("test30");
            Assert.Equal(0, prop.Get());

            source1.Set("test30", 10);
            Thread.Sleep(DynamicProperties.Instance.PollingIntervalInSeconds * 1100);
            Assert.Equal(10, prop.Get());

            source2.Set("test30", 20);
            Thread.Sleep(DynamicProperties.Instance.PollingIntervalInSeconds * 1100);
            Assert.Equal(20, prop.Get());
        }
Esempio n. 6
0
        public void ChainedSourceTest()
        {
            DynamicProperties.Instance.Reset();

            var source = new StaticConfigurationSource();
            DynamicProperties.Instance.PollingIntervalInSeconds = 1;
            DynamicProperties.Instance.RegisterSource(source);

            var chained = DynamicProperties.Factory.AsChainedProperty(30, "test10", "test20");
            Assert.Equal(30, DynamicProperties.Factory.AsChainedProperty(30, "test10", "test20").Get());

            source.Set("test20", 20);
            Thread.Sleep(DynamicProperties.Instance.PollingIntervalInSeconds * 1100);
            Assert.Equal(20, chained.Get());

            source.Set("test10", 10);
            Thread.Sleep(DynamicProperties.Instance.PollingIntervalInSeconds * 1100);
            Assert.Equal(10, chained.Get());

            source.Set("test10", 11);
            Thread.Sleep(DynamicProperties.Instance.PollingIntervalInSeconds * 1100);
            Assert.Equal(11, chained.Get());
        }