Exemplo n.º 1
0
    public void Y2021_Day10_Compile_Returns_Correct_Value()
    {
        // Arrange
        string[] lines =
        {
            "[({(<(())[]>[[{[]{<()<>>",
            "[(()[<>])]({[<{<<[]>>(",
            "{([(<{}[<>[]}>{[]{[(<()>",
            "(((({<>}<{<{<>}{[]{[]{}",
            "[[<[([]))<([[{}[[()]]]",
            "[{[{({}]{}}([{[{{{}}([]",
            "{<[[]]>}<{[{[{[]{()[[[]",
            "[<(<(<(<{}))><([]([]()",
            "<{([([[(<>()){}]>(<<{{",
            "<{([{{}}[<[[[<>{}]]]>[]]",
        };

        // Act
        (int syntaxErrorScore, long middleAutoCompleteScore) = Day10.Compile(lines);

        // Assert
        syntaxErrorScore.ShouldBe(26397);
        middleAutoCompleteScore.ShouldBe(288957);
    }