Пример #1
0
        public void GivenConfigWithoutD_ClearingDReturnsFalse()
        {
            // Arrange
            using var scen = MergeThreeFilesScenario.Setup(nameof(WhenRootTableClearsD_DDoesNotExistInFileOrInMemoryTable));
            var cfg = scen.Load();

            cfg.Clear(c => c.D);

            // Act
            bool r = cfg.Clear(c => c.D);

            // Assert
            r.Should().BeFalse();
        }
Пример #2
0
        public void GivenConfigWithAInMachineAndUser_WhenClearingOnce_MachineAIsFetchedAfterwards()
        {
            // Arrange
            using var scen = MergeThreeFilesScenario.Setup(nameof(WhenRootTableClearsD_DDoesNotExistInFileOrInMemoryTable));
            var cfg = scen.Load();

            cfg.Get(c => c.A).ItemVal.Should().Be("user");

            // Act
            var r = cfg.Clear(c => c.A);

            // Assert
            r.Should().BeTrue();
            cfg.Get(c => c.A).ItemVal.Should().Be("machine");
        }
Пример #3
0
        public void GivenConfigWithAInMachineAndUser_WhenClearingOnceFromAllSources_AIsCompletelyGone()
        {
            // Arrange
            using var scen = MergeThreeFilesScenario.Setup(nameof(WhenRootTableClearsD_DDoesNotExistInFileOrInMemoryTable));
            var cfg = scen.Load();

            cfg.Get(c => c.A).ItemVal.Should().Be("user");

            // Act
            var r = cfg.Clear(c => c.A, fromAllSources: true);

            // Assert
            Action a = () => cfg.Get(c => c.A);

            a.ShouldThrow <KeyNotFoundException>();
        }
Пример #4
0
        public void WhenRootTableClearsD_DDoesNotExistInFileOrInMemoryTable()
        {
            // Arrange
            using var scen = MergeThreeFilesScenario.Setup(nameof(WhenRootTableClearsD_DDoesNotExistInFileOrInMemoryTable));
            var cfg = scen.Load();

            // Act
            bool r = cfg.Clear(c => c.D);

            // Assert
            r.Should().BeTrue();
            var expected = MergeThreeFilesScenario.GetToml(('C', "local"));

            File.ReadAllText(scen.LocalFile).Should().BeAfterTransforms(StringTransformForComparison, expected);
            Action a = () => cfg.Get(c => c.D);

            a.ShouldThrow <KeyNotFoundException>();
        }