Пример #1
0
        public void GivenANormalizerWithDefaultOptionsWhenNormalizedSectionThenNameMustBeUpperCase()
        {
            var normalizer = new IniNormalizer();

            var source = SectionForCaseSensitive;
            var result = normalizer.Normalize(source);

            Assert.NotNull(result);
            Assert.NotEqual(source.Name, result.Name);
            Assert.Equal(source.Name.ToUpperInvariant(), result.Name);
        }
Пример #2
0
        public void GivenANormalizerWithDefaultOptionsWhenNormalizedSectionThenEmptyCommentsMustBeRemoved()
        {
            var normalizer = new IniNormalizer();

            var source = SectionForEmptyComments;
            var result = normalizer.Normalize(source);

            Assert.NotNull(result);
            Assert.NotEmpty(result.Comments);
            Assert.False(result.Comments.Any(string.IsNullOrWhiteSpace));
        }
        public void GivenANormalizerWithDefaultOptionsWhenNormalizedContainerThenEmptyGlobalPropertiesMustBeRemoved()
        {
            var normalizer = new IniNormalizer();

            var source = ContainerForEmptyProperties;
            var result = normalizer.Normalize(source);

            Assert.NotNull(result);
            Assert.NotEmpty(result.GlobalProperties);
            Assert.Equal(1, result.GlobalProperties.Count);
            Assert.False(result.GlobalProperties.Any(e => e.IsEmpty));
        }
        public void GivenANormalizerWithDefaultOptionsWhenNormalizedContainerThenEmptyGlobalCommentsMustBeRemoved()
        {
            var normalizer = new IniNormalizer();

            var source = ContainerForEmptyComments;
            var result = normalizer.Normalize(source);

            Assert.NotNull(result);
            Assert.NotEmpty(result.GlobalComments);
            Assert.Equal(1, result.GlobalComments.Count);
            Assert.False(result.GlobalComments.Any(string.IsNullOrWhiteSpace));
        }
Пример #5
0
        public void GivenANormalizerCaseSensitiveWhenNormalizedSectionThenNameMustBeOriginal()
        {
            var normalizer = new IniNormalizer(new IniNormalizationOptions
            {
                IsCaseSensitive = true
            });

            var source = SectionForCaseSensitive;
            var result = normalizer.Normalize(source);

            Assert.NotNull(result);
            Assert.Equal(source.Name, result.Name);
        }
Пример #6
0
        public void Run()
        {
            const string initialIni = @"
;This is a comment
SomeGP=This is a global property
[SomeSection]
;This is a comment inside a section
SomeSP=This is a property inside a section
[AnotherSection]
;Another comment...
AnotherSP=More?
Response=YES!!!
";

            _logger.LogInformation("Initial INI string: '{initialIniString}'", initialIni);

            _logger.LogDebug("Deserializing string as an IniContainer...");
            var deserializer = new IniDeserializer
            {
                Options = { NormalizeAfterDeserialization = false }
            };
            var iniContainer = deserializer.DeserializeAsContainer(initialIni);

            _logger.LogDebug("Normalizing IniContainer...");
            var normalizer = new IniNormalizer();

            iniContainer = normalizer.Normalize(iniContainer);

            _logger.LogDebug("Serializing IniContainer as a string...");
            var serializer = new IniSerializer
            {
                Options = { EmptyLineBeforeSection = true, NormalizeBeforeSerialization = false }
            };
            var finalIni = serializer.SerializeAsString(iniContainer);

            _logger.LogInformation("Final INI string: " + Environment.NewLine + "'{finalIniString}'", finalIni);

            /*
             * ;This is a comment
             * SOMEGP=This is a global property
             *
             * [SOMESECTION]
             * ;This is a comment inside a section
             * SOMESP=This is a property inside a section
             *
             * [ANOTHERSECTION]
             * ;Another comment...
             * ANOTHERSP=More?
             * RESPONSE=YES!!!
             */
        }
Пример #7
0
        public void GivenANormalizerCaseSensitiveWhenNormalizedSectionThenEmptyCommentsMustBeKept()
        {
            var normalizer = new IniNormalizer(new IniNormalizationOptions
            {
                IncludeEmptyComments = true
            });

            var source = SectionForEmptyComments;
            var result = normalizer.Normalize(source);

            Assert.NotNull(result);
            Assert.NotEmpty(result.Comments);
            Assert.True(result.Comments.Any(string.IsNullOrWhiteSpace));
        }
        public void GivenANormalizerWithDefaultOptionsWhenNormalizedContainerThenEmptyGlobalPropertiesMustBeKept()
        {
            var normalizer = new IniNormalizer(new IniNormalizationOptions
            {
                IncludeEmptyProperties = true
            });

            var source = ContainerForEmptyProperties;
            var result = normalizer.Normalize(source);

            Assert.NotNull(result);
            Assert.NotEmpty(result.GlobalProperties);
            Assert.Equal(source.GlobalProperties.Count, result.GlobalProperties.Count);
            Assert.True(result.GlobalProperties.Any(e => e.IsEmpty));
        }
        public void GivenANormalizerWithDefaultOptionsWhenNormalizedContainerThenEmptyGlobalCommentsMustBeKept()
        {
            var normalizer = new IniNormalizer(new IniNormalizationOptions
            {
                IncludeEmptyComments = true
            });

            var source = ContainerForEmptyComments;
            var result = normalizer.Normalize(source);

            Assert.NotNull(result);
            Assert.NotEmpty(result.GlobalComments);
            Assert.Equal(source.GlobalComments.Count, result.GlobalComments.Count);
            Assert.True(result.GlobalComments.Any(string.IsNullOrWhiteSpace));
        }