const std = @import("std");
const app = @import("./main.zig");
test "expect task 1 test 1 to result in 10" {
std.testing.log_level = .debug;
const raw_input: []const u8 =
\\start-A
\\start-b
\\A-c
\\A-b
\\b-d
\\A-end
\\b-end
\\
;
var stream = std.io.fixedBufferStream(raw_input);
var input = try app.readInput(std.testing.allocator, stream.reader());
defer input.deinit();
const expected: u32 = 10;
try std.testing.expect((try app.task1(std.testing.allocator, &input)) == expected);
}
test "expect task 1 test 2 to result in 19" {
std.testing.log_level = .debug;
const raw_input: []const u8 =
\\dc-end
\\HN-start
\\start-kj
\\dc-start
\\dc-HN
\\LN-dc
\\HN-end
\\kj-sa
\\kj-HN
\\kj-dc
\\
;
var stream = std.io.fixedBufferStream(raw_input);
var input = try app.readInput(std.testing.allocator, stream.reader());
defer input.deinit();
const expected: u32 = 19;
try std.testing.expect((try app.task1(std.testing.allocator, &input)) == expected);
}
test "expect task 1 test 3 to result in 226" {
std.testing.log_level = .debug;
const raw_input: []const u8 =
\\fs-end
\\he-DX
\\fs-he
\\start-DX
\\pj-DX
\\end-zg
\\zg-sl
\\zg-pj
\\pj-he
\\RW-he
\\fs-DX
\\pj-RW
\\zg-RW
\\start-pj
\\he-WI
\\zg-he
\\pj-fs
\\start-RW
\\
;
var stream = std.io.fixedBufferStream(raw_input);
var input = try app.readInput(std.testing.allocator, stream.reader());
defer input.deinit();
const expected: u32 = 226;
try std.testing.expect((try app.task1(std.testing.allocator, &input)) == expected);
}
test "expect task 2 test 1 to result in 36" {
std.testing.log_level = .debug;
const raw_input: []const u8 =
\\start-A
\\start-b
\\A-c
\\A-b
\\b-d
\\A-end
\\b-end
\\
;
var stream = std.io.fixedBufferStream(raw_input);
var input = try app.readInput(std.testing.allocator, stream.reader());
defer input.deinit();
const expected: u32 = 36;
try std.testing.expect((try app.task2(std.testing.allocator, &input)) == expected);
}
test "expect task 2 test 2 to result in 103" {
std.testing.log_level = .debug;
const raw_input: []const u8 =
\\dc-end
\\HN-start
\\start-kj
\\dc-start
\\dc-HN
\\LN-dc
\\HN-end
\\kj-sa
\\kj-HN
\\kj-dc
\\
;
var stream = std.io.fixedBufferStream(raw_input);
var input = try app.readInput(std.testing.allocator, stream.reader());
defer input.deinit();
const expected: u32 = 103;
try std.testing.expect((try app.task2(std.testing.allocator, &input)) == expected);
}
test "expect task 2 test 3 to result in 3509" {
std.testing.log_level = .debug;
const raw_input: []const u8 =
\\fs-end
\\he-DX
\\fs-he
\\start-DX
\\pj-DX
\\end-zg
\\zg-sl
\\zg-pj
\\pj-he
\\RW-he
\\fs-DX
\\pj-RW
\\zg-RW
\\start-pj
\\he-WI
\\zg-he
\\pj-fs
\\start-RW
\\
;
var stream = std.io.fixedBufferStream(raw_input);
var input = try app.readInput(std.testing.allocator, stream.reader());
defer input.deinit();
const expected: u32 = 3509;
try std.testing.expect((try app.task2(std.testing.allocator, &input)) == expected);
}