@@ -46,49 +46,63 @@ class Day05Suite extends ScalaCheckSuite:
4646 Page (1 )
4747 )
4848
49- test(" first violated order rule for small input's first update is None" ):
49+ test(" first violated order rule for small input's 1st update is None" ):
5050 assertEquals(
51- Input .parse(smallInput).flatMap(input => input.updates.head.firstViolatedOrderRules(input.rules)),
51+ for {
52+ input <- Input .parse(smallInput)
53+ firstPage = input.updates.head
54+ orderRule <- firstPage.firstViolatedOrderRules(input.rules)
55+ } yield orderRule,
5256 None
5357 )
5458
55- test(" first violated order rule for small input's second update is None" ):
59+ test(" first violated order rule for small input's 2nd update is None" ):
5660 assertEquals(
57- Input
58- .parse(smallInput)
59- .flatMap(input => input.updates.toNev.get(1 ).flatMap(_.firstViolatedOrderRules(input.rules))),
61+ for {
62+ input <- Input .parse(smallInput)
63+ secondPage <- input.updates.toNev.get(1 )
64+ orderRule <- secondPage.firstViolatedOrderRules(input.rules)
65+ } yield orderRule,
6066 None
6167 )
6268
63- test(" first violated order rule for small input's third update is None" ):
69+ test(" first violated order rule for small input's 3rd update is None" ):
6470 assertEquals(
65- Input
66- .parse(smallInput)
67- .flatMap(input => input.updates.toNev.get(2 ).flatMap(_.firstViolatedOrderRules(input.rules))),
71+ for {
72+ input <- Input .parse(smallInput)
73+ thirdPage <- input.updates.toNev.get(2 )
74+ orderRule <- thirdPage.firstViolatedOrderRules(input.rules)
75+ } yield orderRule,
6876 None
6977 )
7078
71- test(" first violated order rule for small input's fourth update is 97|75" ):
79+ test(" first violated order rule for small input's 4th update is 97|75" ):
7280 assertEquals(
73- Input
74- .parse(smallInput)
75- .flatMap(input => input.updates.toNev.get(3 ).flatMap(_.firstViolatedOrderRules(input.rules))),
81+ for {
82+ input <- Input .parse(smallInput)
83+ fourthPage <- input.updates.toNev.get(3 )
84+ orderRule <- fourthPage.firstViolatedOrderRules(input.rules)
85+ } yield orderRule,
7686 OrderRule (before = Page (97 ), after = Page (75 )).some
7787 )
7888
79- test(" first violated order rule for small input's fifth update is 29|13" ):
89+ test(" first violated order rule for small input's 5th update is 29|13" ):
8090 assertEquals(
81- Input
82- .parse(smallInput)
83- .flatMap(input => input.updates.toNev.get(4 ).flatMap(_.firstViolatedOrderRules(input.rules))),
91+ for {
92+ input <- Input .parse(smallInput)
93+ fifthPage <- input.updates.toNev.get(4 )
94+ orderRule <- fifthPage.firstViolatedOrderRules(input.rules)
95+ } yield orderRule,
8496 OrderRule (before = Page (29 ), after = Page (13 )).some
8597 )
8698
87- test(" first violated order rule for small input's sixth update is 75|13" ):
99+ test(" first violated order rule for small input's 6th update is 75|13" ):
88100 assertEquals(
89- Input
90- .parse(smallInput)
91- .flatMap(input => input.updates.toNev.get(5 ).flatMap(_.firstViolatedOrderRules(input.rules))),
101+ for {
102+ input <- Input .parse(smallInput)
103+ sixthPage <- input.updates.toNev.get(5 )
104+ orderRule <- sixthPage.firstViolatedOrderRules(input.rules)
105+ } yield orderRule,
92106 OrderRule (before = Page (75 ), after = Page (13 )).some
93107 )
94108
0 commit comments