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); }
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)); }
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); }
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!!! */ }
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)); }