public void MathExpressionTokenizer_Can_Tokenize_Simple_Expression()
{
var tokenizer = new MathExpressionTokenizer();
var result = tokenizer.Tokenize("4+(2*7)/2-7");
Assert.AreEqual(11, result.Count);
Assert.AreEqual(TokenType.Numeric, result[0].Type);
Assert.AreEqual(4D, result[0].Value);
Assert.AreEqual(TokenType.Addition, result[1].Type);
Assert.AreEqual(TokenType.OpeningParenthesis, result[2].Type);
Assert.AreEqual(TokenType.Numeric, result[3].Type);
Assert.AreEqual(2D, result[3].Value);
Assert.AreEqual(TokenType.Multiplication, result[4].Type);
Assert.AreEqual(TokenType.Numeric, result[5].Type);
Assert.AreEqual(7D, result[5].Value);
Assert.AreEqual(TokenType.ClosingParenthesis, result[6].Type);
Assert.AreEqual(TokenType.Division, result[7].Type);
Assert.AreEqual(2D, result[8].Value);
Assert.AreEqual(TokenType.Subtraction, result[9].Type);
Assert.AreEqual(7D, result[10].Value);
}