public void AdvanceShouldRemoveCharacter()
        {
            var source = new SourceProgram("Begin");

            for (int i = 0; i < 5; i++)
            {
                source.Advance();
            }

            Assert.AreEqual('\0', source.Inspect());
        }
        public void AdvanceOnEmptyShouldFail()
        {
            var source = new SourceProgram(string.Empty);

            Assert.Throws <InvalidOperationException>(() => source.Advance());
        }