Пример #1
0
        public void Setting_with_value_set_in_config_gets_overwritten()
        {
            var args   = new[] { "--SetValue=Changed" };
            var config = new UniversalConfiguration <MyConfig>().Install(new CmdLineHandler(args));

            Assert.Equal("Changed", config.Config.SetValue);
        }
Пример #2
0
        public void Setting_double_val_gets_value()
        {
            var args   = new[] { "--FloatingPoint=3.142" };
            var config = new UniversalConfiguration <MyConfig>().Install(new CmdLineHandler(args)).Config;

            Assert.Equal(Math.PI, config.FloatingPoint, 2);
        }
Пример #3
0
        public void Setting_enum_val_gets_value()
        {
            var args   = new[] { "--Role=Worker" };
            var config = new UniversalConfiguration <MyConfig>().Install(new CmdLineHandler(args));

            Assert.Equal(ServerType.Worker, config.Config.Role);
        }
Пример #4
0
        public void Setting_with_custom_name_correctly_set_case_insensitively()
        {
            var args   = new[] { "--other=test" };
            var config = new UniversalConfiguration <MyConfig>().Install(new CmdLineHandler(args));

            Assert.Equal("test", config.Config.TestOtherName);
        }
Пример #5
0
        public void Setting_with_value_set_in_config_retains_it()
        {
            var args   = new[] { "--Defaulted=50" };
            var config = new UniversalConfiguration <MyConfig>()
                         .Install(new CmdLineHandler(args));

            Assert.Equal("Hello", config.Config.SetValue);
        }
Пример #6
0
        public void Setting_finds_first_alternate_name()
        {
            var args = new[] { "-D:foo " };

            var config = new UniversalConfiguration <MyConfig>().Install(new CmdLineHandler(args));

            Assert.Equal("foo", config.Config.TestShortName);
        }
Пример #7
0
        public void Multilevel_nested_circular_variable_references_cause_exception()
        {
            var args1 = new[] { "--depvalue=$(actsetting)", "--actsetting=$(depsetting)", "--depsetting=$(actsetting)" };

            var config = new UniversalConfiguration <MyConfig>()
                         .Install(new CmdLineHandler(args1));

            Assert.Throws <ArgumentException>(() => config.Config);
        }
Пример #8
0
        public void Multilevel_nested_circular_variable_references_cause_exception()
        {
            var args1 = new[] { "--depvalue=$(actsetting)", "--actsetting=$(depsetting)", "--depsetting=$(actsetting)" };

            var config = new UniversalConfiguration< MyConfig >()
                .Install( new CmdLineHandler( args1 ) );

            Assert.Throws< ArgumentException >( () => config.Config );
        }
Пример #9
0
        public void Variable_references_in_single_item_get_substituted_with_value()
        {
            var args1 = new[] { "--depvalue=10", "--actsetting=$(depvalue)" };

            var config = new UniversalConfiguration <MyConfig>()
                         .Install(new CmdLineHandler(args1))
                         .Config;

            Assert.Equal(config.DepValue, config.ActSetting);
        }
Пример #10
0
        public void Multiple_Variable_References_Get_Assigned_From_Correct_Values()
        {
            var args1 = new[] { "--Name=thename", "--actsetting=actual", "--depvalue=$(name)_$(actsetting)" };

            var config = new UniversalConfiguration <MyConfig>()
                         .Install(new CmdLineHandler(args1))
                         .Config;

            Assert.Equal("thename_actual", config.DepValue);
        }
Пример #11
0
        public void Multi_level_variable_references_resolve_to_final_value()
        {
            var args1 = new[] { "--Name=thename", "--actsetting=$(name)", "--depvalue=$(actsetting)" };

            var config = new UniversalConfiguration <MyConfig>()
                         .Install(new CmdLineHandler(args1))
                         .Config;

            Assert.Equal("thename", config.DepValue);
        }
Пример #12
0
    public static void Execute( string [] args )
    {
        var settings = new UniversalConfiguration< DefaultValueConfig >()
            .Install( new CmdLineHandler( args ) )
            .Config;

        for( int i = 0; i != settings.Count; ++i )
        {
            Console.WriteLine( settings.Message );
        }
    }
