Day 9
All checks were successful
ci/woodpecker/push/build Pipeline was successful
ci/woodpecker/push/all-checks-complete Pipeline was successful
ci/woodpecker/pr/build Pipeline was successful
ci/woodpecker/pr/all-checks-complete Pipeline was successful

This commit is contained in:
Smaug123
2023-12-09 09:37:18 +00:00
parent 471273633c
commit d881a7e878
12 changed files with 222 additions and 107 deletions

View File

@@ -1,45 +1,46 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net8.0</TargetFramework>
<PropertyGroup>
<TargetFramework>net8.0</TargetFramework>
<IsPackable>false</IsPackable>
<IsTestProject>true</IsTestProject>
</PropertyGroup>
<IsPackable>false</IsPackable>
<IsTestProject>true</IsTestProject>
</PropertyGroup>
<ItemGroup>
<Compile Include="Util.fs" />
<Compile Include="TestDay1.fs" />
<Compile Include="TestDay2.fs" />
<Compile Include="TestDay3.fs" />
<Compile Include="TestDay4.fs" />
<Compile Include="TestDay5.fs" />
<Compile Include="TestDay6.fs" />
<Compile Include="TestDay7.fs" />
<Compile Include="TestDay8.fs" />
<Compile Include="TestDay9.fs" />
<EmbeddedResource Include="samples\day1.txt" />
<EmbeddedResource Include="samples\day1part1.txt" />
<EmbeddedResource Include="samples\day2.txt" />
<EmbeddedResource Include="samples\day3.txt" />
<EmbeddedResource Include="samples\day4.txt" />
<EmbeddedResource Include="samples\day5.txt" />
<EmbeddedResource Include="samples\day6.txt" />
<EmbeddedResource Include="samples\day7.txt" />
<EmbeddedResource Include="samples\day8part1.txt" />
<EmbeddedResource Include="samples\day8.txt" />
</ItemGroup>
<ItemGroup>
<Compile Include="Util.fs"/>
<Compile Include="TestDay1.fs"/>
<Compile Include="TestDay2.fs"/>
<Compile Include="TestDay3.fs"/>
<Compile Include="TestDay4.fs"/>
<Compile Include="TestDay5.fs"/>
<Compile Include="TestDay6.fs"/>
<Compile Include="TestDay7.fs"/>
<Compile Include="TestDay8.fs"/>
<Compile Include="TestDay9.fs"/>
<EmbeddedResource Include="samples\day1.txt"/>
<EmbeddedResource Include="samples\day1part1.txt"/>
<EmbeddedResource Include="samples\day2.txt"/>
<EmbeddedResource Include="samples\day3.txt"/>
<EmbeddedResource Include="samples\day4.txt"/>
<EmbeddedResource Include="samples\day5.txt"/>
<EmbeddedResource Include="samples\day6.txt"/>
<EmbeddedResource Include="samples\day7.txt"/>
<EmbeddedResource Include="samples\day8part1.txt"/>
<EmbeddedResource Include="samples\day8.txt"/>
<EmbeddedResource Include="samples\day9.txt"/>
</ItemGroup>
<ItemGroup>
<PackageReference Include="FsUnit" Version="5.6.1" />
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.6.0"/>
<PackageReference Include="NUnit3TestAdapter" Version="4.2.1"/>
<PackageReference Include="NUnit.Analyzers" Version="3.6.1"/>
<PackageReference Include="coverlet.collector" Version="6.0.0"/>
</ItemGroup>
<ItemGroup>
<PackageReference Include="FsUnit" Version="5.6.1"/>
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.6.0"/>
<PackageReference Include="NUnit3TestAdapter" Version="4.2.1"/>
<PackageReference Include="NUnit.Analyzers" Version="3.6.1"/>
<PackageReference Include="coverlet.collector" Version="6.0.0"/>
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\AdventOfCode2023.FSharp.Lib\AdventOfCode2023.FSharp.Lib.fsproj" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\AdventOfCode2023.FSharp.Lib\AdventOfCode2023.FSharp.Lib.fsproj"/>
</ItemGroup>
</Project>

View File

@@ -1,6 +1,5 @@
namespace AdventOfCode2023.Test
open System
open AdventOfCode2023
open NUnit.Framework
open FsUnitTyped

View File

@@ -1,6 +1,5 @@
namespace AdventOfCode2023.Test
open System
open AdventOfCode2023
open NUnit.Framework
open FsUnitTyped

View File

@@ -1,6 +1,5 @@
namespace AdventOfCode2023.Test
open System
open AdventOfCode2023
open NUnit.Framework
open FsUnitTyped

View File

@@ -12,15 +12,13 @@ module TestDay9 =
[<Test>]
let part1Sample () =
sample
|> Day9.part1
|> shouldEqual 2
sample |> Day9.part1 |> shouldEqual 114L
[<Test>]
let part2Sample () =
Assembly.getEmbeddedResource typeof<Dummy>.Assembly "day9.txt"
|> Day9.part2
|> shouldEqual 0
|> shouldEqual 2L
[<Test>]
let part1Actual () =
@@ -33,7 +31,7 @@ module TestDay9 =
Assert.Inconclusive ()
failwith "unreachable"
Day8.part1 s |> shouldEqual 0
Day9.part1 s |> shouldEqual 1898776583L
[<Test>]
let part2Actual () =
@@ -46,4 +44,4 @@ module TestDay9 =
Assert.Inconclusive ()
failwith "unreachable"
Day8.part2 s |> shouldEqual 0
Day9.part2 s |> shouldEqual 1100L

View File

@@ -0,0 +1,3 @@
0 3 6 9 12 15
1 3 6 10 15 21
10 13 16 21 30 45