summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorScott Gasch <[email protected]>2021-03-24 18:08:54 -0700
committerScott Gasch <[email protected]>2021-03-24 18:08:54 -0700
commit497fb9e21f45ec08e1486abaee6dfa7b20b8a691 (patch)
tree47aa97a0fca36c4e7025cee5ad4e9ec6db49b881 /tests
Initial revision
Diffstat (limited to 'tests')
-rwxr-xr-xtests/string_utils_test.py140
1 files changed, 140 insertions, 0 deletions
diff --git a/tests/string_utils_test.py b/tests/string_utils_test.py
new file mode 100755
index 0000000..157de0a
--- /dev/null
+++ b/tests/string_utils_test.py
@@ -0,0 +1,140 @@
+#!/usr/bin/env python3
+
+import unittest
+
+from ansi import fg, bg, reset
+import string_utils as su
+
+
+class TestStringUtils(unittest.TestCase):
+ def test_is_none_or_empty(self):
+ self.assertTrue(su.is_none_or_empty(None))
+ self.assertTrue(su.is_none_or_empty(""))
+ self.assertTrue(su.is_none_or_empty("\n"))
+ self.assertTrue(su.is_none_or_empty(' '))
+ self.assertTrue(su.is_none_or_empty(' \n \r \t '))
+ self.assertFalse(su.is_none_or_empty("Covfefe"))
+ self.assertFalse(su.is_none_or_empty("1234"))
+
+ def test_is_string(self):
+ self.assertTrue(su.is_string("test"))
+ self.assertTrue(su.is_string(""))
+ self.assertFalse(su.is_string(bytes(0x1234)))
+ self.assertFalse(su.is_string(1234))
+
+ def test_is_empty_string(self):
+ self.assertTrue(su.is_empty_string(''))
+ self.assertTrue(su.is_empty_string(' \t\t \n \r '))
+ self.assertFalse(su.is_empty_string(' this is a test '))
+ self.assertFalse(su.is_empty_string(22))
+
+ def test_is_full_string(self):
+ self.assertFalse(su.is_full_string(''))
+ self.assertFalse(su.is_full_string(' \t\t \n \r '))
+ self.assertTrue(su.is_full_string(' this is a test '))
+ self.assertFalse(su.is_full_string(22))
+
+ def test_is_number(self):
+ self.assertTrue(su.is_number("1234"))
+ self.assertTrue(su.is_number("-1234"))
+ self.assertTrue(su.is_number("1234.55"))
+ self.assertTrue(su.is_number("-1234.55"))
+ self.assertTrue(su.is_number("+1234"))
+ self.assertTrue(su.is_number("+1234.55"))
+ self.assertTrue(su.is_number("-0.8485996602e10"))
+ self.assertTrue(su.is_number("-0.8485996602E10"))
+ self.assertFalse(su.is_number("-0.8485996602t10"))
+ self.assertFalse(su.is_number(" 1234 "))
+ self.assertFalse(su.is_number(" 1234"))
+ self.assertFalse(su.is_number("1234 "))
+ self.assertFalse(su.is_number("fifty"))
+
+ def test_is_integer_number(self):
+ self.assertTrue(su.is_integer_number("1234"))
+ self.assertTrue(su.is_integer_number("-1234"))
+ self.assertFalse(su.is_integer_number("1234.55"))
+ self.assertFalse(su.is_integer_number("-1234.55"))
+ self.assertTrue(su.is_integer_number("+1234"))
+ self.assertTrue(su.is_integer_number("0x1234"))
+ self.assertTrue(su.is_integer_number("0xdeadbeef"))
+ self.assertFalse(su.is_integer_number("+1234.55"))
+ self.assertTrue(su.is_octal_integer_number("+0o777"))
+ self.assertFalse(su.is_integer_number("-0.8485996602e10"))
+ self.assertFalse(su.is_integer_number("-0.8485996602E10"))
+ self.assertFalse(su.is_integer_number("-0.8485996602t10"))
+ self.assertFalse(su.is_integer_number(" 1234 "))
+ self.assertFalse(su.is_integer_number(" 1234"))
+ self.assertFalse(su.is_integer_number("1234 "))
+ self.assertFalse(su.is_integer_number("fifty"))
+
+ def test_is_hexidecimal_integer_number(self):
+ self.assertTrue(su.is_hexidecimal_integer_number("0x1234"))
+ self.assertTrue(su.is_hexidecimal_integer_number("0X1234"))
+ self.assertTrue(su.is_hexidecimal_integer_number("0x1234D"))
+ self.assertTrue(su.is_hexidecimal_integer_number("0xF1234"))
+ self.assertTrue(su.is_hexidecimal_integer_number("0xe1234"))
+ self.assertTrue(su.is_hexidecimal_integer_number("0x1234a"))
+ self.assertTrue(su.is_hexidecimal_integer_number("0xdeadbeef"))
+ self.assertTrue(su.is_hexidecimal_integer_number("-0xdeadbeef"))
+ self.assertTrue(su.is_hexidecimal_integer_number("+0xdeadbeef"))
+ self.assertFalse(su.is_hexidecimal_integer_number("0xH1234"))
+ self.assertFalse(su.is_hexidecimal_integer_number("0x1234H"))
+ self.assertFalse(su.is_hexidecimal_integer_number("nine"))
+
+ def test_is_octal_integer_number(self):
+ self.assertTrue(su.is_octal_integer_number("0o111"))
+ self.assertTrue(su.is_octal_integer_number("0O111"))
+ self.assertTrue(su.is_octal_integer_number("-0o111"))
+ self.assertTrue(su.is_octal_integer_number("+0o777"))
+ self.assertFalse(su.is_octal_integer_number("-+0o111"))
+ self.assertFalse(su.is_octal_integer_number("0o181"))
+ self.assertFalse(su.is_octal_integer_number("0o1a1"))
+ self.assertFalse(su.is_octal_integer_number("one"))
+
+ def test_is_binary_integer_number(self):
+ self.assertTrue(su.is_binary_integer_number("0b10100101110"))
+ self.assertTrue(su.is_binary_integer_number("+0b10100101110"))
+ self.assertTrue(su.is_binary_integer_number("-0b10100101110"))
+ self.assertTrue(su.is_binary_integer_number("0B10100101110"))
+ self.assertTrue(su.is_binary_integer_number("+0B10100101110"))
+ self.assertTrue(su.is_binary_integer_number("-0B10100101110"))
+ self.assertFalse(su.is_binary_integer_number("-0B10100101110 "))
+ self.assertFalse(su.is_binary_integer_number(" -0B10100101110"))
+ self.assertFalse(su.is_binary_integer_number("-0B10100 101110"))
+ self.assertFalse(su.is_binary_integer_number("0b10100201110"))
+ self.assertFalse(su.is_binary_integer_number("0b10100101e110"))
+ self.assertFalse(su.is_binary_integer_number("fred"))
+
+ def test_to_int(self):
+ self.assertEqual(su.to_int("1234"), 1234)
+ self.assertEqual(su.to_int("0x1234"), 4660)
+ self.assertEqual(su.to_int("0o777"), 511)
+ self.assertEqual(su.to_int("0b111"), 7)
+
+ def test_is_decimal_number(self):
+ self.assertTrue(su.is_decimal_number('4.3'))
+ self.assertTrue(su.is_decimal_number('.3'))
+ self.assertTrue(su.is_decimal_number('0.3'))
+ self.assertFalse(su.is_decimal_number('3.'))
+ self.assertTrue(su.is_decimal_number('3.0'))
+ self.assertTrue(su.is_decimal_number('3.0492949249e20'))
+ self.assertFalse(su.is_decimal_number('3'))
+ self.assertFalse(su.is_decimal_number('0x11'))
+
+ def test_strip_escape_sequences(self):
+ s = f' {fg("red")} this is a test {bg("white")} this is a test {reset()} '
+ self.assertEqual(
+ su.strip_escape_sequences(s),
+ ' this is a test this is a test '
+ )
+ s = ' this is another test '
+ self.assertEqual(su.strip_escape_sequences(s), s)
+
+ def test_is_url(self):
+ self.assertTrue(su.is_url("http://host.domain/uri/uri#shard?param=value+s"))
+ self.assertTrue(su.is_url("http://127.0.0.1/uri/uri#shard?param=value+s"))
+ self.assertTrue(su.is_url("http://user:[email protected]:81/uri/uri#shard?param=value+s"))
+ self.assertTrue(su.is_url("ftp://127.0.0.1/uri/uri"))
+
+if __name__ == '__main__':
+ unittest.main()