Пример #13
0
        public void Setting_string_val_gets_value_ignoring_case()
        {
            var args   = new[] { "--name=foo" };
            var config = new UniversalConfiguration <MyConfig>()
                         .Install(new CmdLineHandler(args));
            MyConfig cfg = config.Config;

            const string expected = "foo";

            Assert.Equal(expected, cfg.Name);
        }
Пример #14
0
        public void Setting_present_in_override_set_gets_overwritten()
        {
            var args1 = new[] { "--Name=foo" };
            var args2 = new[] { "--Name=bar" };

            var config = new UniversalConfiguration <MyConfig>()
                         .Install(new CmdLineHandler(args1))
                         .Install(new CmdLineHandler(args2));

            Assert.Equal("bar", config.Config.Name);
        }
Пример #15
0
        public void Setting_not_present_in_override_set_remains_as_original()
        {
            var args1 = new[] { "--Name=foo" };
            var args2 = new[] { "--Number=1" };

            var config = new UniversalConfiguration <MyConfig>()
                         .Install(new CmdLineHandler(args1))
                         .Install(new CmdLineHandler(args2));

            Assert.Equal("foo", config.Config.Name);
        }
Пример #16
0
    public static void Execute(string [] args)
    {
        var settings = new UniversalConfiguration <DefaultValueConfig>()
                       .Install(new CmdLineHandler(args))
                       .Config;

        for (int i = 0; i != settings.Count; ++i)
        {
            Console.WriteLine(settings.Message);
        }
    }
Пример #17
0
        public void Setting_int_val_gets_value()
        {
            var args   = new[] { "--Number=1" };
            var config = new UniversalConfiguration <MyConfig>()
                         .Install(new CmdLineHandler(args));
            MyConfig cfg = config.Config;

            const int expected = 1;

            Assert.Equal(expected, cfg.Number);
        }
Пример #18
0
        public void Setting_bool_val_gets_value()
        {
            var args   = new[] { "--Present=true" };
            var config = new UniversalConfiguration <MyConfig>()
                         .Install(new CmdLineHandler(args));
            MyConfig cfg = config.Config;

            const bool expected = true;

            Assert.Equal(expected, cfg.Present);
        }
Пример #19
0
        public void Unattributed_field_gets_set_from_field_name()
        {
            var args   = new[] { "--UseMyName=Yes" };
            var config = new UniversalConfiguration <MyConfig>()
                         .Install(new CmdLineHandler(args));
            MyConfig cfg = config.Config;

            const string expected = "Yes";

            Assert.Equal(expected, cfg.UseMyName);
        }
Пример #20
0
    public static void Execute()
    {
        var settings = new UniversalConfiguration< Config >()
            .Install( new AppConfigHandler() )
            .Config;

        for( int i = 0; i != settings.Count; ++i )
        {
            Console.WriteLine( settings.Message );
        }
    }
Пример #21
0
    public static void Execute()
    {
        var settings = new UniversalConfiguration <Config>()
                       .Install(new AppConfigHandler())
                       .Config;

        for (int i = 0; i != settings.Count; ++i)
        {
            Console.WriteLine(settings.Message);
        }
    }
Пример #22
0
        public void Forward_references_to_settings_in_later_handlers_gets_correct_value()
        {
            var args1 = new[] { "--depvalue=10" };
            var args2 = new[] { "--actsetting=$(depvalue)" };

            var config = new UniversalConfiguration <MyConfig>()
                         .Install(new CmdLineHandler(args2))
                         .Install(new CmdLineHandler(args1))
                         .Config;

            Assert.Equal(config.DepValue, config.ActSetting);
        }
Пример #23
0
        public void Escaped_variable_references_retains_literal_value()
        {
            var args1 = new[] { "--depvalue=10" };
            var args2 = new[] { "--actsetting=\\$(depvalue)" };

            var config = new UniversalConfiguration< MyConfig >()
                .Install( new CmdLineHandler( args1 ) )
                .Install( new CmdLineHandler( args2 ) )
                .Config;

            Assert.Equal( "$(depvalue)", config.ActSetting );
        }
