|
1
|
|
|
import unittest |
|
2
|
|
|
|
|
3
|
|
|
from pangram import check_pangram |
|
4
|
|
|
|
|
5
|
|
|
|
|
6
|
|
|
class Tests(unittest.TestCase): |
|
7
|
|
|
TESTS = { |
|
8
|
|
|
"Basics": [ |
|
9
|
|
|
{"input": "The quick brown fox jumps over the lazy dog.", "answer": True}, |
|
10
|
|
|
{"input": "ABCDEF", "answer": False}, |
|
11
|
|
|
{"input": "abcdefghijklmnopqrstuvwxyz", "answer": True}, |
|
12
|
|
|
{"input": "ABCDEFGHIJKLMNOPQRSTUVWXYZ", "answer": True}, |
|
13
|
|
|
{"input": "abcdefghijklmnopqrstuvwxy", "answer": False}, |
|
14
|
|
|
{ |
|
15
|
|
|
"input": "Bored? Craving a pub quiz fix? Why, just come to the Royal Oak!", |
|
16
|
|
|
"answer": True, |
|
17
|
|
|
}, |
|
18
|
|
|
{ |
|
19
|
|
|
"input": "As quirky joke, chefs won't pay devil magic zebra tax.", |
|
20
|
|
|
"answer": True, |
|
21
|
|
|
}, |
|
22
|
|
|
{ |
|
23
|
|
|
"input": "Six big devils from Japan quickly forgot how to walt.", |
|
24
|
|
|
"answer": False, |
|
25
|
|
|
}, |
|
26
|
|
|
], |
|
27
|
|
|
"Extra": [ |
|
28
|
|
|
{ |
|
29
|
|
|
"input": "!F]gatv]FZ;.MVl=wGC%nr*$np#'bn?}oIOa_YMf]MBQpB^Ndh_T/hw^D*hxcZVUp-ugO<nfC,N@:ag?TMby:A^*?qV_BK", |
|
30
|
|
|
"answer": False, |
|
31
|
|
|
}, |
|
32
|
|
|
{ |
|
33
|
|
|
"input": "bnC_XuknwTlVL..wvNU/*s%)*BjXi?<Q.swXDk,T(k>X<&ZieBhy&IRvxbHtr<%c%mUEcXD$WB$m<']Wfbzecee-!miZot" |
|
34
|
|
|
"A=&)#TPGfjDB$nw_LIZ!#JecokQ(LQK*JXKqyDSrHJSG?YTLOPfwW}Wiq=-mAi%%N]Tc(v^[TvN:XW&=@rK~CbC}|DySivVj", |
|
35
|
|
|
"answer": True, |
|
36
|
|
|
}, |
|
37
|
|
|
{ |
|
38
|
|
|
"input": "OGvkMBRgvDtaHBILRgTNuroYZcUkJqnAtstCXZytcQJzbpjhLoOKjQHrs" |
|
39
|
|
|
"ZKViqBAPrnqKWKNBtbCEmhSWJoCjqmachvVGEGlpAJh", |
|
40
|
|
|
"answer": False, |
|
41
|
|
|
}, |
|
42
|
|
|
{"input": "a", "answer": False}, |
|
43
|
|
|
{ |
|
44
|
|
|
"input": "IlrCOiJHgmROZaMAXvvBRESnEkAgJKJPPXIUtjaVOxrnYJQQjjjQSiU" |
|
45
|
|
|
"eJNUXdHUqwvHRkzTjYhIhLkubPzMOPKYPIaRLCcSgFHga", |
|
46
|
|
|
"answer": True, |
|
47
|
|
|
}, |
|
48
|
|
|
{ |
|
49
|
|
|
"input": "The quick, brown fox jumps over a lazy dog. DJs flock by when MTV ax quiz prog." |
|
50
|
|
|
" Junk MTV quiz graced by fox whelps.", |
|
51
|
|
|
"answer": True, |
|
52
|
|
|
}, |
|
53
|
|
|
{ |
|
54
|
|
|
"input": "Brick quiz whangs jumpy veldt foks. Bright viksens jump; dozy fowl quack." |
|
55
|
|
|
" Quick wafting zephyrs veks bold Jim. Quick zephyrs blow, veksing daft Jim." |
|
56
|
|
|
" Seks-charged fop blew my junk TV quiz. How quickly daft jumping zebras veks." |
|
57
|
|
|
" Two driven jocks help faks my big quiz. Quick, Baz, get my woven flaks jodhpurs!" |
|
58
|
|
|
" Now faks quiz Jack! my brave ghost pled. Five quacking zephyrs jolt my waks bed. " |
|
59
|
|
|
"Flummoksed by job, kvetching W.", |
|
60
|
|
|
"answer": False, |
|
61
|
|
|
}, |
|
62
|
|
|
], |
|
63
|
|
|
} |
|
64
|
|
|
|
|
65
|
|
|
def test_Basics(self): |
|
66
|
|
|
for i in self.TESTS['Basics']: |
|
67
|
|
|
assert check_pangram(i['input']) == i['answer'] |
|
68
|
|
|
|
|
69
|
|
|
def test_Extra(self): |
|
70
|
|
|
for i in self.TESTS['Extra']: |
|
71
|
|
|
assert check_pangram(i['input']) == i['answer'] |
|
72
|
|
|
|
|
73
|
|
|
|
|
74
|
|
|
if __name__ == "__main__": # pragma: no cover |
|
75
|
|
|
unittest.main() |
|
76
|
|
|
|