Exemplo n.º 1
0
        public void Should_Return_10_For_X()
        {
            var expression = "X";
            var calculator = new RomanCalculator(expression);

            Assert.AreEqual(10, calculator.Result());
        }
Exemplo n.º 2
0
        public void Should_Return_3_For_III()
        {
            var expression = "III";
            var calculator = new RomanCalculator(expression);

            Assert.AreEqual(3, calculator.Result());
        }
Exemplo n.º 3
0
        public void Should_Return_5_For_V()
        {
            var expression = "V";
            var calculator = new RomanCalculator(expression);

            Assert.AreEqual(5, calculator.Result());
        }
Exemplo n.º 4
0
        public void Should_Subtract_Two_Roman_Numbers()
        {
            var expression = "I - II";

            var calculator = new RomanCalculator(expression);

            Assert.AreEqual(-1, calculator.Result());
        }
Exemplo n.º 5
0
        public void Should_Add_Two_Roman_Numbers()
        {
            var expression = "I + II";

            var calculator = new RomanCalculator(expression);

            Assert.AreEqual(3, calculator.Result());
        }
Exemplo n.º 6
0
        public void Should_Divide_Three_Roman_Numbers()
        {
            var expression = "I / II / III";

            var calculator = new RomanCalculator(expression);

            Assert.AreEqual(0.166, calculator.Result());
        }
Exemplo n.º 7
0
        public void Should_Multiply_Three_Roman_Numbers()
        {
            var expression = "I * II * III";

            var calculator = new RomanCalculator(expression);

            Assert.AreEqual(6, calculator.Result());
        }
Exemplo n.º 8
0
        public void Should_Process_Parenthesis_Before_Anything_Else()
        {
            var parensFirstInExpression = "( I + II ) * III";

            var calculator = new RomanCalculator(parensFirstInExpression);

            Assert.AreEqual(9, calculator.Result());

            var parensLastInExpression = "I * ( II + III )";

            calculator = new RomanCalculator(parensLastInExpression);

            Assert.AreEqual(5, calculator.Result());
        }
Exemplo n.º 9
0
        public void Should_Perform_Multiplication_Before_Addition()
        {
            var multiplicationIsSecondInExpression = "I + II * III";

            var calculator = new RomanCalculator(multiplicationIsSecondInExpression);

            Assert.AreEqual(7, calculator.Result());

            var multiplicationIsFirstInExpression = "I * II + III";

            calculator = new RomanCalculator(multiplicationIsFirstInExpression);

            Assert.AreEqual(5, calculator.Result());
        }