public void NextCharacter_NonEmptyStringAllChars_ReturnsCharactersThenThrows()
        {
            RawExpression expression = new RawExpression("foo");

            Assert.AreEqual('f', expression.Next());
            Assert.AreEqual('o', expression.Next());
            Assert.AreEqual('o', expression.Next());
            Assert.Throws <IndexOutOfRangeException>(() => expression.Next());
        }
        public void NextCharacter_NonEmptyString_ReturnsCharacter()
        {
            RawExpression expression = new RawExpression("foo");

            Assert.AreEqual('f', expression.Next());
        }
        public void NextCharacter_EmptyString_ThrowsException()
        {
            RawExpression expression = new RawExpression("");

            Assert.Throws <IndexOutOfRangeException>(() => expression.Next());
        }