Ejemplo n.º 1
0
        public void WrapEmptyList()
        {
            var list = new List <string>();
            var sut  = new PeekableEnumerator <string>(list.GetEnumerator());

            Assert.IsNull(sut.Current);
            Assert.IsNull(((IEnumerator)sut).Current);
            Assert.IsNull(sut.PeekNext);

            Assert.IsFalse(sut.MoveNext());
            sut.Reset();
            Assert.IsNull(sut.Current);
        }
Ejemplo n.º 2
0
        public void WrapList()
        {
            var list = new List <string>(new[] { "1", "2", "3" });
            var sut  = new PeekableEnumerator <string>(list.GetEnumerator());

            Assert.AreEqual(3, list.Count, "This function assumes a list with 3 elements");
            Assert.IsNull(sut.Current);
            Assert.IsTrue(sut.MoveNext());
            Assert.AreEqual("1", sut.Current);
            Assert.AreEqual("1", ((IEnumerator)sut).Current);
            Assert.IsTrue(sut.MoveNext());
            Assert.AreEqual("2", sut.Current);
            Assert.IsTrue(sut.MoveNext());
            Assert.AreEqual("3", sut.Current);
            Assert.IsFalse(sut.MoveNext());
            sut.Reset();
            Assert.IsNull(sut.Current);
            Assert.IsTrue(sut.MoveNext());
            Assert.AreEqual("1", sut.Current);
        }
Ejemplo n.º 3
0
        public void ThrowsResetUnavailable()
        {
            var sut = new PeekableEnumerator <string>(new YieldReturnEnum().GetEnumerator());

            Assert.Throws <System.NotSupportedException>(() => sut.Reset());
        }