123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051 |
- using Masuit.Tools.Strings;
- using Xunit;
- namespace Masuit.Tools.Abstractions.Test.Strings;
- public class StringTest
- {
- [Fact]
- public void Can_MeasureString()
- {
- // arrange
- const string s = "1a啊🥳∰㍰ⅷ㍿👩❤️💋👩";
- // act
- var width = s.StringWidth();
- var charCount = s.CharacterCount();
- var bytesCount = s.BytesCount();
- var matchEmoji = s.MatchEmoji();
- // assert
- Assert.Equal(width, 9);
- Assert.Equal(charCount, 9);
- Assert.Equal(bytesCount, 48);
- Assert.True(matchEmoji);
- }
- [Fact]
- public void Can_Mask()
- {
- // arrange
- const string s = "13123456789";
- // act
- var mask = s.Mask();
- // assert
- Assert.Equal(mask, "131****6789");
- }
- [Theory]
- [InlineData("[email protected]", "1****@1.cn")]
- [InlineData("[email protected]", "a****@masuit.com")]
- public void Can_MaskEmail(string input, string expect)
- {
- // act
- var mask = input.MaskEmail();
- // assert
- Assert.Equal(mask, expect);
- }
- }
|