コード例 #1
0
        public void Configuration_WhenConfigurationFileDoesNotExistAndFileIsNotOptional_ThrowsInvalidOperationException()
        {
            File.Delete(_FilePath);

            var layer = new JsonFileConfigurationLayer(_FilePath, Encoding.UTF8, false);

            Assert.Throws <InvalidOperationException>(() => _ = layer.Configuration);
        }
コード例 #2
0
        public void Configuration_WhenConfigurationFileDoesNotExistAndFileIsOptional_ReturnsNull()
        {
            File.Delete(_FilePath);

            var layer         = new JsonFileConfigurationLayer(_FilePath, Encoding.UTF8, true);
            var configuration = layer.Configuration;

            Assert.That(configuration, Is.Null);
        }
コード例 #3
0
        public void Configuration_WhenConfigurationFileContainsValues_ContainsThoseValues()
        {
            var co = new ConfigurationObject {
                Value1 = "Test 123"
            };

            File.WriteAllText(_FilePath, JsonConvert.SerializeObject(co));

            var layer = new JsonFileConfigurationLayer(_FilePath, Encoding.UTF8, false);

            var configuration = layer.Configuration;

            var output = configuration.ToObject <ConfigurationObject>();

            Assert.That(JsonConvert.SerializeObject(output), Is.EqualTo(JsonConvert.SerializeObject(co)));
        }
コード例 #4
0
        public void Configuration_WhenConfigurationFileFirstDoesNotExistAndThenIsCreated_FirstReturnsNullThenReturnsConfiguration()
        {
            var layer = new JsonFileConfigurationLayer(_FilePath, Encoding.UTF8, true);

            File.Delete(_FilePath);
            var configuration1 = layer.Configuration;

            var co = new ConfigurationObject {
                Value1 = "Test 123"
            };

            File.WriteAllText(_FilePath, JsonConvert.SerializeObject(co));
            var configuration2 = layer.Configuration;

            File.Delete(_FilePath);
            var configuration3 = layer.Configuration;

            Assert.That(configuration1, Is.Null);
            Assert.That(JsonConvert.SerializeObject(configuration2), Is.EqualTo(JsonConvert.SerializeObject(co)));
            Assert.That(configuration3, Is.Null);
        }
コード例 #5
0
        public void Configuration_WhenConfigurationFileIsModified_ReturnsNewValues()
        {
            var layer = new JsonFileConfigurationLayer(_FilePath, Encoding.UTF8, true);

            var input1 = new ConfigurationObject {
                Value1 = "Test 123"
            };

            File.WriteAllText(_FilePath, JsonConvert.SerializeObject(input1));
            var configuration1 = layer.Configuration;

            var input2 = new ConfigurationObject {
                Value1 = "Test 456"
            };

            File.WriteAllText(_FilePath, JsonConvert.SerializeObject(input2));
            var configuration2 = layer.Configuration;

            Assert.That(JsonConvert.SerializeObject(configuration1), Is.EqualTo(JsonConvert.SerializeObject(input1)));
            Assert.That(JsonConvert.SerializeObject(configuration2), Is.EqualTo(JsonConvert.SerializeObject(input2)));
            Assert.That(JsonConvert.SerializeObject(configuration1), Is.Not.EqualTo(JsonConvert.SerializeObject(configuration2)));
        }