public void TestMult() { List <Token> mathExpression = StringConverter.ConvertToTokensExpression("2.5*3"); double expected = 7.5; double actual = ConsoleCalculator.Calculator.CalculateExpression(mathExpression); Assert.AreEqual(expected, actual); }
public void TestLessOrEqual() { List <Token> mathExpression = StringConverter.ConvertToTokensExpression("6 <= 5"); double expected = 0; double actual = ConsoleCalculator.Calculator.CalculateExpression(mathExpression); Assert.AreEqual(expected, actual); }
public void TestUnaryMinus() { List <Token> mathExpression = StringConverter.ConvertToTokensExpression("-8"); double expected = -8; double actual = ConsoleCalculator.Calculator.CalculateExpression(mathExpression); Assert.AreEqual(expected, actual); }
public void TestBitRSH() { List <Token> mathExpression = StringConverter.ConvertToTokensExpression("12 >> 2"); double expected = 3; double actual = ConsoleCalculator.Calculator.CalculateExpression(mathExpression); Assert.AreEqual(expected, actual); }
public void TestCtg() { List <Token> mathExpression = StringConverter.ConvertToTokensExpression("ctg(pi/4)"); double expected = 1; double actual = ConsoleCalculator.Calculator.CalculateExpression(mathExpression); Assert.AreEqual(expected, actual); }
public void MediumTest() { string mathExpression = "(ctg(pi/4)+3%2)^(sqrt(100/10/2+-1))"; List <Token> tokensExpression = StringConverter.ConvertToTokensExpression(mathExpression); double actual = Calculator.CalculateExpression(tokensExpression); double expected = 4; Assert.AreEqual(expected, actual); }
public void TestEasyConvertToTokensExpression() { string entry = "2+3"; List <Token> expected = new List <Token>() { new Token(TOKEN_TYPE.VARIABLE, "2"), new Token(TOKEN_TYPE.BINARY_OPERATION, "+"), new Token(TOKEN_TYPE.VARIABLE, "3") }; List <Token> actual = StringConverter.ConvertToTokensExpression(entry); Assert.AreEqual(true, CompareLists(expected, actual)); }
static void Main(string[] args) { string mathExpression = Console.ReadLine(); try { List <Token> tokensExpression = StringConverter.ConvertToTokensExpression(mathExpression); var res = Calculator.CalculateExpression(tokensExpression); Console.WriteLine(res.ToString()); } catch (Exception e) { Console.WriteLine(e.Message); } }
public void TestMediumConvertToTokensExpression() { string entry = "(-2-3)*4"; List <Token> expected = new List <Token>() { new Token(TOKEN_TYPE.OPENING_BRACKET, "("), new Token(TOKEN_TYPE.UNARY_OPERATION, "-"), new Token(TOKEN_TYPE.VARIABLE, "2"), new Token(TOKEN_TYPE.BINARY_OPERATION, "-"), new Token(TOKEN_TYPE.VARIABLE, "3"), new Token(TOKEN_TYPE.CLOSING_BRACKET, ")"), new Token(TOKEN_TYPE.BINARY_OPERATION, "*"), new Token(TOKEN_TYPE.VARIABLE, "4") }; List <Token> actual = StringConverter.ConvertToTokensExpression(entry); Assert.AreEqual(true, CompareLists(expected, actual)); }