From d6240dcd7426e20205ff78df423271f64d8ac3a7 Mon Sep 17 00:00:00 2001 From: Brendan Hansen Date: Thu, 2 Dec 2021 07:51:06 -0600 Subject: [PATCH] added aoc-2021 day 2 test case --- tests/aoc-2021/day02.onyx | 49 ++ tests/aoc-2021/input/day02.txt | 1000 ++++++++++++++++++++++++++++++++ 2 files changed, 1049 insertions(+) create mode 100644 tests/aoc-2021/day02.onyx create mode 100644 tests/aoc-2021/input/day02.txt diff --git a/tests/aoc-2021/day02.onyx b/tests/aoc-2021/day02.onyx new file mode 100644 index 00000000..1f19319b --- /dev/null +++ b/tests/aoc-2021/day02.onyx @@ -0,0 +1,49 @@ +PART :: 2 + +#load "core/std" + +use package core + +main :: (args) => { + for file: io.with_file("tests/aoc-2021/input/day02.txt") { + reader := io.reader_make(file); + + #if PART == 1 { + horizontal, vertical := 0, 0; + while !io.reader_empty(^reader) { + parts := string.split(io.read_line(^reader, inplace=true), #char " "); + defer memory.free_slice(^parts); + + value := cast(i32) conv.str_to_i64(parts[1]); + switch parts[0] { + case "forward" do horizontal += value; + case "down" do vertical += value; + case "up" do vertical -= value; + } + } + + printf("Part 1: {}\n", horizontal * vertical); + } + + #if PART == 2 { + horizontal, vertical, aim : i64; + horizontal, vertical, aim = 0, 0, 0; + while !io.reader_empty(^reader) { + parts := string.split(io.read_line(^reader, inplace=true), #char " "); + defer memory.free_slice(^parts); + + value := conv.str_to_i64(parts[1]); + switch parts[0] { + case "forward" { + horizontal += value; + vertical += aim * value; + } + case "down" do aim += value; + case "up" do aim -= value; + } + } + + printf("Part 2: {}\n", horizontal * vertical); + } + } +} \ No newline at end of file diff --git a/tests/aoc-2021/input/day02.txt b/tests/aoc-2021/input/day02.txt new file mode 100644 index 00000000..45cd3d8e --- /dev/null +++ b/tests/aoc-2021/input/day02.txt @@ -0,0 +1,1000 @@ +forward 3 +down 9 +forward 5 +up 1 +forward 2 +down 1 +down 7 +down 5 +up 6 +forward 3 +down 6 +forward 9 +down 6 +forward 2 +down 4 +forward 4 +down 9 +down 7 +down 2 +down 4 +forward 3 +forward 6 +down 3 +up 1 +down 5 +down 8 +down 1 +forward 9 +forward 4 +forward 3 +down 3 +down 6 +down 3 +up 2 +down 3 +down 9 +down 1 +down 9 +up 8 +down 1 +down 9 +forward 9 +forward 2 +down 1 +forward 2 +down 9 +forward 9 +up 7 +forward 1 +up 8 +forward 7 +forward 6 +forward 2 +down 8 +forward 7 +down 3 +down 2 +down 1 +forward 2 +down 6 +forward 8 +down 7 +forward 9 +down 7 +down 9 +forward 2 +forward 2 +up 3 +down 4 +down 8 +forward 5 +down 4 +down 8 +down 2 +up 7 +down 7 +up 9 +up 9 +up 1 +forward 2 +up 4 +forward 5 +forward 9 +forward 9 +forward 3 +down 6 +up 3 +down 1 +forward 8 +forward 2 +down 7 +forward 9 +forward 1 +forward 8 +forward 8 +down 2 +down 6 +forward 8 +forward 8 +forward 3 +forward 4 +down 3 +up 3 +forward 1 +forward 4 +down 1 +down 4 +down 2 +down 3 +forward 5 +down 3 +up 5 +forward 9 +down 8 +up 6 +down 6 +up 7 +up 7 +forward 1 +forward 7 +down 1 +up 3 +down 1 +forward 7 +forward 1 +forward 9 +down 2 +forward 9 +down 3 +down 5 +forward 2 +up 3 +forward 5 +forward 5 +down 8 +down 7 +forward 6 +down 2 +down 5 +up 4 +up 5 +down 6 +forward 5 +down 3 +down 8 +forward 7 +down 5 +down 5 +down 9 +down 9 +down 2 +down 7 +up 4 +forward 8 +up 6 +down 5 +forward 1 +up 2 +down 6 +up 8 +up 7 +down 6 +forward 4 +down 6 +up 6 +up 4 +forward 5 +forward 4 +forward 6 +down 3 +down 7 +down 9 +forward 2 +forward 6 +down 3 +forward 1 +forward 2 +forward 9 +up 5 +down 7 +down 6 +forward 2 +forward 1 +up 3 +down 8 +forward 9 +down 7 +forward 7 +up 2 +up 8 +up 8 +forward 7 +forward 5 +forward 9 +down 7 +down 7 +forward 5 +forward 4 +forward 2 +forward 8 +up 3 +up 7 +forward 8 +forward 6 +forward 2 +forward 6 +up 3 +up 1 +forward 6 +forward 9 +down 1 +forward 6 +forward 4 +up 6 +forward 1 +down 7 +forward 7 +up 5 +down 5 +down 3 +forward 4 +forward 6 +up 6 +forward 9 +forward 2 +down 7 +forward 9 +down 9 +forward 2 +up 1 +down 4 +forward 6 +forward 4 +down 6 +forward 1 +up 3 +up 5 +down 8 +forward 2 +up 7 +down 5 +down 2 +down 6 +forward 7 +down 8 +up 8 +down 7 +down 9 +down 7 +down 8 +down 4 +up 3 +up 9 +down 4 +forward 7 +down 5 +up 8 +down 3 +forward 8 +down 3 +down 4 +down 1 +forward 5 +down 4 +down 8 +up 7 +forward 2 +forward 8 +down 1 +down 3 +forward 4 +forward 5 +forward 8 +forward 1 +down 1 +down 9 +up 8 +forward 6 +down 8 +down 2 +forward 9 +down 5 +down 8 +up 8 +up 5 +forward 9 +up 6 +down 9 +up 1 +down 2 +down 4 +forward 9 +forward 1 +up 2 +down 7 +forward 9 +down 9 +down 6 +down 9 +down 8 +forward 7 +forward 6 +forward 9 +forward 9 +forward 8 +forward 5 +up 2 +forward 9 +forward 2 +down 1 +down 1 +down 5 +down 1 +down 7 +up 2 +up 7 +forward 7 +forward 8 +down 2 +down 2 +down 3 +up 8 +up 8 +up 3 +forward 3 +down 7 +up 4 +up 8 +down 5 +forward 4 +forward 7 +down 9 +up 7 +forward 8 +forward 5 +forward 8 +forward 8 +forward 6 +forward 5 +forward 2 +down 3 +up 2 +forward 6 +forward 5 +down 9 +down 2 +down 7 +down 2 +forward 2 +forward 6 +forward 8 +down 7 +forward 4 +down 3 +down 5 +forward 1 +down 9 +forward 5 +down 4 +forward 9 +down 5 +down 4 +down 4 +down 7 +forward 9 +down 3 +down 5 +down 6 +down 4 +forward 4 +down 4 +up 1 +down 4 +up 7 +forward 4 +forward 5 +up 9 +down 4 +up 9 +forward 9 +down 8 +down 1 +up 7 +down 4 +up 4 +forward 9 +down 9 +down 4 +up 4 +down 5 +forward 2 +up 4 +down 3 +forward 9 +forward 8 +down 2 +forward 5 +up 5 +down 9 +down 7 +down 5 +down 9 +down 1 +down 7 +down 2 +forward 4 +up 7 +forward 7 +down 8 +down 2 +down 8 +up 6 +down 7 +down 7 +forward 3 +up 3 +forward 6 +down 8 +down 3 +up 2 +down 9 +forward 3 +down 9 +down 6 +up 8 +forward 5 +down 9 +up 2 +up 8 +down 8 +up 1 +up 2 +forward 5 +up 3 +down 7 +forward 4 +forward 2 +up 1 +forward 2 +up 1 +down 1 +down 5 +forward 6 +up 2 +down 7 +down 8 +down 9 +up 9 +down 2 +up 2 +forward 9 +forward 6 +forward 5 +down 6 +up 6 +forward 6 +forward 3 +down 3 +forward 2 +forward 4 +forward 1 +down 9 +forward 3 +forward 2 +down 5 +up 2 +forward 7 +down 4 +forward 5 +down 4 +forward 2 +down 4 +up 3 +forward 6 +forward 9 +down 1 +forward 2 +up 8 +forward 4 +up 9 +up 4 +up 3 +forward 5 +down 7 +forward 2 +up 4 +forward 7 +down 8 +forward 6 +forward 4 +up 5 +down 4 +down 6 +down 3 +forward 6 +down 9 +up 6 +forward 3 +down 4 +forward 8 +forward 1 +down 3 +down 4 +up 4 +forward 1 +up 5 +up 9 +forward 4 +up 9 +forward 2 +up 5 +up 5 +up 7 +up 4 +down 3 +forward 8 +forward 1 +up 1 +down 8 +up 3 +up 4 +up 2 +up 8 +up 7 +down 8 +up 8 +forward 9 +down 8 +up 5 +forward 6 +forward 4 +down 8 +down 9 +down 4 +down 6 +forward 4 +up 6 +up 1 +forward 7 +up 4 +down 6 +up 3 +down 4 +forward 8 +forward 4 +up 2 +down 3 +up 3 +up 9 +down 4 +forward 4 +forward 5 +forward 2 +down 1 +down 6 +down 1 +forward 6 +down 2 +forward 1 +down 2 +down 4 +forward 1 +down 8 +up 2 +down 5 +forward 9 +forward 4 +down 9 +forward 8 +forward 2 +forward 7 +forward 1 +forward 1 +down 8 +forward 2 +forward 8 +forward 7 +forward 9 +down 4 +down 2 +forward 1 +forward 2 +down 1 +forward 1 +forward 5 +down 1 +down 5 +down 1 +forward 2 +up 9 +forward 2 +forward 4 +down 9 +up 7 +down 1 +up 4 +forward 9 +up 6 +up 8 +down 3 +forward 9 +up 6 +down 1 +forward 9 +forward 3 +up 5 +forward 9 +down 1 +forward 5 +up 5 +down 1 +up 4 +forward 3 +forward 1 +up 4 +forward 3 +forward 9 +down 2 +forward 5 +forward 4 +forward 9 +down 5 +forward 8 +forward 1 +down 3 +down 2 +down 3 +up 8 +forward 3 +forward 6 +up 8 +down 6 +forward 8 +forward 1 +down 8 +down 7 +forward 8 +down 2 +forward 8 +down 4 +forward 1 +down 1 +up 6 +forward 1 +up 7 +down 2 +forward 5 +up 9 +down 5 +forward 4 +down 6 +down 9 +forward 8 +up 2 +up 7 +forward 2 +forward 5 +up 9 +down 4 +forward 9 +down 4 +down 3 +down 6 +down 9 +down 9 +down 1 +down 1 +down 7 +down 4 +down 7 +up 5 +forward 6 +down 9 +forward 7 +down 5 +down 4 +down 2 +down 4 +down 9 +forward 1 +down 9 +down 8 +forward 2 +up 7 +up 3 +forward 9 +forward 4 +down 8 +down 4 +forward 2 +down 8 +up 3 +forward 6 +forward 4 +down 2 +up 9 +down 5 +up 8 +up 6 +up 3 +down 2 +forward 6 +forward 4 +forward 7 +forward 2 +down 5 +down 2 +forward 2 +forward 6 +down 5 +down 4 +forward 8 +up 3 +forward 7 +down 1 +forward 5 +down 8 +down 9 +forward 5 +down 7 +forward 7 +up 6 +down 3 +forward 1 +down 2 +down 9 +down 2 +down 1 +forward 4 +up 5 +up 9 +forward 1 +down 5 +forward 4 +up 3 +up 5 +forward 7 +forward 5 +down 2 +down 8 +forward 5 +down 7 +up 8 +down 5 +down 6 +forward 8 +forward 9 +down 8 +up 3 +down 8 +down 2 +forward 8 +forward 8 +forward 4 +forward 9 +up 7 +up 1 +down 5 +down 8 +down 5 +forward 3 +forward 2 +down 8 +down 3 +down 2 +down 5 +forward 8 +up 3 +down 9 +up 4 +up 1 +up 8 +down 8 +forward 5 +down 2 +forward 4 +forward 1 +down 7 +forward 4 +forward 5 +up 2 +down 6 +up 9 +forward 1 +down 9 +forward 4 +down 7 +down 9 +up 9 +forward 2 +forward 7 +down 7 +forward 9 +forward 1 +forward 1 +down 7 +up 6 +up 3 +forward 2 +forward 6 +forward 9 +forward 3 +forward 4 +forward 9 +forward 9 +forward 9 +down 8 +up 2 +forward 7 +down 8 +down 3 +up 8 +down 8 +forward 1 +forward 9 +forward 2 +forward 3 +down 8 +forward 1 +forward 4 +down 9 +down 4 +up 7 +forward 5 +down 4 +forward 5 +down 2 +forward 6 +down 1 +up 9 +down 5 +up 5 +down 2 +up 1 +up 8 +down 3 +up 3 +down 8 +forward 4 +forward 1 +up 5 +forward 1 +down 5 +up 5 +forward 8 +down 1 +up 4 +forward 9 +forward 7 +up 1 +up 9 +forward 7 +forward 1 +up 5 +forward 6 +down 2 +up 5 +down 4 +down 6 +down 3 +forward 8 +down 7 +down 5 +down 7 +forward 1 +down 7 +up 5 +down 4 +down 4 +down 4 +forward 3 +forward 4 +up 6 +forward 8 +forward 2 +up 1 +forward 5 +forward 6 +forward 6 +up 2 +down 3 +forward 3 +up 8 +forward 6 +forward 5 +up 2 +up 5 +down 6 +down 8 +down 1 +forward 6 +down 3 +down 2 +forward 4 +down 4 +down 7 +forward 9 +forward 4 +forward 5 +down 8 +down 9 +up 4 +up 4 +down 5 +up 1 +up 6 +down 9 +forward 9 +forward 4 +forward 9 +forward 9 +down 5 +down 1 +up 9 +down 3 +up 5 +down 7 +forward 6 +forward 2 +down 5 +down 6 +forward 7 +forward 2 +up 9 +forward 6 +down 7 +up 4 +forward 1 +down 5 +forward 2 +forward 1 +down 6 +down 1 +down 4 +forward 8 +forward 1 +down 5 +down 8 +down 3 +forward 4 +down 2 +forward 9 +up 1 +forward 8 +down 4 +down 3 +down 1 +forward 5 +forward 9 +down 3 +forward 6 +up 6 +up 9 +forward 8 +forward 2 +down 9 +forward 3 +down 4 +down 5 +down 4 +forward 2 +forward 6 +down 9 +down 5 +forward 6 +forward 3 +forward 5 +forward 6 +forward 5 +forward 1 +up 4 +up 1 +down 2 +up 6 +down 5 +down 1 +forward 9 +down 1 +down 2 +forward 6 +up 2 +down 4 +up 3 +forward 8 +down 4 +down 4 +down 6 +up 1 +down 7 +up 4 +down 6 +up 7 +up 6 +down 5 +forward 3 +forward 4 +up 5 +down 2 +down 9 +forward 9 \ No newline at end of file -- 2.25.1