Пример #24
0
        public void Forward_references_to_settings_in_later_handlers_gets_correct_value()
        {
            var args1 = new[] { "--depvalue=10" };
            var args2 = new[] { "--actsetting=$(depvalue)" };

            var config = new UniversalConfiguration< MyConfig >()
                .Install( new CmdLineHandler( args2 ) )
                .Install( new CmdLineHandler( args1 ) )
                .Config;

            Assert.Equal( config.DepValue, config.ActSetting );
        }
Пример #25
0
        public void Escaped_variable_references_retains_literal_value()
        {
            var args1 = new[] { "--depvalue=10" };
            var args2 = new[] { "--actsetting=\\$(depvalue)" };

            var config = new UniversalConfiguration <MyConfig>()
                         .Install(new CmdLineHandler(args1))
                         .Install(new CmdLineHandler(args2))
                         .Config;

            Assert.Equal("$(depvalue)", config.ActSetting);
        }
Пример #26
0
    public static void Execute(string [] args)
    {
        var settings = new UniversalConfiguration <MixedConfigsConfig>()
                       .Install(new SystemEnvironmentHandler())
                       .Install(new AppConfigHandler())
                       .Install(new CmdLineHandler(args))
                       .Config;

        for (int i = 0; i != settings.Count; ++i)
        {
            Console.WriteLine(settings.Message);
        }
        Console.WriteLine(settings.Path);
    }
Пример #27
0
    public static void Execute( string [] args )
    {
        var settings = new UniversalConfiguration< MixedConfigsConfig >()
            .Install( new SystemEnvironmentHandler() )
            .Install( new AppConfigHandler() )
            .Install( new CmdLineHandler( args ) )
            .Config;

        for( int i = 0; i != settings.Count; ++i )
        {
            Console.WriteLine( settings.Message );
        }
        Console.WriteLine(settings.Path);
    }
Пример #28
0
    public static void Execute( string [] args )
    {
        var rootArgs = new[] { "--Path=/foo/bar", "--User=local" };

        var rootConfig = new UniversalConfiguration< RootConfig >()
            .Install( new CmdLineHandler( rootArgs ) )
            .Config;

        var settings = new UniversalConfiguration< AppSettings >()
            .Install( new DerivedHandler( rootConfig.Path ) )
            .Install( new CmdLineHandler( rootArgs ) )
            .Config;

        Console.WriteLine(settings.Filename);
        Console.WriteLine(settings.User);
    }
Пример #29
0
    public static void Execute(string [] args)
    {
        var rootArgs = new[] { "--Path=/foo/bar", "--User=local" };

        var rootConfig = new UniversalConfiguration <RootConfig>()
                         .Install(new CmdLineHandler(rootArgs))
                         .Config;

        var settings = new UniversalConfiguration <AppSettings>()
                       .Install(new DerivedHandler(rootConfig.Path))
                       .Install(new CmdLineHandler(rootArgs))
                       .Config;

        Console.WriteLine(settings.Filename);
        Console.WriteLine(settings.User);
    }
Пример #30
0
        public void Setting_string_val_gets_value_ignoring_case()
        {
            var args = new[] { "--name=foo" };
            var config = new UniversalConfiguration< MyConfig >()
                .Install( new CmdLineHandler( args ) );
            MyConfig cfg = config.Config;

            const string expected = "foo";

            Assert.Equal( expected, cfg.Name );
        }
Пример #31
0
        public void Setting_with_value_set_in_config_retains_it()
        {
            var args = new[] { "--Defaulted=50" };
            var config = new UniversalConfiguration< MyConfig >()
                .Install( new CmdLineHandler( args ) );

            Assert.Equal( "Hello", config.Config.SetValue );
        }
Пример #32
0
        public void Setting_enum_val_gets_value()
        {
            var args = new[] { "--Role=Worker" };
            var config = new UniversalConfiguration< MyConfig >().Install( new CmdLineHandler( args ) );

            Assert.Equal( ServerType.Worker, config.Config.Role );
        }
