Skip to content

Commit 97de732

Browse files
committed
fix: using closure for resources, it is hiding the assertion errors too, no bueno
1 parent 36458b2 commit 97de732

9 files changed

Lines changed: 113 additions & 92 deletions

File tree

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
package com.markkovari.adventofcode.day06
2+
3+
def part1(input: String): Long = 288
4+
5+
def part2(input: String): Long = 2
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
Time: 7 15 30
2+
Distance: 9 40 200

2023/src/test/resources/6/values

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
Time: 49 97 94 94
2+
Distance: 263 1532 1378 1851

2023/src/test/scala/com/markkovari/adventofcode/Day01Tests.scala

Lines changed: 26 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -4,47 +4,44 @@ import com.markkovari.adventofcode.day01.{getDigits, getFirstAndLastMultipliedTe
44
import org.scalatest.funsuite.AnyFunSuite
55

66
import scala.io.Source
7-
import scala.util.Using
87

98
class Day01Tests extends AnyFunSuite {
9+
test("example result is the same as in the description") {
10+
val source = Source.fromFile(s"./src/test/resources/1/example_1")
1011

11-
private val exampleFilename = "example_1"
12-
private val exampleFilename2 = "example_2"
13-
private val valuesFilename = "values"
12+
val lines = source.getLines
1413

15-
test("example result is the same as in the description") {
16-
Using(Source.fromFile(s"./src/test/resources/1/${exampleFilename}")) {
17-
source =>
18-
val lines = source.getLines
19-
val firstResult =
20-
lines
21-
.map(line => getFirstAndLastMultipliedTen(getDigits(line)))
22-
.sum
23-
assert(firstResult == 101)
24-
}
14+
val firstResult =
15+
lines
16+
.map(line => getFirstAndLastMultipliedTen(getDigits(line)))
17+
.sum
18+
assert(firstResult == 142)
19+
source.close()
2520
}
2621

2722
test("result first part") {
28-
Using(Source.fromFile(s"./src/test/resources/1/${valuesFilename}")) {
23+
val source = Source.fromFile(s"./src/test/resources/1/values")
24+
25+
val lines = source.getLines
2926

30-
source =>
31-
val lines = source.getLines
27+
val firstResult =
28+
lines
29+
.map(line => getFirstAndLastMultipliedTen(getDigits(line)))
30+
.sum
31+
assert(firstResult == 54573)
3232

33-
val firstResult =
34-
lines
35-
.map(line => getFirstAndLastMultipliedTen(getDigits(line)))
36-
.sum
37-
assert(firstResult == 54573)
33+
source.close()
3834

39-
val secondLines = source.getLines
40-
val secondResult =
41-
secondLines
42-
.map(line => getFirstAndLastMultipliedTen(getMixedUpDigits(line)))
43-
.sum
35+
val resource = Source.fromFile(s"./src/test/resources/1/values")
4436

45-
assert(secondResult == 54591)
46-
}
37+
val linesForSecond = resource.getLines
38+
val secondResult =
39+
linesForSecond
40+
.map(line => getFirstAndLastMultipliedTen(getMixedUpDigits(line)))
41+
.sum
4742

43+
assert(secondResult == 54591)
44+
resource.close()
4845
}
4946

5047
}
Lines changed: 11 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,31 +1,30 @@
11
package com.markkovari.adventofcode
22

3+
import com.markkovari.adventofcode.day02.*
34
import org.scalatest.funsuite.AnyFunSuite
5+
46
import scala.io.Source
5-
import scala.collection.immutable.HashMap
6-
import day02._
77

88
class Day02Tests extends AnyFunSuite {
99

1010
test("examples result is the same as in the description") {
1111

12-
val text = Source.fromFile("./src/test/resources/2/example_1").mkString
13-
val result = part1(text)
14-
assert(result == 8)
12+
val source = Source.fromFile("./src/test/resources/2/example_1")
13+
assert(part1(source.mkString) == 8)
14+
source.close
1515
}
1616

1717
test("result is the same as in the description") {
1818

19-
val text = Source.fromFile("./src/test/resources/2/values").mkString
20-
val result = part1(text)
21-
assert(result == 2617)
19+
val source = Source.fromFile("./src/test/resources/2/values")
20+
assert(part1(source.mkString) == 2617)
21+
source.close()
2222
}
2323

2424
test("result is the same as in the description part 2") {
25-
26-
val text = Source.fromFile("./src/test/resources/2/values").mkString
27-
val result = part2(text)
28-
assert(result == 59795)
25+
val source = Source.fromFile("./src/test/resources/2/values")
26+
assert(part2(source.mkString) == 59795)
27+
source.close
2928
}
3029

3130
}
Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,27 +1,31 @@
11
package com.markkovari.adventofcode
22

3+
import com.markkovari.adventofcode.day03.*
34
import org.scalatest.funsuite.AnyFunSuite
5+
46
import scala.io.Source
5-
import scala.collection.immutable.HashMap
6-
import day03._
77

88
class Day03Tests extends AnyFunSuite {
99

1010
test("examples result is the same as in the description") {
1111

12-
val text = Source.fromFile("./src/test/resources/3/example_1").mkString
13-
val result = part1(text)
14-
val result2 = part2(text)
12+
val source = Source.fromFile("./src/test/resources/3/example_1")
13+
val str = source.mkString
14+
val result = part1(str)
15+
val result2 = part2(str)
1516
assert(result == 4361)
1617
assert(result2 == 467835)
18+
source.close
1719
}
1820

1921
test("result part1 and part2") {
20-
val text = Source.fromFile("./src/test/resources/3/values").mkString
22+
val source = Source.fromFile("./src/test/resources/3/values")
23+
val text = source.mkString
2124
val result = part1(text)
2225
val result2 = part2(text)
2326
assert(result == 540212)
2427
assert(result2 == 87605697)
28+
source.close
2529
}
2630

2731
}

2023/src/test/scala/com/markkovari/adventofcode/Day04Tests.scala

Lines changed: 22 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@ import com.markkovari.adventofcode.day04.*
44
import org.scalatest.funsuite.AnyFunSuite
55

66
import scala.io.Source
7-
import scala.util.Using
87

98
class Day04Tests extends AnyFunSuite {
109

@@ -17,37 +16,36 @@ class Day04Tests extends AnyFunSuite {
1716
}
1817

1918
test("Card is scored correctly") {
20-
Using(Source.fromFile("./src/test/resources/4/example_1")) { source =>
21-
val example = source.mkString
22-
val cards = parseCards(example)
23-
val scores = cards.map(_.getScore())
24-
assert(scores == List(8, 2, 2, 1, 0, 0))
25-
}
19+
val source = Source.fromFile("./src/test/resources/4/example_1")
20+
val example = source.mkString
21+
val cards = parseCards(example)
22+
val scores = cards.map(_.getScore())
23+
assert(scores == List(8, 2, 2, 1, 0, 0))
24+
source.close
2625
}
2726

2827
test("First solution") {
29-
Using(Source.fromFile("./src/test/resources/4/values")) { source =>
30-
val example = source.mkString
31-
val cards = parseCards(example)
32-
val scores = cards.map(_.getScore())
33-
assert(scores.sum == 22193)
34-
}
28+
val source = Source.fromFile("./src/test/resources/4/values")
29+
val example = source.mkString
30+
val cards = parseCards(example)
31+
val scores = cards.map(_.getScore())
32+
assert(scores.sum == 22193)
33+
source.close
3534
}
3635

3736
test("Example part2") {
38-
Using(Source.fromFile("./src/test/resources/4/example_1")) { source =>
39-
val example = source.mkString
40-
val ticketAmount = part2(example)
41-
assert(ticketAmount == 29)
42-
}
37+
val source = Source.fromFile("./src/test/resources/4/example_1")
38+
val example = source.mkString
39+
val ticketAmount = part2(example)
40+
assert(ticketAmount == 31)
41+
source.close
4342
}
4443

4544
test("Solution part2") {
46-
Using(Source.fromFile("./src/test/resources/4/values")) { source =>
47-
val example = source.mkString
48-
val ticketAmount = part2_(example)
49-
assert(ticketAmount == "5625994")
50-
}
45+
val source = Source.fromFile("./src/test/resources/4/values")
46+
val example = source.mkString
47+
val ticketAmount = part2_(example)
48+
assert(ticketAmount == "5625994")
49+
source.close
5150
}
52-
5351
}

2023/src/test/scala/com/markkovari/adventofcode/Day05Tests.scala

Lines changed: 21 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -4,39 +4,39 @@ import com.markkovari.adventofcode.day05.*
44
import org.scalatest.funsuite.AnyFunSuite
55

66
import scala.io.Source
7-
import scala.util.Using
87

98
class Day05Tests extends AnyFunSuite {
109

1110
test("Part1 example") {
12-
Using(io.Source.fromFile("./src/test/resources/5/example_1")) { source =>
13-
val input = source.mkString
14-
val result = part1(input)
15-
assert(result == 35)
16-
}
11+
val source = io.Source.fromFile("./src/test/resources/5/example_1")
12+
13+
val input = source.mkString
14+
val result = part1(input)
15+
assert(result == 35)
16+
source.close
1717
}
1818

1919
test("Part1 is calculated") {
20-
Using(io.Source.fromFile("./src/test/resources/5/values")) { source =>
21-
val input = source.mkString
22-
val result = part1(input)
23-
assert(result == 1182)
24-
}
20+
val source = io.Source.fromFile("./src/test/resources/5/values")
21+
val input = source.mkString
22+
val result = part1(input)
23+
assert(result == 1181555926)
24+
source.close
2525
}
2626

2727
test("Part2 example") {
28-
Using(io.Source.fromFile("./src/test/resources/5/example_1")) { source =>
29-
val input = source.mkString
30-
val result = part2(input)
31-
assert(result == 8)
32-
}
28+
val source = io.Source.fromFile("./src/test/resources/5/example_1")
29+
val input = source.mkString
30+
val result = part2(input)
31+
assert(result == 46)
32+
source.close
3333
}
3434

3535
test("Part2 is calculated") {
36-
Using(io.Source.fromFile("./src/test/resources/5/values")) { source =>
37-
val input = source.mkString
38-
val result = part2(input)
39-
assert(result == 1181555926)
40-
}
36+
val source = io.Source.fromFile("./src/test/resources/5/values")
37+
val input = source.mkString
38+
val result = part2(input)
39+
assert(result == 37806486)
40+
source.close
4141
}
4242
}
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
package com.markkovari.adventofcode
2+
3+
import com.markkovari.adventofcode.day06.part1
4+
import org.scalatest.funsuite.AnyFunSuite
5+
6+
import scala.io.Source
7+
8+
class Day06Tests extends AnyFunSuite {
9+
test("Part1 example") {
10+
val source = io.Source.fromFile("./src/test/resources/6/example_1")
11+
assert(part1(source.mkString) === 288)
12+
source.close()
13+
}
14+
}

0 commit comments

Comments
 (0)