added aoc-2021 day 2 test case
authorBrendan Hansen <brendan.f.hansen@gmail.com>
Thu, 2 Dec 2021 13:51:06 +0000 (07:51 -0600)
committerBrendan Hansen <brendan.f.hansen@gmail.com>
Thu, 2 Dec 2021 13:51:06 +0000 (07:51 -0600)
tests/aoc-2021/day02.onyx [new file with mode: 0644]
tests/aoc-2021/input/day02.txt [new file with mode: 0644]

diff --git a/tests/aoc-2021/day02.onyx b/tests/aoc-2021/day02.onyx
new file mode 100644 (file)
index 0000000..1f19319
--- /dev/null
@@ -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 (file)
index 0000000..45cd3d8
--- /dev/null
@@ -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