Exemplo n.º 1
0
        public void SplitMessage_GsmCharactersExtensionThreePartTest(string message, string expectedThirdPart)
        {
            var splitted = SmsHelpers.SplitMessageWithWordWrap(message);

            Assert.True(splitted.Parts.Count == 3);
            Assert.Equal(expectedThirdPart, splitted.Parts[2].Content);
        }
Exemplo n.º 2
0
        public void SplitMessage_TwoPartsTest(string message, string expectedSecondMessage)
        {
            var splitted = SmsHelpers.SplitMessageWithWordWrap(message);

            Assert.Equal(2, splitted.Parts.Count);
            Assert.Equal(expectedSecondMessage, splitted.Parts[1].Content);
        }
Exemplo n.º 3
0
        public void SplitMessage_SinglePartUnicodeTest(string message)
        {
            var splitted = SmsHelpers.SplitMessageWithWordWrap(message);

            Assert.Single(splitted.Parts);
            Assert.Equal(message, splitted.Parts[0].Content);
        }
Exemplo n.º 4
0
        public void SplitMessage_TwoPartsUnicodeTest(string message, string expectedSecondPart)
        {
            var splitted = SmsHelpers.SplitMessageWithWordWrap(message);

            Assert.True(splitted.Parts.Count == 2);
            Assert.Equal(expectedSecondPart, splitted.Parts[1].Content);
        }
Exemplo n.º 5
0
        public void SplitMessage_MultipartEqual(string text)
        {
            var splitted = SmsHelpers.SplitMessageWithWordWrap(text);
            var combined = string.Concat(splitted.Parts.Select(part => part.Content));

            Assert.Equal(combined, text);
        }
Exemplo n.º 6
0
 public void CountSmsParts_NoExceptions()
 {
     for (var i = 0; i < 100; i++)
     {
         for (var j = 1; j < 700; j++)
         {
             var str = GenerateRandomUnicodeString(j);
             SmsHelpers.GetEncoding(str);
             SmsHelpers.CountSmsParts(str);
         }
     }
 }
Exemplo n.º 7
0
        public void SplitMessage_RandomStringsTest()
        {
            for (var i = 0; i < 10000; i++)
            {
                var randomNum = RandomNum.Next(1, 400);
                var randomStr = GenerateRandomUnicodeString(randomNum);

                var splitted = SmsHelpers.SplitMessageWithWordWrap(randomStr);
                var combined = string.Concat(splitted.Parts.Select(part => part.Content));

                Assert.Equal(combined, randomStr);
            }
        }
Exemplo n.º 8
0
        public void GetCharset_DetectEncodingGsmCharacters()
        {
            foreach (var c in GsmCharacters)
            {
                var encoding = SmsHelpers.GetEncoding(c.ToString());
                Assert.Equal(SmsEncoding.Gsm7Bit, encoding);
            }

            foreach (var c in GsmCharactersExtension)
            {
                var encoding = SmsHelpers.GetEncoding(c.ToString());
                Assert.Equal(SmsEncoding.Gsm7Bit, encoding);
            }
        }
Exemplo n.º 9
0
        public void SplitMessage_GsmCharactersExtensionTests(string message, string expectedSecondPart)
        {
            var splitted = SmsHelpers.SplitMessageWithWordWrap(message);

            if (expectedSecondPart == null)
            {
                Assert.Single(splitted.Parts);
                Assert.Equal(message, splitted.Parts[0].Content);
            }
            else
            {
                Assert.True(splitted.Parts.Count == 2);
                Assert.Equal(expectedSecondPart, splitted.Parts[1].Content);
            }
        }
Exemplo n.º 10
0
        public void CountSmsParts_UnicodeCharTest(char c)
        {
            var message = new string(c, 69);

            Assert.Equal(1, SmsHelpers.CountSmsParts(message));

            message = new string(c, 70);
            Assert.Equal(1, SmsHelpers.CountSmsParts(message));

            message = new string(c, 71);
            Assert.Equal(2, SmsHelpers.CountSmsParts(message));

            message = new string(c, 134);
            Assert.Equal(2, SmsHelpers.CountSmsParts(message));

            message = new string(c, 135);
            Assert.Equal(3, SmsHelpers.CountSmsParts(message));
        }
