-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathtest_letters.py
More file actions
executable file
·38 lines (26 loc) · 1.06 KB
/
Copy pathtest_letters.py
File metadata and controls
executable file
·38 lines (26 loc) · 1.06 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
#!/usr/bin/env python3
"""
# test_letters.py
Perform unit testing for `letters.py`.
Copyright 2022 Conway
Licensed under the GNU General Public License v3.0 (GPL-3.0-only).
This is free software with NO WARRANTY etc. etc., see LICENSE.
"""
import letters
import unittest
class TestLetters(unittest.TestCase):
def test_normalise_letters(self):
self.assertEqual(letters.normalise_letters('abc'), 'ABC')
self.assertEqual(letters.normalise_letters('HeRpdERP'), 'HERPDERP')
self.assertEqual(letters.normalise_letters(' whitespace\t'), 'WHITESPACE')
def test_is_valid(self):
self.assertTrue(letters.is_valid('A', 'A'))
self.assertTrue(letters.is_valid('A', 'AA'))
self.assertTrue(letters.is_valid('ABC', 'AABBCCDD'))
self.assertTrue(letters.is_valid('ABBCCCDDDD', 'QWERTYDDDDCCCBBAA'))
self.assertTrue(letters.is_valid('RADAR', 'RADAR'))
self.assertFalse(letters.is_valid('A', 'X'))
self.assertFalse(letters.is_valid('AA', 'A'))
self.assertFalse(letters.is_valid('RADAR', 'DARAD'))
if __name__ == '__main__':
unittest.main()