Exemple #1
0
        [Fact] public void EvaluateTest()
        {
            Day18.Evaluate("2 * 3 + (4 * 5)").Should().Be(26);
            Day18.Evaluate("((2 + 4 * 9) * (6 + 9 * 8 + 6) + 6) + 2 + 4 * 2").Should().Be(13632);

            Day18.Evaluate("(2 )*( 3 + ((4 )*( 5)))").Should().Be(46);
        }
Exemple #2
0
        public void MultipleExpression(string expr, int expected)
        {
            var d      = new Day18();
            var result = d.Evaluate(expr);

            result.Should().Be(expected);
        }
Exemple #3
0
        public void WithParentheses(string expr, int expected)
        {
            var d      = new Day18();
            var result = d.Evaluate(expr);

            result.Should().Be(expected);
        }
Exemple #4
0
        public void SimpleExpression()
        {
            var expr   = "1 + 3";
            var d      = new Day18();
            var result = d.Evaluate(expr);

            result.Should().Be(4);
        }
Exemple #5
0
    public void Y2020_Day18_Evaluate_Returns_Correct_Value(
        int version,
        string expression,
        long expected)
    {
        // Act
        long actual = Day18.Evaluate(new[] { expression }, version);

        // Assert
        actual.ShouldBe(expected);
    }