From c0943d392ab178bc68585fa40dabe6a26957593f Mon Sep 17 00:00:00 2001 From: Ummon Date: Fri, 15 Dec 2017 15:45:36 +0100 Subject: [PATCH] Rename DayX to Day0X --- AdventOfCode2017/AdventOfCode2017.fsproj | 43 ++++++++------ AdventOfCode2017/{Day1.fs => Day01.fs} | 2 +- AdventOfCode2017/{Day2.fs => Day02.fs} | 2 +- AdventOfCode2017/{Day3.fs => Day03.fs} | 2 +- AdventOfCode2017/{Day4.fs => Day04.fs} | 2 +- AdventOfCode2017/{Day5.fs => Day05.fs} | 2 +- AdventOfCode2017/{Day6.fs => Day06.fs} | 2 +- AdventOfCode2017/{Day7.fs => Day07.fs} | 2 +- AdventOfCode2017/{Day8.fs => Day08.fs} | 2 +- AdventOfCode2017/{Day9.fs => Day09.fs} | 2 +- AdventOfCode2017/Program.fs | 76 ++++++++++++------------ Tests/Day01 tests.fs | 24 ++++++++ Tests/{Day2 tests.fs => Day02 tests.fs} | 6 +- Tests/Day03 tests.fs | 26 ++++++++ Tests/Day04 tests.fs | 23 +++++++ Tests/{Day5 tests.fs => Day05 tests.fs} | 6 +- Tests/{Day6 tests.fs => Day06 tests.fs} | 6 +- Tests/{Day7 tests.fs => Day07 tests.fs} | 12 ++-- Tests/{Day8 tests.fs => Day08 tests.fs} | 6 +- Tests/Day09 tests.fs | 30 ++++++++++ Tests/Day1 tests.fs | 24 -------- Tests/Day3 tests.fs | 26 -------- Tests/Day4 tests.fs | 23 ------- Tests/Day9 tests.fs | 30 ---------- Tests/Tests.fsproj | 18 +++--- 25 files changed, 202 insertions(+), 195 deletions(-) rename AdventOfCode2017/{Day1.fs => Day01.fs} (92%) rename AdventOfCode2017/{Day2.fs => Day02.fs} (94%) rename AdventOfCode2017/{Day3.fs => Day03.fs} (97%) rename AdventOfCode2017/{Day4.fs => Day04.fs} (94%) rename AdventOfCode2017/{Day5.fs => Day05.fs} (94%) rename AdventOfCode2017/{Day6.fs => Day06.fs} (97%) rename AdventOfCode2017/{Day7.fs => Day07.fs} (97%) rename AdventOfCode2017/{Day8.fs => Day08.fs} (97%) rename AdventOfCode2017/{Day9.fs => Day09.fs} (94%) create mode 100644 Tests/Day01 tests.fs rename Tests/{Day2 tests.fs => Day02 tests.fs} (70%) create mode 100644 Tests/Day03 tests.fs create mode 100644 Tests/Day04 tests.fs rename Tests/{Day5 tests.fs => Day05 tests.fs} (59%) rename Tests/{Day6 tests.fs => Day06 tests.fs} (59%) rename Tests/{Day7 tests.fs => Day07 tests.fs} (85%) rename Tests/{Day8 tests.fs => Day08 tests.fs} (79%) create mode 100644 Tests/Day09 tests.fs delete mode 100644 Tests/Day1 tests.fs delete mode 100644 Tests/Day3 tests.fs delete mode 100644 Tests/Day4 tests.fs delete mode 100644 Tests/Day9 tests.fs diff --git a/AdventOfCode2017/AdventOfCode2017.fsproj b/AdventOfCode2017/AdventOfCode2017.fsproj index 6571eca..a63b01a 100644 --- a/AdventOfCode2017/AdventOfCode2017.fsproj +++ b/AdventOfCode2017/AdventOfCode2017.fsproj @@ -37,7 +37,8 @@ AnyCPU bin\$(Configuration)\$(AssemblyName).XML true - 15 + + 11 @@ -57,15 +58,15 @@ - - - - - - - - - + + + + + + + + + @@ -75,28 +76,34 @@ - + + PreserveNewest + + + PreserveNewest + + PreserveNewest - + PreserveNewest - + PreserveNewest - + PreserveNewest - + PreserveNewest - + PreserveNewest - + PreserveNewest - + PreserveNewest diff --git a/AdventOfCode2017/Day1.fs b/AdventOfCode2017/Day01.fs similarity index 92% rename from AdventOfCode2017/Day1.fs rename to AdventOfCode2017/Day01.fs index 79e523b..2c7cc52 100644 --- a/AdventOfCode2017/Day1.fs +++ b/AdventOfCode2017/Day01.fs @@ -1,4 +1,4 @@ -module AdventOfCode2017.Day1 +module AdventOfCode2017.Day01 let readDigit d = int d - int '0' diff --git a/AdventOfCode2017/Day2.fs b/AdventOfCode2017/Day02.fs similarity index 94% rename from AdventOfCode2017/Day2.fs rename to AdventOfCode2017/Day02.fs index bd91ef4..0b4ba73 100644 --- a/AdventOfCode2017/Day2.fs +++ b/AdventOfCode2017/Day02.fs @@ -1,4 +1,4 @@ -module AdventOfCode2017.Day2 +module AdventOfCode2017.Day02 open System diff --git a/AdventOfCode2017/Day3.fs b/AdventOfCode2017/Day03.fs similarity index 97% rename from AdventOfCode2017/Day3.fs rename to AdventOfCode2017/Day03.fs index 71e57b6..a9f6094 100644 --- a/AdventOfCode2017/Day3.fs +++ b/AdventOfCode2017/Day03.fs @@ -1,4 +1,4 @@ -module AdventOfCode2017.Day3 +module AdventOfCode2017.Day03 let directions = [| 1, 0; 0, 1; -1, 0; 0, -1 |] diff --git a/AdventOfCode2017/Day4.fs b/AdventOfCode2017/Day04.fs similarity index 94% rename from AdventOfCode2017/Day4.fs rename to AdventOfCode2017/Day04.fs index fdab92f..627b8aa 100644 --- a/AdventOfCode2017/Day4.fs +++ b/AdventOfCode2017/Day04.fs @@ -1,4 +1,4 @@ -module AdventOfCode2017.Day4 +module AdventOfCode2017.Day04 let forallDistinctPairs (f : string -> string -> bool) (pp : string) = let words = pp.Split ' ' diff --git a/AdventOfCode2017/Day5.fs b/AdventOfCode2017/Day05.fs similarity index 94% rename from AdventOfCode2017/Day5.fs rename to AdventOfCode2017/Day05.fs index dea50e3..bc07fbc 100644 --- a/AdventOfCode2017/Day5.fs +++ b/AdventOfCode2017/Day05.fs @@ -1,4 +1,4 @@ -module AdventOfCode2017.Day5 +module AdventOfCode2017.Day05 open System diff --git a/AdventOfCode2017/Day6.fs b/AdventOfCode2017/Day06.fs similarity index 97% rename from AdventOfCode2017/Day6.fs rename to AdventOfCode2017/Day06.fs index 113c47d..43cf2bc 100644 --- a/AdventOfCode2017/Day6.fs +++ b/AdventOfCode2017/Day06.fs @@ -1,4 +1,4 @@ -module AdventOfCode2017.Day6 +module AdventOfCode2017.Day06 open System diff --git a/AdventOfCode2017/Day7.fs b/AdventOfCode2017/Day07.fs similarity index 97% rename from AdventOfCode2017/Day7.fs rename to AdventOfCode2017/Day07.fs index 6f312f7..4321b87 100644 --- a/AdventOfCode2017/Day7.fs +++ b/AdventOfCode2017/Day07.fs @@ -1,4 +1,4 @@ -module AdventOfCode2017.Day7 +module AdventOfCode2017.Day07 open System open System.Linq diff --git a/AdventOfCode2017/Day8.fs b/AdventOfCode2017/Day08.fs similarity index 97% rename from AdventOfCode2017/Day8.fs rename to AdventOfCode2017/Day08.fs index b9f6789..24dfbbd 100644 --- a/AdventOfCode2017/Day8.fs +++ b/AdventOfCode2017/Day08.fs @@ -1,4 +1,4 @@ -module AdventOfCode2017.Day8 +module AdventOfCode2017.Day08 open System diff --git a/AdventOfCode2017/Day9.fs b/AdventOfCode2017/Day09.fs similarity index 94% rename from AdventOfCode2017/Day9.fs rename to AdventOfCode2017/Day09.fs index 0931607..53d6672 100644 --- a/AdventOfCode2017/Day9.fs +++ b/AdventOfCode2017/Day09.fs @@ -1,4 +1,4 @@ -module AdventOfCode2017.Day9 +module AdventOfCode2017.Day09 let score (input : string) = let rec next (l : int) (lSum : int) (gb : bool) (gbSize : int) = diff --git a/AdventOfCode2017/Program.fs b/AdventOfCode2017/Program.fs index d69d9bb..fb0db9c 100644 --- a/AdventOfCode2017/Program.fs +++ b/AdventOfCode2017/Program.fs @@ -3,48 +3,48 @@ open System.IO open System -let day1 () = - let captcha = File.ReadAllText "Data/day1.input" |> Day1.parseInput - sprintf "part1 = %A, part2 = %A" (Day1.solveCaptcha1 captcha) (Day1.solveCaptcha2 captcha) +let day01 () = + let captcha = File.ReadAllText "Data/day01.input" |> Day01.parseInput + sprintf "part1 = %A, part2 = %A" (Day01.solveCaptcha1 captcha) (Day01.solveCaptcha2 captcha) -let day2 () = - let array = File.ReadAllText "Data/day2.input" |> Day2.parseInput - sprintf "part1 = %A, part2 = %A" (Day2.checksum1 array) (Day2.checksum2 array) +let day02 () = + let array = File.ReadAllText "Data/day02.input" |> Day02.parseInput + sprintf "part1 = %A, part2 = %A" (Day02.checksum1 array) (Day02.checksum2 array) -let day3 () = - let input = 325489 - sprintf "part1 = %A, part2 = %A" (Day3.spiralManhattanDistanceSum input) (Day3.spiralAdjacentSumBiggerThan input) +let day03 () = + let input = File.ReadAllText "Data/day03.input" |> int + sprintf "part1 = %A, part2 = %A" (Day03.spiralManhattanDistanceSum input) (Day03.spiralAdjacentSumBiggerThan input) -let day4 () = - let input = File.ReadAllLines "Data/day4.input" - sprintf "part1 = %A, part2 = %A" (Day4.nbPassphrasesValid Day4.passphraseValid input) (Day4.nbPassphrasesValid Day4.passphraseValidAnagram input) +let day04 () = + let input = File.ReadAllLines "Data/day04.input" + sprintf "part1 = %A, part2 = %A" (Day04.nbPassphrasesValid Day04.passphraseValid input) (Day04.nbPassphrasesValid Day04.passphraseValidAnagram input) -let day5 () = - let input = File.ReadAllText "Data/day5.input" |> Day5.parseInput - sprintf "part1 = %A, part2 = %A" (Day5.nbSteps1 input) (Day5.nbSteps2 input) +let day05 () = + let input = File.ReadAllText "Data/day05.input" |> Day05.parseInput + sprintf "part1 = %A, part2 = %A" (Day05.nbSteps1 input) (Day05.nbSteps2 input) -let day6 () = - let input = File.ReadAllText "Data/day6.input" |> Day6.parseInput - let part1, part2 = Day6.nbRedistribution input +let day06 () = + let input = File.ReadAllText "Data/day06.input" |> Day06.parseInput + let part1, part2 = Day06.nbRedistribution input sprintf "part1 = %A, part2 = %A" part1 part2 -let day7 () = - let input = File.ReadAllLines "Data/day7.input" |> List.ofArray |> Day7.parseInput - let tower = Day7.buildTower input - sprintf "part1 = %A, part2 = %A" tower.Name (Day7.findUnbalanced tower |> Option.map (fun (t, w) -> t.Name, w)) +let day07 () = + let input = File.ReadAllLines "Data/day07.input" |> List.ofArray |> Day07.parseInput + let tower = Day07.buildTower input + sprintf "part1 = %A, part2 = %A" tower.Name (Day07.findUnbalanced tower |> Option.map (fun (t, w) -> t.Name, w)) -let day8 () = - let input = File.ReadAllLines "Data/day8.input" |> Day8.parseInput - let part1, part2 = Day8.execute input +let day08 () = + let input = File.ReadAllLines "Data/day08.input" |> Day08.parseInput + let part1, part2 = Day08.execute input sprintf "part1 = %A, part2 = %A" part1 part2 -let day9 () = - let input = File.ReadAllText "Data/day9.input" - let part1, part2 = Day9.score input +let day09 () = + let input = File.ReadAllText "Data/day09.input" + let part1, part2 = Day09.score input sprintf "part1 = %A, part2 = %A" part1 part2 let day10 () = - let input = "83,0,193,1,254,237,187,40,88,27,2,255,149,29,42,100" + let input = File.ReadAllText "Data/day10.input" sprintf "part1 = %A, part2 = %A" (Day10.knotHash1 input 256) (Day10.knotHash2 input) let day11 () = @@ -76,15 +76,15 @@ let doDay (n : int) = sw.Start () let result = match n with - | 1 -> day1 () - | 2 -> day2 () - | 3 -> day3 () - | 4 -> day4 () - | 5 -> day5 () - | 6 -> day6 () - | 7 -> day7 () - | 8 -> day8 () - | 9 -> day9 () + | 1 -> day01 () + | 2 -> day02 () + | 3 -> day03 () + | 4 -> day04 () + | 5 -> day05 () + | 6 -> day06 () + | 7 -> day07 () + | 8 -> day08 () + | 9 -> day09 () | 10 -> day10 () | 11 -> day11 () | 12 -> day12 () diff --git a/Tests/Day01 tests.fs b/Tests/Day01 tests.fs new file mode 100644 index 0000000..543c902 --- /dev/null +++ b/Tests/Day01 tests.fs @@ -0,0 +1,24 @@ +namespace AdventOfCode2017.Tests + +open Xunit +open Xunit.Abstractions +open Swensen.Unquote + +open AdventOfCode2017 + +type ``Day01 tests`` (output : ITestOutputHelper) = + + [] + let ``(Part1) From web page`` () = + Day01.solveCaptcha1 (Day01.parseInput "1122") =! 3 + Day01.solveCaptcha1 (Day01.parseInput "1111") =! 4 + Day01.solveCaptcha1 (Day01.parseInput "1234") =! 0 + Day01.solveCaptcha1 (Day01.parseInput "91212129") =! 9 + + [] + let ``(Part2) From web page`` () = + Day01.solveCaptcha2 (Day01.parseInput "1212") =! 6 + Day01.solveCaptcha2 (Day01.parseInput "1221") =! 0 + Day01.solveCaptcha2 (Day01.parseInput "123425") =! 4 + Day01.solveCaptcha2 (Day01.parseInput "123123") =! 12 + Day01.solveCaptcha2 (Day01.parseInput "12131415") =! 4 diff --git a/Tests/Day2 tests.fs b/Tests/Day02 tests.fs similarity index 70% rename from Tests/Day2 tests.fs rename to Tests/Day02 tests.fs index 18bedfc..df49709 100644 --- a/Tests/Day2 tests.fs +++ b/Tests/Day02 tests.fs @@ -6,7 +6,7 @@ open Swensen.Unquote open AdventOfCode2017 -type ``Day2 tests`` (output : ITestOutputHelper) = +type ``Day02 tests`` (output : ITestOutputHelper) = [] let ``(Part1) From web page`` () = @@ -14,7 +14,7 @@ type ``Day2 tests`` (output : ITestOutputHelper) = "5 1 9 5 7 5 3 2 4 6 8" - Day2.checksum1 (Day2.parseInput input) =! 18 + Day02.checksum1 (Day02.parseInput input) =! 18 [] let ``(Part2) From web page`` () = @@ -22,4 +22,4 @@ type ``Day2 tests`` (output : ITestOutputHelper) = "5 9 2 8 9 4 7 3 3 8 6 5" - Day2.checksum2 (Day2.parseInput input) =! 9 \ No newline at end of file + Day02.checksum2 (Day02.parseInput input) =! 9 \ No newline at end of file diff --git a/Tests/Day03 tests.fs b/Tests/Day03 tests.fs new file mode 100644 index 0000000..bd057e7 --- /dev/null +++ b/Tests/Day03 tests.fs @@ -0,0 +1,26 @@ +namespace AdventOfCode2017.Tests + +open Xunit +open Xunit.Abstractions +open Swensen.Unquote + +open AdventOfCode2017 + +type ``Day03 tests`` (output : ITestOutputHelper) = + + [] + let ``(Part1) From web page`` () = + Day03.spiralManhattanDistanceSum 12 =! 3 + Day03.spiralManhattanDistanceSum 23 =! 2 + Day03.spiralManhattanDistanceSum 1024 =! 31 + + [] + let ``(Part2) From web page`` () = + Day03.spiralAdjacentSumBiggerThan 1 =! 2 + Day03.spiralAdjacentSumBiggerThan 2 =! 4 + Day03.spiralAdjacentSumBiggerThan 3 =! 4 + Day03.spiralAdjacentSumBiggerThan 4 =! 5 + Day03.spiralAdjacentSumBiggerThan 5 =! 10 + Day03.spiralAdjacentSumBiggerThan 20 =! 23 + Day03.spiralAdjacentSumBiggerThan 100 =! 122 + Day03.spiralAdjacentSumBiggerThan 500 =! 747 \ No newline at end of file diff --git a/Tests/Day04 tests.fs b/Tests/Day04 tests.fs new file mode 100644 index 0000000..4278661 --- /dev/null +++ b/Tests/Day04 tests.fs @@ -0,0 +1,23 @@ +namespace AdventOfCode2017.Tests + +open Xunit +open Xunit.Abstractions +open Swensen.Unquote + +open AdventOfCode2017 + +type ``Day04 tests`` (output : ITestOutputHelper) = + + [] + let ``(Part1) From web page`` () = + Assert.True (Day04.passphraseValid "aa bb cc dd ee") + Assert.False (Day04.passphraseValid "aa bb cc dd aa") + Assert.True (Day04.passphraseValid "aa bb cc dd aaa") + + [] + let ``(Part2) From web page`` () = + Assert.True (Day04.passphraseValidAnagram "abcde fghij") + Assert.False (Day04.passphraseValidAnagram "abcde xyz ecdab") + Assert.True (Day04.passphraseValidAnagram "a ab abc abd abf abj") + Assert.True (Day04.passphraseValidAnagram "iiii oiii ooii oooi oooo") + Assert.False (Day04.passphraseValidAnagram "oiii ioii iioi iiio") \ No newline at end of file diff --git a/Tests/Day5 tests.fs b/Tests/Day05 tests.fs similarity index 59% rename from Tests/Day5 tests.fs rename to Tests/Day05 tests.fs index 3ddf954..3c3dd9d 100644 --- a/Tests/Day5 tests.fs +++ b/Tests/Day05 tests.fs @@ -6,12 +6,12 @@ open Swensen.Unquote open AdventOfCode2017 -type ``Day5 tests`` (output : ITestOutputHelper) = +type ``Day05 tests`` (output : ITestOutputHelper) = [] let ``(Part1) From web page`` () = - Day5.nbSteps1 [| 0; 3; 0; 1; -3 |] =! 5 + Day05.nbSteps1 [| 0; 3; 0; 1; -3 |] =! 5 [] let ``(Part2) From web page`` () = - Day5.nbSteps2 [| 0; 3; 0; 1; -3 |] =! 10 \ No newline at end of file + Day05.nbSteps2 [| 0; 3; 0; 1; -3 |] =! 10 \ No newline at end of file diff --git a/Tests/Day6 tests.fs b/Tests/Day06 tests.fs similarity index 59% rename from Tests/Day6 tests.fs rename to Tests/Day06 tests.fs index 9d2d0ad..b362298 100644 --- a/Tests/Day6 tests.fs +++ b/Tests/Day06 tests.fs @@ -6,14 +6,14 @@ open Swensen.Unquote open AdventOfCode2017 -type ``Day6 tests`` (output : ITestOutputHelper) = +type ``Day06 tests`` (output : ITestOutputHelper) = [] let ``(Part1) From web page`` () = - let l, _ = Day6.nbRedistribution [| 0; 2; 7; 0 |] + let l, _ = Day06.nbRedistribution [| 0; 2; 7; 0 |] l =! 5 [] let ``(Part2) From web page`` () = - let _, cycleLength = Day6.nbRedistribution [| 0; 2; 7; 0 |] + let _, cycleLength = Day06.nbRedistribution [| 0; 2; 7; 0 |] cycleLength =! 4 \ No newline at end of file diff --git a/Tests/Day7 tests.fs b/Tests/Day07 tests.fs similarity index 85% rename from Tests/Day7 tests.fs rename to Tests/Day07 tests.fs index 0565ab1..eed8195 100644 --- a/Tests/Day7 tests.fs +++ b/Tests/Day07 tests.fs @@ -6,7 +6,7 @@ open Swensen.Unquote open AdventOfCode2017 -type ``Day7 tests`` (output : ITestOutputHelper) = +type ``Day07 tests`` (output : ITestOutputHelper) = [] let ``(Part1) From web page`` () = @@ -26,7 +26,7 @@ type ``Day7 tests`` (output : ITestOutputHelper) = "gyxo (61)" "cntj (57)" ] - let tower = Day7.buildTower (Day7.parseInput input) + let tower = Day07.buildTower (Day07.parseInput input) tower.Name =! "tknk" [] @@ -47,9 +47,9 @@ type ``Day7 tests`` (output : ITestOutputHelper) = "gyxo (61)" "cntj (57)" ] - let tower = Day7.buildTower (Day7.parseInput input) + let tower = Day07.buildTower (Day07.parseInput input) - match Day7.findUnbalanced tower with + match Day07.findUnbalanced tower with | Some (tower, weight) -> tower.Name =! "ugml" weight =! 60 @@ -73,6 +73,6 @@ type ``Day7 tests`` (output : ITestOutputHelper) = "gyxo (61)" "cntj (57)" ] - let tower = Day7.buildTower (Day7.parseInput input) + let tower = Day07.buildTower (Day07.parseInput input) - Day7.findUnbalanced tower =! None \ No newline at end of file + Day07.findUnbalanced tower =! None \ No newline at end of file diff --git a/Tests/Day8 tests.fs b/Tests/Day08 tests.fs similarity index 79% rename from Tests/Day8 tests.fs rename to Tests/Day08 tests.fs index 823ca8d..9892fbf 100644 --- a/Tests/Day8 tests.fs +++ b/Tests/Day08 tests.fs @@ -6,7 +6,7 @@ open Swensen.Unquote open AdventOfCode2017 -type ``Day8 tests`` (output : ITestOutputHelper) = +type ``Day08 tests`` (output : ITestOutputHelper) = [] let ``(Part1) From web page`` () = @@ -17,7 +17,7 @@ type ``Day8 tests`` (output : ITestOutputHelper) = "c dec -10 if a >= 1" "c inc -20 if c == 10" |] - let p1, _ = Day8.execute (Day8.parseInput input) + let p1, _ = Day08.execute (Day08.parseInput input) p1 = 1 [] @@ -29,5 +29,5 @@ type ``Day8 tests`` (output : ITestOutputHelper) = "c dec -10 if a >= 1" "c inc -20 if c == 10" |] - let _, p2 = Day8.execute (Day8.parseInput input) + let _, p2 = Day08.execute (Day08.parseInput input) p2 = 10 \ No newline at end of file diff --git a/Tests/Day09 tests.fs b/Tests/Day09 tests.fs new file mode 100644 index 0000000..798cf99 --- /dev/null +++ b/Tests/Day09 tests.fs @@ -0,0 +1,30 @@ +namespace AdventOfCode2017.Tests + +open Xunit +open Xunit.Abstractions +open Swensen.Unquote + +open AdventOfCode2017 + +type ``Day09 tests`` (output : ITestOutputHelper) = + + [] + let ``(Part1) From web page`` () = + Day09.score "{}" |> fst =! 1 + Day09.score "{{{}}}" |> fst =! 6 + Day09.score "{{},{}}" |> fst =! 5 + Day09.score "{{{},{},{{}}}}" |> fst =! 16 + Day09.score "{,,,}" |> fst =! 1 + Day09.score "{{},{},{},{}}" |> fst =! 9 + Day09.score "{{},{},{},{}}" |> fst =! 9 + Day09.score "{{},{},{},{}}" |> fst =! 3 + + [] + let ``(Part2) From web page`` () = + Day09.score "<>" |> snd =! 0 + Day09.score "" |> snd =! 17 + Day09.score "<<<<>" |> snd =! 3 + Day09.score "<{!>}>" |> snd =! 2 + Day09.score "" |> snd =! 0 + Day09.score ">" |> snd =! 0 + Day09.score """<{o"i!a,<{i""" |> snd =! 10 \ No newline at end of file diff --git a/Tests/Day1 tests.fs b/Tests/Day1 tests.fs deleted file mode 100644 index f367c21..0000000 --- a/Tests/Day1 tests.fs +++ /dev/null @@ -1,24 +0,0 @@ -namespace AdventOfCode2017.Tests - -open Xunit -open Xunit.Abstractions -open Swensen.Unquote - -open AdventOfCode2017 - -type ``Day1 tests`` (output : ITestOutputHelper) = - - [] - let ``(Part1) From web page`` () = - Day1.solveCaptcha1 (Day1.parseInput "1122") =! 3 - Day1.solveCaptcha1 (Day1.parseInput "1111") =! 4 - Day1.solveCaptcha1 (Day1.parseInput "1234") =! 0 - Day1.solveCaptcha1 (Day1.parseInput "91212129") =! 9 - - [] - let ``(Part2) From web page`` () = - Day1.solveCaptcha2 (Day1.parseInput "1212") =! 6 - Day1.solveCaptcha2 (Day1.parseInput "1221") =! 0 - Day1.solveCaptcha2 (Day1.parseInput "123425") =! 4 - Day1.solveCaptcha2 (Day1.parseInput "123123") =! 12 - Day1.solveCaptcha2 (Day1.parseInput "12131415") =! 4 diff --git a/Tests/Day3 tests.fs b/Tests/Day3 tests.fs deleted file mode 100644 index c0a5d46..0000000 --- a/Tests/Day3 tests.fs +++ /dev/null @@ -1,26 +0,0 @@ -namespace AdventOfCode2017.Tests - -open Xunit -open Xunit.Abstractions -open Swensen.Unquote - -open AdventOfCode2017 - -type ``Day3 tests`` (output : ITestOutputHelper) = - - [] - let ``(Part1) From web page`` () = - Day3.spiralManhattanDistanceSum 12 =! 3 - Day3.spiralManhattanDistanceSum 23 =! 2 - Day3.spiralManhattanDistanceSum 1024 =! 31 - - [] - let ``(Part2) From web page`` () = - Day3.spiralAdjacentSumBiggerThan 1 =! 2 - Day3.spiralAdjacentSumBiggerThan 2 =! 4 - Day3.spiralAdjacentSumBiggerThan 3 =! 4 - Day3.spiralAdjacentSumBiggerThan 4 =! 5 - Day3.spiralAdjacentSumBiggerThan 5 =! 10 - Day3.spiralAdjacentSumBiggerThan 20 =! 23 - Day3.spiralAdjacentSumBiggerThan 100 =! 122 - Day3.spiralAdjacentSumBiggerThan 500 =! 747 \ No newline at end of file diff --git a/Tests/Day4 tests.fs b/Tests/Day4 tests.fs deleted file mode 100644 index 3057786..0000000 --- a/Tests/Day4 tests.fs +++ /dev/null @@ -1,23 +0,0 @@ -namespace AdventOfCode2017.Tests - -open Xunit -open Xunit.Abstractions -open Swensen.Unquote - -open AdventOfCode2017 - -type ``Day4 tests`` (output : ITestOutputHelper) = - - [] - let ``(Part1) From web page`` () = - Assert.True (Day4.passphraseValid "aa bb cc dd ee") - Assert.False (Day4.passphraseValid "aa bb cc dd aa") - Assert.True (Day4.passphraseValid "aa bb cc dd aaa") - - [] - let ``(Part2) From web page`` () = - Assert.True (Day4.passphraseValidAnagram "abcde fghij") - Assert.False (Day4.passphraseValidAnagram "abcde xyz ecdab") - Assert.True (Day4.passphraseValidAnagram "a ab abc abd abf abj") - Assert.True (Day4.passphraseValidAnagram "iiii oiii ooii oooi oooo") - Assert.False (Day4.passphraseValidAnagram "oiii ioii iioi iiio") \ No newline at end of file diff --git a/Tests/Day9 tests.fs b/Tests/Day9 tests.fs deleted file mode 100644 index 8f60226..0000000 --- a/Tests/Day9 tests.fs +++ /dev/null @@ -1,30 +0,0 @@ -namespace AdventOfCode2017.Tests - -open Xunit -open Xunit.Abstractions -open Swensen.Unquote - -open AdventOfCode2017 - -type ``Day9 tests`` (output : ITestOutputHelper) = - - [] - let ``(Part1) From web page`` () = - Day9.score "{}" |> fst =! 1 - Day9.score "{{{}}}" |> fst =! 6 - Day9.score "{{},{}}" |> fst =! 5 - Day9.score "{{{},{},{{}}}}" |> fst =! 16 - Day9.score "{,,,}" |> fst =! 1 - Day9.score "{{},{},{},{}}" |> fst =! 9 - Day9.score "{{},{},{},{}}" |> fst =! 9 - Day9.score "{{},{},{},{}}" |> fst =! 3 - - [] - let ``(Part2) From web page`` () = - Day9.score "<>" |> snd =! 0 - Day9.score "" |> snd =! 17 - Day9.score "<<<<>" |> snd =! 3 - Day9.score "<{!>}>" |> snd =! 2 - Day9.score "" |> snd =! 0 - Day9.score ">" |> snd =! 0 - Day9.score """<{o"i!a,<{i""" |> snd =! 10 \ No newline at end of file diff --git a/Tests/Tests.fsproj b/Tests/Tests.fsproj index 96bd24e..55387ec 100644 --- a/Tests/Tests.fsproj +++ b/Tests/Tests.fsproj @@ -55,15 +55,15 @@ - - - - - - - - - + + + + + + + + + -- 2.47.2