-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathFirstNonRepeatingCharacter_5kyu_test.py
More file actions
27 lines (20 loc) · 1.15 KB
/
FirstNonRepeatingCharacter_5kyu_test.py
File metadata and controls
27 lines (20 loc) · 1.15 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
from unittest import TestCase
from FirstNonRepeatingCharacter_5kyu import first_non_repeating_letter
class TestFirstNonRepeatingLetter(TestCase):
def test_SingleCharIsChar(self):
self.assertEquals("a", first_non_repeating_letter("a"))
self.assertEquals("#", first_non_repeating_letter("#"))
def test_FirstNonRepeatingCharIsThisChar(self):
self.assertEquals("t", first_non_repeating_letter("stress"))
self.assertEquals("e", first_non_repeating_letter("moonmen"))
def test_EmptyIsEmpty(self):
self.assertEquals("", first_non_repeating_letter(""))
def test_AllRepeatingIsEmpty(self):
self.assertEquals("", first_non_repeating_letter("aa"))
self.assertEquals("", first_non_repeating_letter("abba"))
def test_OddCharIsFirstCharNonRepeating(self):
self.assertEquals("#", first_non_repeating_letter("~><#~><"))
self.assertEquals("w", first_non_repeating_letter("hello world, eh?"))
def test_HandleLetterCases(self):
self.assertEquals("T", first_non_repeating_letter("sTreSS"))
self.assertEquals(",", first_non_repeating_letter("Go hang a salami, I\'m a lasagna hog!"))