diff --git a/.woodpecker/.build.yml b/.woodpecker/.build.yml
index 689899e..363e290 100644
--- a/.woodpecker/.build.yml
+++ b/.woodpecker/.build.yml
@@ -8,7 +8,8 @@ steps:
# Test
- nix develop --command dotnet test AdventOfCode2023.FSharp
- nix develop --command dotnet test AdventOfCode2023.FSharp --configuration Release
- - nix develop --command dotnet publish AdventOfCode2023.FSharp/AdventOfCode2023.FSharp/AdventOfCode2023.FSharp --configuration Release
+ - nix develop --command dotnet publish AdventOfCode2023.FSharp/AdventOfCode2023.FSharp/AdventOfCode2023.FSharp.fsproj --configuration Release
+ - nix develop --command sh -c "$(find . -type f -name AdventOfCode2023.FSharp | grep Release | grep publish) AdventOfCode2023.FSharp/Test/samples"
- nix develop --command alejandra --check .
when:
diff --git a/AdventOfCode2023.FSharp/Test/Test.fsproj b/AdventOfCode2023.FSharp/Test/Test.fsproj
index 4c64424..9d58fdc 100644
--- a/AdventOfCode2023.FSharp/Test/Test.fsproj
+++ b/AdventOfCode2023.FSharp/Test/Test.fsproj
@@ -8,9 +8,14 @@
+
+
+
+
+
diff --git a/AdventOfCode2023.FSharp/Test/TestDay1.fs b/AdventOfCode2023.FSharp/Test/TestDay1.fs
index 5d003e6..dc95439 100644
--- a/AdventOfCode2023.FSharp/Test/TestDay1.fs
+++ b/AdventOfCode2023.FSharp/Test/TestDay1.fs
@@ -8,26 +8,13 @@ open System.IO
[]
module TestDay1 =
- let sample1 =
- """1abc2
-pqr3stu8vwx
-a1b2c3d4e5f
-treb7uchet
-"""
+ let sample1 = Assembly.getEmbeddedResource typeof.Assembly "day1part1.txt"
[]
let part1Sample () =
sample1 |> Day1.part1 |> shouldEqual 142
- let sample2 =
- """two1nine
-eightwothree
-abcone2threexyz
-xtwone3four
-4nineeightseven2
-zoneight234
-7pqrstsixteen
-"""
+ let sample2 = Assembly.getEmbeddedResource typeof.Assembly "day1.txt"
[]
let part2Sample () =
diff --git a/AdventOfCode2023.FSharp/Test/TestDay2.fs b/AdventOfCode2023.FSharp/Test/TestDay2.fs
index 4624da5..09ff309 100644
--- a/AdventOfCode2023.FSharp/Test/TestDay2.fs
+++ b/AdventOfCode2023.FSharp/Test/TestDay2.fs
@@ -8,13 +8,7 @@ open System.IO
[]
module TestDay2 =
- let sample =
- """Game 1: 3 blue, 4 red; 1 red, 2 green, 6 blue; 2 green
-Game 2: 1 blue, 2 green; 3 green, 4 blue, 1 red; 1 green, 1 blue
-Game 3: 8 green, 6 blue, 20 red; 5 blue, 4 red, 13 green; 5 green, 1 red
-Game 4: 1 green, 3 red, 6 blue; 3 green, 6 red; 3 green, 15 blue, 14 red
-Game 5: 6 red, 1 blue, 3 green; 2 blue, 1 red, 2 green
-"""
+ let sample = Assembly.getEmbeddedResource typeof.Assembly "day2.txt"
[]
let part1Sample () = sample |> Day2.part1 |> shouldEqual 8
diff --git a/AdventOfCode2023.FSharp/Test/TestDay3.fs b/AdventOfCode2023.FSharp/Test/TestDay3.fs
index f709d20..c8ecd79 100644
--- a/AdventOfCode2023.FSharp/Test/TestDay3.fs
+++ b/AdventOfCode2023.FSharp/Test/TestDay3.fs
@@ -13,18 +13,7 @@ open System.IO
[]
module TestDay3 =
- let sample =
- """467..114..
-...*......
-..35..633.
-......#...
-617*......
-.....+.58.
-..592.....
-......755.
-...$.*....
-.664.598..
-"""
+ let sample = Assembly.getEmbeddedResource typeof.Assembly "day3.txt"
[]
let part1Sample () =
diff --git a/AdventOfCode2023.FSharp/Test/Util.fs b/AdventOfCode2023.FSharp/Test/Util.fs
new file mode 100644
index 0000000..49b87e5
--- /dev/null
+++ b/AdventOfCode2023.FSharp/Test/Util.fs
@@ -0,0 +1,21 @@
+namespace AdventOfCode2023.Test
+
+open System.IO
+open System.Reflection
+
+type Dummy = class end
+
+[]
+module Assembly =
+ let getEmbeddedResource (assembly : Assembly) (name : string) : string =
+ let names = assembly.GetManifestResourceNames ()
+ let names = names |> Seq.filter (fun s -> s.EndsWith name)
+
+ use s =
+ names
+ |> Seq.exactlyOne
+ |> assembly.GetManifestResourceStream
+ |> fun s -> new StreamReader (s)
+
+ s.ReadToEnd ()
+
diff --git a/AdventOfCode2023.FSharp/Test/samples/day1.txt b/AdventOfCode2023.FSharp/Test/samples/day1.txt
new file mode 100644
index 0000000..41aa89c
--- /dev/null
+++ b/AdventOfCode2023.FSharp/Test/samples/day1.txt
@@ -0,0 +1,7 @@
+two1nine
+eightwothree
+abcone2threexyz
+xtwone3four
+4nineeightseven2
+zoneight234
+7pqrstsixteen
diff --git a/AdventOfCode2023.FSharp/Test/samples/day1part1.txt b/AdventOfCode2023.FSharp/Test/samples/day1part1.txt
new file mode 100644
index 0000000..7bbc69a
--- /dev/null
+++ b/AdventOfCode2023.FSharp/Test/samples/day1part1.txt
@@ -0,0 +1,4 @@
+1abc2
+pqr3stu8vwx
+a1b2c3d4e5f
+treb7uchet
diff --git a/AdventOfCode2023.FSharp/Test/samples/day2.txt b/AdventOfCode2023.FSharp/Test/samples/day2.txt
new file mode 100644
index 0000000..295c36d
--- /dev/null
+++ b/AdventOfCode2023.FSharp/Test/samples/day2.txt
@@ -0,0 +1,5 @@
+Game 1: 3 blue, 4 red; 1 red, 2 green, 6 blue; 2 green
+Game 2: 1 blue, 2 green; 3 green, 4 blue, 1 red; 1 green, 1 blue
+Game 3: 8 green, 6 blue, 20 red; 5 blue, 4 red, 13 green; 5 green, 1 red
+Game 4: 1 green, 3 red, 6 blue; 3 green, 6 red; 3 green, 15 blue, 14 red
+Game 5: 6 red, 1 blue, 3 green; 2 blue, 1 red, 2 green
diff --git a/AdventOfCode2023.FSharp/Test/samples/day3.txt b/AdventOfCode2023.FSharp/Test/samples/day3.txt
new file mode 100644
index 0000000..b20187f
--- /dev/null
+++ b/AdventOfCode2023.FSharp/Test/samples/day3.txt
@@ -0,0 +1,10 @@
+467..114..
+...*......
+..35..633.
+......#...
+617*......
+.....+.58.
+..592.....
+......755.
+...$.*....
+.664.598..