public void Tokenize_TwoOperationsInsideWithSamePriorityBrackets_SholdReturnSuccess() { //arrange var calculator = new RPNCalculator(); string[] expectedTokens = new[] { "4", "5", "2", "+", "1", "-", "*" }; string input = "4*(5+2-1)"; //act var actualTokens = calculator.Tokenize(input); //assert Assert.Equal(expectedTokens, actualTokens); }
public void Tokenize_TwoOperationsWithLargerPriorityInSecondOperation_SholdReturnSuccess() { //arrange var calculator = new RPNCalculator(); string[] expectedTokens = new[] { "4", "5", "2", "*", "+" }; string input = "4+5*2"; //act var actualTokens = calculator.Tokenize(input); //assert Assert.Equal(expectedTokens, actualTokens); }
public void Tokenize_PowerOfTwoBracketGroups_SholdReturnSuccess() { //arrange var calculator = new RPNCalculator(); string[] expectedTokens = new[] { "4", "2", "*", "2", "-", "7", "2", "2", "*", "-", "^" }; string input = "(4*2-2)^(7-2*2)"; //act var actualTokens = calculator.Tokenize(input); //assert Assert.Equal(expectedTokens, actualTokens); }
public void Tokenize_TwoOperationsWithSamePriority_SholdReturnThreeTokens() { //arrange var calculator = new RPNCalculator(); string[] expectedTokens = new[] { "4", "5", "+", "1", "-" }; string input = "4+5-1"; //act var actualTokens = calculator.Tokenize(input); //assert Assert.Equal(expectedTokens, actualTokens); }
public void Tokenize_SingleOperation_SholdReturnThreeTokens() { //arrange var calculator = new RPNCalculator(); string[] expectedTokens = new[] { "4", "5", "+" }; string input = "4+5"; //act var actualTokens = calculator.Tokenize(input); //assert Assert.Equal(expectedTokens, actualTokens); }