public void TokenStream_Can_Iterate_Over_Collection()
{
List<Token> tokens = new List<Token> { new Token(TokenType.Numeric, 1D), new Token(TokenType.Addition, "+"), new Token(TokenType.Numeric, 2D) };
TokenStream stream = new TokenStream(tokens, TokenNotation.Infix);
var enumerator = stream.GetEnumerator();
List<Token> result = new List<Token>();
while (enumerator.MoveNext())
{
result.Add(enumerator.Current);
}
Assert.AreEqual(3, result.Count);
Assert.AreEqual(1, (double)result[0].Value);
Assert.AreEqual(TokenType.Addition, result[1].Type);
Assert.AreEqual(2, (double)result[2].Value);
}