-
Notifications
You must be signed in to change notification settings - Fork 0
/
Day02Spec.scala
83 lines (63 loc) · 1.97 KB
/
Day02Spec.scala
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
76
77
78
79
80
81
82
83
package com.kensai.aoc.aoc2022
import com.kensai.aoc.aoc2022.Day02._
import com.kensai.aoc.lib.Lib.readInputLines
import org.junit.runner.RunWith
import org.scalatest._
import org.scalatest.flatspec._
import org.scalatest.matchers.should.Matchers._
import org.scalatestplus.junit.JUnitRunner
@RunWith(classOf[JUnitRunner])
class Day02Spec extends AnyFlatSpec with GivenWhenThen {
private lazy val puzzleInput = readInputLines(
"src/test/resources/2022/Day02.input"
)
private lazy val puzzleSpecInput = readInputLines(
"src/test/resources/2022/Day02Spec.input"
)
"parse1" should "find result from spec input" in {
Given("Puzzle spec input")
When("parse(input")
val result = parse1(puzzleSpecInput)
Then("Result is expected")
result.head shouldBe Round(Rock, Paper)
result(1) shouldBe Round(Paper, Rock)
result(2) shouldBe Round(Scissors, Scissors)
result should have size 3
}
"compute1" should "find result from spec input" in {
// GIVEN: input
Given("Puzzle Spec input")
val rounds = parse1(puzzleSpecInput)
When("computeScore(rounds)")
val result = computeScore(rounds)
Then("Result is 15")
result shouldBe 15
}
"compute1" should "find result from input" in {
// GIVEN: input
Given("Puzzle input")
val rounds = parse1(puzzleInput)
When("computeScore(rounds)")
val result = computeScore(rounds)
Then("Result is expected")
result shouldBe 11449
}
"compute2" should "find result from spec input" in {
// GIVEN: input
Given("Puzzle Spec input")
val rounds = parse2(puzzleSpecInput)
When("computeScore(rounds)")
val result = computeScore(rounds)
Then("Result is 12")
result shouldBe 12
}
"compute2" should "find result from input" in {
// GIVEN: input
Given("Puzzle input")
val rounds = parse2(puzzleInput)
When("computeScore(rounds)")
val result = computeScore(rounds)
Then("Result is expected")
result shouldBe 13187
}
}