-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathTests31_41.hs
75 lines (61 loc) · 2.21 KB
/
Tests31_41.hs
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
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
module Tests31_41 where
import Test.HUnit
import Problems31_41
problem31test1 :: Test
problem31test1 = isPrime 7 ~?= True
problem31tests :: Test
problem31tests = TestList [ problem31test1 ]
problem32test1 :: Test
problem32test1 = euclidGCF 36 63 ~?= 9
problem32test2 :: Test
problem32test2 = extendedEuclidGCF 36 63 ~?= 9
problem32test3 :: Test
problem32test3 = extendedEuclidGCF (-3) (-6) ~?= 3
problem32test4 :: Test
problem32test4 = extendedEuclidGCF (-3) 6 ~?= 3
problem32tests :: Test
problem32tests = TestList [ problem32test1, problem32test2, problem32test3, problem32test4 ]
problem33test1 :: Test
problem33test1 = coprime 35 64 ~?= True
problem33tests :: Test
problem33tests = TestList [ problem33test1 ]
problem34test1 :: Test
problem34test1 = totient 10 ~?= 4
problem34test2 :: Test
problem34test2 = totient 1 ~?= 1
problem34tests :: Test
problem34tests = TestList [ problem34test1, problem34test2 ]
problem35test1 :: Test
problem35test1 = primeFactors 315 ~?= [3, 3, 5, 7]
problem35tests :: Test
problem35tests = TestList [ problem35test1 ]
problem36test1 :: Test
problem36test1 = prime_factors_mult 315 ~?= [(3,2),(5,1),(7,1)]
problem36tests :: Test
problem36tests = TestList [ problem36test1 ]
problem37test1 :: Test
problem37test1 = improvedTotient 10 ~?= 4
problem37test2 :: Test
problem37test2 = improvedTotient 1 ~?= 1
problem37tests :: Test
problem37tests = TestList [ problem37test1, problem37test2 ]
-- Problem 38 is not an actual problem
problem39test1 :: Test
problem39test1 = primesR 10 20 ~?= [11,13,17,19]
problem39tests :: Test
problem39tests = TestList [ problem39test1 ]
problem40test1 :: Test
problem40test1 = goldbach 28 ~?= (5, 23)
problem40tests :: Test
problem40tests = TestList [ problem40test1 ]
problem41test1 :: Test
problem41test1 = goldbachList 9 20 ~?= [(3,7),(5,7),(3,11),(3,13),(5,13),(3,17)]
problem41test2 :: Test
problem41test2 = goldbachList' 9 20 4 ~?= [(5,7),(5,13)]
problem41tests :: Test
problem41tests = TestList [ problem41test1, problem41test2 ]
tests :: Test
tests = TestList [ problem31tests, problem32tests, problem33tests, problem34tests, problem35tests
, problem36tests, problem37tests, problem39tests, problem40tests, problem41tests ]
main :: IO Counts
main = runTestTT tests