using System.Collections.Generic;
using Nitride.Tests;
using Xunit;
using Xunit.Abstractions;
namespace Nitride.Slugs.Tests;
///
/// Tests the functionality of the WriteFiles().
///
public class UnicodeNormalizingSlugConverterTest : NitrideTestBase
{
public UnicodeNormalizingSlugConverterTest(ITestOutputHelper output)
: base(output)
{
}
[Fact]
public void DefaultConversions()
{
var slug = new UnicodeNormalizingSlugConverter();
var expected = new List();
var actual = new List();
this.Test(slug, expected, actual, "One", "one");
this.Test(slug, expected, actual, "Two-Words", "two-words");
this.Test(slug, expected, actual, "Rutejìmo", "rutejimo");
this.Test(slug, expected, actual, "C#", "c");
Assert.Equal(expected, actual);
}
[Fact]
public void ReplacementConversions()
{
var slug = new UnicodeNormalizingSlugConverter(
new Dictionary
{
["#"] = "-sharp",
});
var expected = new List();
var actual = new List();
this.Test(slug, expected, actual, "One", "one");
this.Test(slug, expected, actual, "Two-Words", "two-words");
this.Test(slug, expected, actual, "Rutejìmo", "rutejimo");
this.Test(slug, expected, actual, "C#", "c-sharp");
Assert.Equal(expected, actual);
}
private void Test(ISlugConverter slug, List expected, List actual, string input, string output)
{
expected.Add(output);
actual.Add(slug.ToSlug(input));
}
}