namespace Cepis.Tests; /// Local validation, which happens before any request. public sealed class NormalizeTests { [Theory] [InlineData("01001000", "01001000")] [InlineData("01001-000", "01001000")] [InlineData(" 01001-000 ", "01001000")] [InlineData("01.001-000", "01001000")] [InlineData("01 001 000", "01001000")] public void AcceptsTheMask(string input, string expected) => Assert.Equal(expected, CepisClient.NormalizeCep(input)); [Theory] [InlineData("")] [InlineData("0100100")] [InlineData("010010000")] [InlineData("0100100a")] [InlineData("abcdefgh")] [InlineData("01001-00")] public void RejectsAnythingElse(string input) => Assert.Throws(() => CepisClient.NormalizeCep(input)); [Fact] public void RejectsNull() => Assert.Throws(() => CepisClient.NormalizeCep(null!)); [Fact] public void TheMessageCarriesWhatWasGiven() { var failure = Assert.Throws(() => CepisClient.NormalizeCep("123")); Assert.Contains("123", failure.Message, StringComparison.Ordinal); } }