Пример #33
0
        public void Multiple_Variable_References_Get_Assigned_From_Correct_Values()
        {
            var args1 = new[] { "--Name=thename", "--actsetting=actual", "--depvalue=$(name)_$(actsetting)" };

            var config = new UniversalConfiguration< MyConfig >()
                .Install( new CmdLineHandler( args1 ) )
                .Config;

            Assert.Equal( "thename_actual", config.DepValue );
        }
Пример #34
0
        public void Setting_finds_first_alternate_name()
        {
            var args = new[] { "-D:foo " };

            var config = new UniversalConfiguration< MyConfig >().Install( new CmdLineHandler( args ) );

            Assert.Equal( "foo", config.Config.TestShortName );
        }
Пример #35
0
        public void Multi_level_variable_references_resolve_to_final_value()
        {
            var args1 = new[] { "--Name=thename", "--actsetting=$(name)", "--depvalue=$(actsetting)" };

            var config = new UniversalConfiguration< MyConfig >()
                .Install( new CmdLineHandler( args1 ) )
                .Config;

            Assert.Equal( "thename", config.DepValue );
        }
Пример #36
0
        public void Setting_double_val_gets_value()
        {
            var args = new[] { "--FloatingPoint=3.142" };
            var config = new UniversalConfiguration< MyConfig >().Install( new CmdLineHandler( args ) ).Config;

            Assert.Equal( Math.PI, config.FloatingPoint, 2 );
        }
Пример #37
0
        public void Setting_with_value_set_in_config_gets_overwritten()
        {
            var args = new[] { "--SetValue=Changed" };
            var config = new UniversalConfiguration< MyConfig >().Install( new CmdLineHandler( args ) );

            Assert.Equal( "Changed", config.Config.SetValue );
        }
Пример #38
0
        public void Setting_with_custom_name_correctly_set_case_insensitively()
        {
            var args = new[] { "--other=test" };
            var config = new UniversalConfiguration< MyConfig >().Install( new CmdLineHandler( args ) );

            Assert.Equal( "test", config.Config.TestOtherName );
        }
Пример #39
0
        public void Setting_int_val_gets_value()
        {
            var args = new[] { "--Number=1" };
            var config = new UniversalConfiguration< MyConfig >()
                .Install( new CmdLineHandler( args ) );
            MyConfig cfg = config.Config;

            const int expected = 1;

            Assert.Equal( expected, cfg.Number );
        }
Пример #40
0
        public void Setting_not_present_in_override_set_remains_as_original()
        {
            var args1 = new[] { "--Name=foo" };
            var args2 = new[] { "--Number=1" };

            var config = new UniversalConfiguration< MyConfig >()
                .Install( new CmdLineHandler( args1 ) )
                .Install( new CmdLineHandler( args2 ) );

            Assert.Equal( "foo", config.Config.Name );
        }
Пример #41
0
        public void Setting_present_in_override_set_gets_overwritten()
        {
            var args1 = new[] { "--Name=foo" };
            var args2 = new[] { "--Name=bar" };

            var config = new UniversalConfiguration< MyConfig >()
                .Install( new CmdLineHandler( args1 ) )
                .Install( new CmdLineHandler( args2 ) );

            Assert.Equal( "bar", config.Config.Name );
        }
Пример #42
0
        public void Variable_references_in_single_item_get_substituted_with_value()
        {
            var args1 = new[] { "--depvalue=10", "--actsetting=$(depvalue)" };

            var config = new UniversalConfiguration< MyConfig >()
                .Install( new CmdLineHandler( args1 ) )
                .Config;

            Assert.Equal( config.DepValue, config.ActSetting );
        }
Пример #43
0
        public void Setting_bool_val_gets_value()
        {
            var args = new[] { "--Present=true" };
            var config = new UniversalConfiguration< MyConfig >()
                .Install( new CmdLineHandler( args ) );
            MyConfig cfg = config.Config;

            const bool expected = true;

            Assert.Equal( expected, cfg.Present );
        }
Пример #44
0
        public void Unattributed_field_gets_set_from_field_name()
        {
            var args = new[] { "--UseMyName=Yes" };
            var config = new UniversalConfiguration< MyConfig >()
                .Install( new CmdLineHandler( args ) );
            MyConfig cfg = config.Config;

            const string expected = "Yes";

            Assert.Equal( expected, cfg.UseMyName );
        }