Example #1
0
        public void ToStringMethod()
        {
            var cfg = new Yogi.Configuration();

            cfg.UpdateFromJson("{\"age\": 42}");
            Assert.Equal(cfg.Dump(), cfg.ToString());
        }
Example #2
0
        public void UpdateFromJson()
        {
            var cfg = new Yogi.Configuration();

            cfg.UpdateFromJson("{\"age\": 42}");
            Assert.Equal(42, (int)cfg.ToJson()["age"]);
            cfg.UpdateFromJson(JObject.Parse("{\"age\": 88}"));
            Assert.Equal(88, (int)cfg.ToJson()["age"]);
        }
Example #3
0
        public void ToJson()
        {
            var cfg = new Yogi.Configuration(Yogi.ConfigurationFlags.DisableVariables);

            cfg.UpdateFromJson("{\"age\": 42}");

            Assert.Throws <Yogi.FailureException>(() => cfg.ToJson(true));

            Assert.Equal(42, (int)cfg.ToJson()["age"]);
        }
Example #4
0
        public void UpdateFromFile()
        {
            var filename = Path.Combine(tempDir, "cfg.json");

            File.WriteAllText(filename, "{\"age\": 66}");

            var cfg = new Yogi.Configuration();

            cfg.UpdateFromFile(filename);

            Assert.Equal(66, (int)cfg.ToJson()["age"]);
        }
Example #5
0
        public void Dump()
        {
            var cfg = new Yogi.Configuration(Yogi.ConfigurationFlags.DisableVariables);

            cfg.UpdateFromJson("{\"age\": 42}");

            Assert.Throws <Yogi.FailureException>(() => cfg.Dump(true));

            Assert.DoesNotContain(" ", cfg.Dump());
            Assert.DoesNotContain("\n", cfg.Dump());
            Assert.Contains(" ", cfg.Dump(indentation: 2));
            Assert.Contains("\n", cfg.Dump(indentation: 2));
        }
Example #6
0
        public void UpdateFromCommandLine()
        {
            var cfg = new Yogi.Configuration();

            cfg.UpdateFromCommandLine(new[] { "exe", "-o", "{\"age\": 25}" },
                                      Yogi.CommandLineOptions.Overrides);
            Assert.Equal(25, (int)cfg.ToJson()["age"]);

            cfg.UpdateFromCommandLine(new List <string> {
                "exe", "-o", "{\"age\": 18}"
            },
                                      Yogi.CommandLineOptions.Overrides);
            Assert.Equal(18, (int)cfg.ToJson()["age"]);
        }
        public void Create()
        {
            MOCK_ConfigurationCreate((ref IntPtr config, int flags) =>
            {
                Assert.Equal((int)Yogi.ConfigurationFlags.None, flags);
                config = pointer;
                return((int)Yogi.ErrorCode.Ok);
            });

            var cfg = new Yogi.Configuration();

            Assert.Equal(Yogi.ConfigurationFlags.None, cfg.Flags);

            MOCK_ConfigurationCreate((ref IntPtr config, int flags) =>
            {
                Assert.Equal((int)Yogi.ConfigurationFlags.MutableCmdLine, flags);
                config = pointer;
                return((int)Yogi.ErrorCode.Ok);
            });

            cfg = new Yogi.Configuration(Yogi.ConfigurationFlags.MutableCmdLine);
        }
Example #8
0
        public void WriteToFile()
        {
            var filename = Path.Combine(tempDir, "dump.json");

            var cfg = new Yogi.Configuration(Yogi.ConfigurationFlags.DisableVariables);

            cfg.UpdateFromJson("{\"age\": 11}");

            Assert.Throws <Yogi.FailureException>(() => cfg.WriteToFile(filename, true));

            cfg.WriteToFile(filename);
            var content = File.ReadAllText(filename);

            Assert.DoesNotContain(" ", content);
            Assert.DoesNotContain("\n", content);
            Assert.Equal(11, (int)JObject.Parse(content)["age"]);

            cfg.WriteToFile(filename, indentation: 2);
            content = File.ReadAllText(filename);
            Assert.Contains(" ", content);
            Assert.Contains("\n", content);
            Assert.Equal(11, (int)JObject.Parse(content)["age"]);
        }
Example #9
0
        public void FlagsProperty()
        {
            var cfg = new Yogi.Configuration(Yogi.ConfigurationFlags.MutableCmdLine);

            Assert.Equal(Yogi.ConfigurationFlags.MutableCmdLine, cfg.Flags);
        }