git.iko.soy/ikoHSE/sc-task-2
on master help sign in
nightly-2024-10-11 and hunit
commit0f050abf42f31638289ac45ec008360e1600a8ee authoriko <mail@iko.soy> dateWed 15 Jan 2025, 09:27 (2 years ago) parentb9b834d
5 files changed+126−120
package.yaml+1−1 stack.yaml+1−1 task.cabal+7−3 test/Main.hs+1−6 test/Tests.hs+116−109
package.yaml+1−1
@@ -14,5 +14,5 @@ tests:
1414 main: Main.hs
1515 dependencies:
1616 - tasty
17− - tasty-hspec
17+ - tasty-hunit
1818 - task
stack.yaml+1−1
@@ -1,4 +1,4 @@
1−resolver: lts-14.27
1+resolver: nightly-2024-10-11
22
33packages:
44- .
task.cabal+7−3
@@ -1,10 +1,10 @@
11cabal-version: 2.2
22
3−-- This file has been generated from package.yaml by hpack version 0.31.2.
3+-- This file has been generated from package.yaml by hpack version 0.36.0.
44--
55-- see: https://github.com/sol/hpack
66--
7−-- hash: c454617de75af64ca6c743a3a745918472bb438f8df9c2019b67700d4caaf63c
7+-- hash: e7ce4d16c67bf724ae661c06d421b31bdf4a8955874528858483b7ed2f59e002
88
99name: task
1010version: 0.1.0.0
@@ -17,6 +17,8 @@ library
1717 Task
1818 other-modules:
1919 Paths_task
20+ autogen-modules:
21+ Paths_task
2022 hs-source-dirs:
2123 src
2224 build-depends:
@@ -29,11 +31,13 @@ test-suite task-tests
2931 other-modules:
3032 Tests
3133 Paths_task
34+ autogen-modules:
35+ Paths_task
3236 hs-source-dirs:
3337 test
3438 build-depends:
3539 base >=4.7 && <5
3640 , task
3741 , tasty
38− , tasty-hspec
42+ , tasty-hunit
3943 default-language: Haskell2010
test/Main.hs+1−6
@@ -4,12 +4,7 @@ module Main
44where
55
66import Test.Tasty
7−import Test.Tasty.Hspec
87import Tests
98
109main :: IO ()
11−main = do
12− tests' <- testSpecs tests
13− defaultMain
14− ( testGroup "tests" tests'
15− )
10+main = defaultMain tests
test/Tests.hs+116−109
@@ -7,31 +7,33 @@ import Data.Foldable
77import Data.Function
88import Data.List
99import Task
10−import Test.Tasty.Hspec
10+import Test.Tasty
11+import Test.Tasty.HUnit
1112
12−tests :: Spec
13−tests = do
14− describe "List Monoids" $ do
15− it "FirstMonoid" $ do
13+tests :: TestTree
14+tests = testGroup "Tests"
15+ [ testGroup "List Monoids"
16+ [ testCase "FirstMonoid" $ do
1617 let getFirst = destructFirstMonoid . fold . fmap constructFirstMonoid
17− getFirst [1 :: Int, 2, 3] `shouldBe` Just 1
18− getFirst [] `shouldBe` (Nothing :: Maybe ())
19− getFirst [True, False] `shouldBe` Just True
20− getFirst [True, True, False] `shouldBe` Just True
21− getFirst [1 .. 1000] `shouldBe` Just (1 :: Int)
22− getFirst [100 .. 1000] `shouldBe` Just (100 :: Int)
23− getFirst [6, 2, 7, 398, 1984, 383, -1020] `shouldBe` Just (6 :: Int)
24− it "LastMonoid" $ do
18+ getFirst [1 :: Int, 2, 3] @=? Just 1
19+ getFirst [] @=? (Nothing :: Maybe ())
20+ getFirst [True, False] @=? Just True
21+ getFirst [True, True, False] @=? Just True
22+ getFirst [1 .. 1000] @=? Just (1 :: Int)
23+ getFirst [100 .. 1000] @=? Just (100 :: Int)
24+ getFirst [6, 2, 7, 398, 1984, 383, -1020] @=? Just (6 :: Int)
25+ , testCase "LastMonoid" $ do
2526 let getLast = destructLastMonoid . fold . fmap constructLastMonoid
26− getLast [1 :: Int, 2, 3] `shouldBe` Just 3
27− getLast [] `shouldBe` (Nothing :: Maybe ())
28− getLast [1 .. 1000] `shouldBe` Just (1000 :: Int)
29− getLast [100 .. 10000] `shouldBe` Just (10000 :: Int)
30− getLast [6, 2, 7, 398, 1984, 383, -1020, 498] `shouldBe` Just (498 :: Int)
31− getLast [True, False] `shouldBe` Just False
32− getLast [True, True, False] `shouldBe` Just False
33− getLast [True, True, False, True] `shouldBe` Just True
34− describe "Todo List" $ do
27+ getLast [1 :: Int, 2, 3] @=? Just 3
28+ getLast [] @=? (Nothing :: Maybe ())
29+ getLast [1 .. 1000] @=? Just (1000 :: Int)
30+ getLast [100 .. 10000] @=? Just (10000 :: Int)
31+ getLast [6, 2, 7, 398, 1984, 383, -1020, 498] @=? Just (498 :: Int)
32+ getLast [True, False] @=? Just False
33+ getLast [True, True, False] @=? Just False
34+ getLast [True, True, False, True] @=? Just True
35+ ]
36+ , testGroup "Todo List" $
3537 let createTasks :: [(String, Priority)] -> MyTaskManager
3638 createTasks = foldl (\t (a, b) -> createTask a b t) emptyTaskManager
3739 getPrioritySets :: MyTaskManager -> [[(Completion, String)]]
@@ -39,9 +41,10 @@ tests = do
3941 fmap (sort . fmap (\(a, _, b) -> (a, b)))
4042 . groupBy ((==) `on` (\(_, p, _) -> p))
4143 . getPriorityList
42− it "emptyTaskManager" $
43− getPriorityList (emptyTaskManager :: MyTaskManager) `shouldBe` []
44− it "createTask" $ do
44+ in
45+ [ testCase "emptyTaskManager" $
46+ getPriorityList (emptyTaskManager :: MyTaskManager) @=? []
47+ , testCase "createTask" $ do
4548 getPrioritySets
4649 ( createTasks
4750 [ ("a", Low),
@@ -49,7 +52,7 @@ tests = do
4952 ("AAAAAAAAAA", High)
5053 ]
5154 )
52− `shouldBe` [ [(NotCompleted, "AAAAAAAAAA")],
55+ @=? [ [(NotCompleted, "AAAAAAAAAA")],
5356 [(NotCompleted, "aaa")],
5457 [(NotCompleted, "a")]
5558 ]
@@ -59,7 +62,7 @@ tests = do
5962 ("AAAAAAAAAA", High)
6063 ]
6164 )
62− `shouldBe` [ [(NotCompleted, "AAAAAAAAAA")],
65+ @=? [ [(NotCompleted, "AAAAAAAAAA")],
6366 [(NotCompleted, "a")]
6467 ]
6568 getPrioritySets
@@ -70,7 +73,7 @@ tests = do
7073 ("oh HaiMark", Medium)
7174 ]
7275 )
73− `shouldBe` [ [(NotCompleted, "AAAAAAAAAA")],
76+ @=? [ [(NotCompleted, "AAAAAAAAAA")],
7477 [(NotCompleted, "aaa"), (NotCompleted, "oh HaiMark")],
7578 [(NotCompleted, "a")]
7679 ]
@@ -83,11 +86,11 @@ tests = do
8386 ("OH NO", High)
8487 ]
8588 )
86− `shouldBe` [ [(NotCompleted, "AAAAAAAAAA"), (NotCompleted, "OH NO")],
89+ @=? [ [(NotCompleted, "AAAAAAAAAA"), (NotCompleted, "OH NO")],
8790 [(NotCompleted, "aaa"), (NotCompleted, "oh HaiMark")],
8891 [(NotCompleted, "a")]
8992 ]
90− it "toggleTaskCompletion" $ do
93+ , testCase "toggleTaskCompletion" $ do
9194 getPrioritySets
9295 ( toggleTaskCompletion "AAAAAAAAAA" . createTasks $
9396 [ ("a", Low),
@@ -97,7 +100,7 @@ tests = do
97100 ("OH NO", High)
98101 ]
99102 )
100− `shouldBe` [ [(Completed, "AAAAAAAAAA"), (NotCompleted, "OH NO")],
103+ @=? [ [(Completed, "AAAAAAAAAA"), (NotCompleted, "OH NO")],
101104 [(NotCompleted, "aaa"), (NotCompleted, "oh HaiMark")],
102105 [(NotCompleted, "a")]
103106 ]
@@ -110,7 +113,7 @@ tests = do
110113 ("OH NO", High)
111114 ]
112115 )
113− `shouldBe` [ [(NotCompleted, "AAAAAAAAAA"), (NotCompleted, "OH NO")],
116+ @=? [ [(NotCompleted, "AAAAAAAAAA"), (NotCompleted, "OH NO")],
114117 [(NotCompleted, "aaa"), (NotCompleted, "oh HaiMark")],
115118 [(NotCompleted, "a")]
116119 ]
@@ -126,11 +129,11 @@ tests = do
126129 ("OH NO", High)
127130 ]
128131 )
129− `shouldBe` [ [(Completed, "AAAAAAAAAA"), (NotCompleted, "OH NO")],
132+ @=? [ [(Completed, "AAAAAAAAAA"), (NotCompleted, "OH NO")],
130133 [(NotCompleted, "aaa"), (NotCompleted, "oh HaiMark")],
131134 [(Completed, "a")]
132135 ]
133− it "removeTask" $ do
136+ , testCase "removeTask" $ do
134137 getPrioritySets
135138 ( removeTask "AAAAAAAAAA"
136139 . createTasks
@@ -141,7 +144,7 @@ tests = do
141144 ("OH NO", High)
142145 ]
143146 )
144− `shouldBe` [ [(NotCompleted, "OH NO")],
147+ @=? [ [(NotCompleted, "OH NO")],
145148 [(NotCompleted, "aaa"), (NotCompleted, "oh HaiMark")],
146149 [(NotCompleted, "a")]
147150 ]
@@ -155,7 +158,7 @@ tests = do
155158 ("OH NO", High)
156159 ]
157160 )
158− `shouldBe` [ [(NotCompleted, "OH NO")],
161+ @=? [ [(NotCompleted, "OH NO")],
159162 [(NotCompleted, "aaa"), (NotCompleted, "oh HaiMark")],
160163 [(NotCompleted, "a")]
161164 ]
@@ -171,10 +174,10 @@ tests = do
171174 ("OH NO", High)
172175 ]
173176 )
174− `shouldBe` [ [(NotCompleted, "OH NO")],
177+ @=? [ [(NotCompleted, "OH NO")],
175178 [(NotCompleted, "a")]
176179 ]
177− it "modifyPriority" $ do
180+ , testCase "modifyPriority" $ do
178181 getPrioritySets
179182 ( modifyPriority "aaa" High . createTasks $
180183 [ ("a", Low),
@@ -184,7 +187,7 @@ tests = do
184187 ("OH NO", High)
185188 ]
186189 )
187− `shouldBe` [ [(NotCompleted, "AAAAAAAAAA"), (NotCompleted, "OH NO"), (NotCompleted, "aaa")],
190+ @=? [ [(NotCompleted, "AAAAAAAAAA"), (NotCompleted, "OH NO"), (NotCompleted, "aaa")],
188191 [(NotCompleted, "oh HaiMark")],
189192 [(NotCompleted, "a")]
190193 ]
@@ -200,7 +203,7 @@ tests = do
200203 ("OH NO", High)
201204 ]
202205 )
203− `shouldBe` [ [ (Completed, "a"),
206+ @=? [ [ (Completed, "a"),
204207 (NotCompleted, "AAAAAAAAAA"),
205208 (NotCompleted, "OH NO"),
206209 (NotCompleted, "aaa")
@@ -220,7 +223,7 @@ tests = do
220223 ("OH NO", High)
221224 ]
222225 )
223− `shouldBe` [ [ (NotCompleted, "AAAAAAAAAA"),
226+ @=? [ [ (NotCompleted, "AAAAAAAAAA"),
224227 (NotCompleted, "OH NO"),
225228 (NotCompleted, "a"),
226229 (NotCompleted, "aaa"),
@@ -230,7 +233,7 @@ tests = do
230233 getPrioritySets
231234 ( modifyPriority "aaa" High
232235 . modifyPriority "a" High
233− . modifyPriority "nit here sihji" High
236+ . modifyPriority "ntestCase here sihji" High
234237 . modifyPriority "oh HaiMark" Low
235238 . modifyPriority "a" High
236239 . modifyPriority "oh HaiMark" High
@@ -242,14 +245,14 @@ tests = do
242245 ("OH NO", High)
243246 ]
244247 )
245− `shouldBe` [ [ (NotCompleted, "AAAAAAAAAA"),
248+ @=? [ [ (NotCompleted, "AAAAAAAAAA"),
246249 (NotCompleted, "OH NO"),
247250 (NotCompleted, "a"),
248251 (NotCompleted, "aaa")
249252 ],
250253 [(NotCompleted, "oh HaiMark")]
251254 ]
252− it "renameTask" $ do
255+ , testCase "renameTask" $ do
253256 getPrioritySets
254257 ( renameTask "AAAAAAAAAA" "henlo"
255258 . createTasks
@@ -260,7 +263,7 @@ tests = do
260263 ("OH NO", High)
261264 ]
262265 )
263− `shouldBe` [ [(NotCompleted, "OH NO"), (NotCompleted, "henlo")],
266+ @=? [ [(NotCompleted, "OH NO"), (NotCompleted, "henlo")],
264267 [(NotCompleted, "aaa"), (NotCompleted, "oh HaiMark")],
265268 [(NotCompleted, "a")]
266269 ]
@@ -276,7 +279,7 @@ tests = do
276279 ("OH NO", High)
277280 ]
278281 )
279− `shouldBe` [ [(NotCompleted, "OH NO"), (NotCompleted, "henlo")],
282+ @=? [ [(NotCompleted, "OH NO"), (NotCompleted, "henlo")],
280283 [(NotCompleted, "aaa"), (NotCompleted, "iz task")],
281284 [(Completed, "a")]
282285 ]
@@ -293,86 +296,88 @@ tests = do
293296 ("OH NO", High)
294297 ]
295298 )
296− `shouldBe` [ [(NotCompleted, "OH NO"), (NotCompleted, "henlo")],
299+ @=? [ [(NotCompleted, "OH NO"), (NotCompleted, "henlo")],
297300 [(Completed, "iz task"), (NotCompleted, "aaa")],
298301 [(NotCompleted, "a")]
299302 ]
300− describe "Coffee" $ do
301− it "HasPrice Coffee" $ do
302− price (Coffee 2 [OatMilk, Cinnamon]) `shouldBe` 2 + price OatMilk + price Cinnamon
303− price (Coffee 2 [Cinnamon, Cinnamon]) `shouldBe` 2 + price Cinnamon + price Cinnamon
304− price (Coffee 2 []) `shouldBe` 2
303+ ]
304+ , testGroup "Coffee"
305+ [ testCase "HasPrice Coffee" $ do
306+ price (Coffee 2 [OatMilk, Cinnamon]) @=? 2 + price OatMilk + price Cinnamon
307+ price (Coffee 2 [Cinnamon, Cinnamon]) @=? 2 + price Cinnamon + price Cinnamon
308+ price (Coffee 2 []) @=? 2
305309 price (Coffee 2 [Cinnamon, Cream, Cinnamon])
306− `shouldBe` 2
310+ @=? 2
307311 + price Cinnamon
308312 + price Cinnamon
309313 + price Cream
310− it "chargeCoffee" $ do
314+ , testCase "chargeCoffee" $ do
311315 chargeCoffee (Coffee 2 [OatMilk, Cinnamon]) (DebitCard 199 69)
312− `shouldBe` Just (DebitCard 112 69)
316+ @=? Just (DebitCard 112 69)
313317 chargeCoffee (Coffee 2 [OatMilk, Cinnamon]) (DebitCard 87 69)
314− `shouldBe` Just (DebitCard 0 69)
318+ @=? Just (DebitCard 0 69)
315319 chargeCoffee (Coffee 2 [OatMilk, Cinnamon]) (DebitCard 86 69)
316− `shouldBe` Nothing
320+ @=? Nothing
317321 chargeCoffee (Coffee 2 [OatMilk, Cinnamon]) (DebitCard 0 69)
318− `shouldBe` Nothing
322+ @=? Nothing
319323 chargeCoffee (Coffee 2 [OatMilk, Cinnamon]) (DebitCard (-2189) 69)
320− `shouldBe` Nothing
324+ @=? Nothing
321325 chargeCoffee (Coffee 2 [OatMilk, Cinnamon, WhiteSugar]) (DebitCard 199 69)
322− `shouldBe` Just (DebitCard 97 69)
326+ @=? Just (DebitCard 97 69)
323327 chargeCoffee (Coffee 2 [WhiteSugar, OatMilk, Cinnamon, WhiteSugar]) (DebitCard 199 69)
324− `shouldBe` Just (DebitCard 82 69)
325− let coffee = Coffee 2 [OatMilk, Cinnamon]
326− it "payForCoffee" $ do
327− payForCoffee (Customer [DebitCard 199 69] 0) coffee
328− `shouldBe` Just (Card (DebitCard 112 69))
329− payForCoffee (Customer [DebitCard 86 12, DebitCard 199 69] 2) coffee
330− `shouldBe` Just (Card (DebitCard 112 69))
331− payForCoffee (Customer [DebitCard (-12) 8, DebitCard 86 12, DebitCard 199 69] 0) coffee
332− `shouldBe` Just (Card (DebitCard 112 69))
333− payForCoffee (Customer [DebitCard 87 8, DebitCard 111 12, DebitCard 199 69] 0) coffee
334− `shouldBe` Just (Card (DebitCard 0 8))
335− payForCoffee (Customer [DebitCard 86 8, DebitCard 86 12, DebitCard 82 69] 0) coffee
336− `shouldBe` Nothing
337− payForCoffee (Customer [DebitCard 86 8, DebitCard 86 12, DebitCard 82 69] 87) coffee
338− `shouldBe` Just (Cash 0)
339− payForCoffee (Customer [DebitCard 86 8, DebitCard 86 12, DebitCard 81 69] 86) coffee
340− `shouldBe` Nothing
341− it "applyPayment" $ do
328+ @=? Just (DebitCard 82 69)
329+ , let coffee = Coffee 2 [OatMilk, Cinnamon]
330+ in testCase "payForCoffee" $ do
331+ payForCoffee (Customer [DebitCard 199 69] 0) coffee
332+ @=? Just (Card (DebitCard 112 69))
333+ payForCoffee (Customer [DebitCard 86 12, DebitCard 199 69] 2) coffee
334+ @=? Just (Card (DebitCard 112 69))
335+ payForCoffee (Customer [DebitCard (-12) 8, DebitCard 86 12, DebitCard 199 69] 0) coffee
336+ @=? Just (Card (DebitCard 112 69))
337+ payForCoffee (Customer [DebitCard 87 8, DebitCard 111 12, DebitCard 199 69] 0) coffee
338+ @=? Just (Card (DebitCard 0 8))
339+ payForCoffee (Customer [DebitCard 86 8, DebitCard 86 12, DebitCard 82 69] 0) coffee
340+ @=? Nothing
341+ payForCoffee (Customer [DebitCard 86 8, DebitCard 86 12, DebitCard 82 69] 87) coffee
342+ @=? Just (Cash 0)
343+ payForCoffee (Customer [DebitCard 86 8, DebitCard 86 12, DebitCard 81 69] 86) coffee
344+ @=? Nothing
345+ , testCase "applyPayment" $ do
342346 applyPayment (Customer [DebitCard 199 69] 0) (Card (DebitCard 112 69))
343− `shouldBe` Customer [DebitCard 112 69] 0
347+ @=? Customer [DebitCard 112 69] 0
344348 applyPayment (Customer [DebitCard 111 12, DebitCard 199 69] 2) (Card (DebitCard 112 69))
345− `shouldBe` Customer [DebitCard 111 12, DebitCard 112 69] 2
349+ @=? Customer [DebitCard 111 12, DebitCard 112 69] 2
346350 applyPayment (Customer [DebitCard (-12) 8, DebitCard 111 12, DebitCard 199 69] 0) (Card (DebitCard 112 69))
347− `shouldBe` Customer [DebitCard (-12) 8, DebitCard 111 12, DebitCard 112 69] 0
351+ @=? Customer [DebitCard (-12) 8, DebitCard 111 12, DebitCard 112 69] 0
348352 applyPayment (Customer [DebitCard 112 8, DebitCard 111 12, DebitCard 199 69] 0) (Card (DebitCard 0 8))
349− `shouldBe` Customer [DebitCard 0 8, DebitCard 111 12, DebitCard 199 69] 0
353+ @=? Customer [DebitCard 0 8, DebitCard 111 12, DebitCard 199 69] 0
350354 applyPayment (Customer [DebitCard 111 8, DebitCard 111 12, DebitCard 110 69] 112) (Cash 0)
351− `shouldBe` Customer [DebitCard 111 8, DebitCard 111 12, DebitCard 110 69] 0
355+ @=? Customer [DebitCard 111 8, DebitCard 111 12, DebitCard 110 69] 0
352356 applyPayment (Customer [DebitCard 111 8, DebitCard 111 12, DebitCard 110 69] 112) (Card (DebitCard 0 13))
353− `shouldBe` Customer [DebitCard 111 8, DebitCard 111 12, DebitCard 110 69] 112
354− it "buyCoffee" $ do
355− buyCoffee (Customer [DebitCard 199 69] 0) coffee
356− `shouldBe` Just (Customer [DebitCard 112 69] 0)
357− buyCoffee (Customer [DebitCard 86 12, DebitCard 199 69] 2) coffee
358− `shouldBe` Just (Customer [DebitCard 86 12, DebitCard 112 69] 2)
359− buyCoffee (Customer [DebitCard (-12) 8, DebitCard 86 12, DebitCard 199 69] 0) coffee
360− `shouldBe` Just (Customer [DebitCard (-12) 8, DebitCard 86 12, DebitCard 112 69] 0)
361− buyCoffee (Customer [DebitCard 87 8, DebitCard 86 12, DebitCard 199 69] 0) coffee
362− `shouldBe` Just (Customer [DebitCard 0 8, DebitCard 86 12, DebitCard 199 69] 0)
363− buyCoffee (Customer [DebitCard 86 8, DebitCard 86 12, DebitCard 84 69] 0) coffee
364− `shouldBe` Nothing
365− buyCoffee (Customer [DebitCard 86 8, DebitCard 86 12, DebitCard 82 69] 87) coffee
366− `shouldBe` Just (Customer [DebitCard 86 8, DebitCard 86 12, DebitCard 82 69] 0)
367− buyCoffee (Customer [DebitCard 86 8, DebitCard 86 12, DebitCard 81 69] 86) coffee
368− `shouldBe` Nothing
369− it "saveTheDiabetic" $ do
357+ @=? Customer [DebitCard 111 8, DebitCard 111 12, DebitCard 110 69] 112
358+ , let coffee = Coffee 2 [OatMilk, Cinnamon]
359+ in testCase "buyCoffee" $ do
360+ buyCoffee (Customer [DebitCard 199 69] 0) coffee
361+ @=? Just (Customer [DebitCard 112 69] 0)
362+ buyCoffee (Customer [DebitCard 86 12, DebitCard 199 69] 2) coffee
363+ @=? Just (Customer [DebitCard 86 12, DebitCard 112 69] 2)
364+ buyCoffee (Customer [DebitCard (-12) 8, DebitCard 86 12, DebitCard 199 69] 0) coffee
365+ @=? Just (Customer [DebitCard (-12) 8, DebitCard 86 12, DebitCard 112 69] 0)
366+ buyCoffee (Customer [DebitCard 87 8, DebitCard 86 12, DebitCard 199 69] 0) coffee
367+ @=? Just (Customer [DebitCard 0 8, DebitCard 86 12, DebitCard 199 69] 0)
368+ buyCoffee (Customer [DebitCard 86 8, DebitCard 86 12, DebitCard 84 69] 0) coffee
369+ @=? Nothing
370+ buyCoffee (Customer [DebitCard 86 8, DebitCard 86 12, DebitCard 82 69] 87) coffee
371+ @=? Just (Customer [DebitCard 86 8, DebitCard 86 12, DebitCard 82 69] 0)
372+ buyCoffee (Customer [DebitCard 86 8, DebitCard 86 12, DebitCard 81 69] 86) coffee
373+ @=? Nothing
374+ , testCase "saveTheDiabetic" $ do
370375 saveTheDiabetic
371376 [ Coffee 0 [WhiteSugar, BrownSugar, Cinnamon],
372377 Coffee 0 [WhiteSugar, BrownSugar, Cinnamon],
373378 Coffee 0 [WhiteSugar, BrownSugar, Cinnamon]
374379 ]
375− `shouldBe` ( 150,
380+ @=? ( 150,
376381 [ Coffee 0 [Cinnamon],
377382 Coffee 0 [Cinnamon],
378383 Coffee 0 [Cinnamon]
@@ -383,7 +388,7 @@ tests = do
383388 Coffee 0 [WhiteSugar, BrownSugar, WhiteSugar, WhiteSugar, Cinnamon],
384389 Coffee 0 [WhiteSugar, BrownSugar, Cinnamon]
385390 ]
386− `shouldBe` ( 215,
391+ @=? ( 215,
387392 [ Coffee 0 [Cinnamon, SoyMilk],
388393 Coffee 0 [Cinnamon],
389394 Coffee 0 [Cinnamon]
@@ -395,7 +400,7 @@ tests = do
395400 Coffee 0 [Cinnamon],
396401 Coffee 69 []
397402 ]
398− `shouldBe` ( 0,
403+ @=? ( 0,
399404 [ Coffee 0 [Cinnamon, SoyMilk],
400405 Coffee 0 [Cinnamon],
401406 Coffee 0 [Cinnamon],
@@ -404,29 +409,31 @@ tests = do
404409 )
405410 saveTheDiabetic
406411 []
407− `shouldBe` ( 0,
412+ @=? ( 0,
408413 []
409414 )
410− it "calculateSugarDanger" $ do
415+ , testCase "calculateSugarDanger" $ do
411416 calculateSugarDanger
412417 [ Coffee 0 [WhiteSugar, BrownSugar, Cinnamon],
413418 Coffee 0 [WhiteSugar, BrownSugar, Cinnamon],
414419 Coffee 0 [WhiteSugar, BrownSugar, Cinnamon]
415420 ]
416− `shouldBe` 9
421+ @=? 9
417422 calculateSugarDanger
418423 [ Coffee 0 [WhiteSugar, BrownSugar, Cinnamon, BrownSugar, SoyMilk],
419424 Coffee 0 [WhiteSugar, BrownSugar, WhiteSugar, WhiteSugar, Cinnamon],
420425 Coffee 0 [WhiteSugar, BrownSugar, Cinnamon],
421426 Coffee 0 []
422427 ]
423− `shouldBe` 14
428+ @=? 14
424429 calculateSugarDanger
425430 [ Coffee 0 [Cinnamon, SoyMilk],
426431 Coffee 0 [Cinnamon],
427432 Coffee 0 [Cinnamon]
428433 ]
429− `shouldBe` 0
434+ @=? 0
430435 calculateSugarDanger
431436 []
432− `shouldBe` 0
437+ @=? 0
438+ ]
439+ ]