Exemplo n.º 11
0
        public void CountSmsParts_7BitTest()
        {
            for (var i = 1; i < 1100; i++)
            {
                var generated = new StringBuilder();

                for (var j = 0; j < i; j++)
                {
                    // append a random character
                    generated.Append(GsmCharacters.OrderBy(n => Guid.NewGuid()).First());
                }

                var expectedNumOfParts = i <= 160
                    ? 1
                    : (int)Math.Ceiling((decimal)i / 153);

                var parts = SmsHelpers.CountSmsParts(generated.ToString());

                Assert.Equal(parts, expectedNumOfParts);
            }
        }
Exemplo n.º 12
0
        public void SplitMessage_MultipleLinksUnicodeTest()
        {
            const string sms = Gsm7BitGoogleLink60 + " 🐳 " + Gsm7BitBaseChars60 + " 🐳 " + Gsm7BitGoogleLink60 + " 🐳 " +
                               Gsm7BitBaseChars60 + " 🐳 " + Gsm7BitGoogleLink60;

            var splitted = SmsHelpers.SplitMessageWithWordWrap(sms);

            Assert.True(splitted.Parts.Count == 5);
            Assert.Equal(SmsEncoding.GsmUnicode, splitted.Encoding);

            Assert.Equal(Gsm7BitGoogleLink60 + " 🐳 ", splitted.Parts[0].Content);
            Assert.Equal(Gsm7BitBaseChars60 + " 🐳 ", splitted.Parts[1].Content);
            Assert.Equal(Gsm7BitGoogleLink60 + " 🐳 ", splitted.Parts[2].Content);
            Assert.Equal(Gsm7BitBaseChars60 + " 🐳 ", splitted.Parts[3].Content);
            Assert.Equal(Gsm7BitGoogleLink60, splitted.Parts[4].Content);

            Assert.Equal(64, splitted.Parts[0].Length);
            Assert.Equal(64, splitted.Parts[1].Length);
            Assert.Equal(64, splitted.Parts[2].Length);
            Assert.Equal(64, splitted.Parts[3].Length);
            Assert.Equal(60, splitted.Parts[4].Length);
        }
Exemplo n.º 13
0
        public void NormalizeNewLines_Test(string before, string expected)
        {
            var result = SmsHelpers.NormalizeNewLines(before);

            Assert.Equal(result, expected);
        }
Exemplo n.º 14
0
        public void CountSmsParts_NotConcatenatedMessage(string content, int expectedNumberOfParts)
        {
            var result = SmsHelpers.SplitMessageWithWordWrap(content, false);

            Assert.Equal(expectedNumberOfParts, result.Parts.Count);
        }
Exemplo n.º 15
0
        public void CountSmsParts_HighSurrogateTest(string content, int expectedLength)
        {
            var length = SmsHelpers.CountSmsParts(content);

            Assert.Equal(expectedLength, length);
        }
Exemplo n.º 16
0
 public void GetCharset_ThrowAnException()
 {
     Assert.Throws <ArgumentNullException>(() => SmsHelpers.GetEncoding(null));
 }
Exemplo n.º 17
0
        public void GetCharset_DetectEncoding(string text, SmsEncoding expectedEncoding)
        {
            var encoding = SmsHelpers.GetEncoding(text);

            Assert.Equal(encoding, expectedEncoding);
        }
Exemplo n.º 18
0
        public void SplitMessage_Empty(string text)
        {
            var result = SmsHelpers.SplitMessageWithWordWrap(text);

            Assert.Empty(result.Parts);
        }
Exemplo n.º 19
0
 public void NormalizeNewLines_ReturnsNull()
 {
     Assert.Null(SmsHelpers.NormalizeNewLines(null));
 }
Exemplo n.º 20
0
 public void CountSmsParts_ThrowArgumentNullException()
 {
     Assert.Throws <ArgumentNullException>(() => SmsHelpers.CountSmsParts(null));
 }
Exemplo n.º 21
0
        public void CountSmsParts_Test(string sms, int expectedSmsParts)
        {
            var normalized = SmsHelpers.NormalizeNewLines(sms);

            Assert.True(SmsHelpers.CountSmsParts(normalized) == expectedSmsParts);
        }