Ejemplo n.º 1
0
 public WordsEnumerator(SentenceAsEnumerable sentence)
 {
     this._sentence = sentence;
     this._index    = 0;
     this.Current   = default(string);
 }
Ejemplo n.º 2
0
        public override void Execute()
        {
            IAggregate <string> sentence         = new Sentence("The quick brown fox jumps over the lazy dog.");
            IIterator <string>  sentenceIterator = sentence.CreateIterator();

            // To iterate the words in the sentence:
            // while (sentenceIterator.HasNext())
            // {
            //     string word = sentenceIterator.Next();
            // }

            Assert.NotNull(sentenceIterator);
            Assert.True(sentenceIterator.HasNext());
            Assert.Equal("The", sentenceIterator.Next());

            Assert.True(sentenceIterator.HasNext());
            Assert.Equal("quick", sentenceIterator.Next());

            Assert.True(sentenceIterator.HasNext());
            Assert.Equal("brown", sentenceIterator.Next());

            Assert.True(sentenceIterator.HasNext());
            Assert.Equal("fox", sentenceIterator.Next());

            Assert.True(sentenceIterator.HasNext());
            Assert.Equal("jumps", sentenceIterator.Next());

            Assert.True(sentenceIterator.HasNext());
            Assert.Equal("over", sentenceIterator.Next());

            Assert.True(sentenceIterator.HasNext());
            Assert.Equal("the", sentenceIterator.Next());

            Assert.True(sentenceIterator.HasNext());
            Assert.Equal("lazy", sentenceIterator.Next());

            Assert.True(sentenceIterator.HasNext());
            Assert.Equal("dog", sentenceIterator.Next());

            Assert.False(sentenceIterator.HasNext());


            IEnumerable <string> sentenceAsEnumerable = new SentenceAsEnumerable("The quick brown fox jumps over the lazy dog.");

            Assert.Equal(new[] { "The", "quick", "brown", "fox", "jumps", "over", "the", "lazy", "dog" }, sentenceAsEnumerable);

            // To iterate over an Enumerable:
            //
            // using (IEnumerator<string> sentenceEnumerator = sentenceAsEnumerable.GetEnumerator())
            // {
            //     while (sentenceEnumerator.MoveNext())
            //     {
            //         string word = sentenceEnumerator.Current;
            //
            //     }
            // }
            //
            // or simply:
            //
            // foreach (string word in sentenceAsEnumerable)
            // {
            //
            // }
        }