Ejemplo n.º 1
0
        public void TripleEntryEnumerable()
        {
            var list = new List <string> {
                "x", "y", "z"
            };

            var subject = new MetaEnumerable <string>(list);

            using (IEnumerator <MetaEnumerable <string> .Entry> iterator = subject.GetEnumerator())
            {
                Assert.IsTrue(iterator.MoveNext());
                Assert.IsTrue(iterator.Current.IsFirst);
                Assert.IsFalse(iterator.Current.IsLast);
                Assert.AreEqual("x", iterator.Current.Value);
                Assert.AreEqual(0, iterator.Current.Index);

                Assert.IsTrue(iterator.MoveNext());
                Assert.IsFalse(iterator.Current.IsFirst);
                Assert.IsFalse(iterator.Current.IsLast);
                Assert.AreEqual("y", iterator.Current.Value);
                Assert.AreEqual(1, iterator.Current.Index);

                Assert.IsTrue(iterator.MoveNext());
                Assert.IsFalse(iterator.Current.IsFirst);
                Assert.IsTrue(iterator.Current.IsLast);
                Assert.AreEqual("z", iterator.Current.Value);
                Assert.AreEqual(2, iterator.Current.Index);
                Assert.IsFalse(iterator.MoveNext());
            }
        }
Ejemplo n.º 2
0
        public void EmptyEnumerable()
        {
            var emptyList = new List <string>();

            var subject = new MetaEnumerable <string>(emptyList);

            using (IEnumerator <MetaEnumerable <string> .Entry> iterator = subject.GetEnumerator())
            {
                Assert.IsFalse(iterator.MoveNext());
            }
        }
Ejemplo n.º 3
0
 private static void TestSingleEntry(MetaEnumerable <string> subject)
 {
     using (IEnumerator <MetaEnumerable <string> .Entry> iterator = subject.GetEnumerator())
     {
         Assert.IsTrue(iterator.MoveNext());
         Assert.IsTrue(iterator.Current.IsFirst);
         Assert.IsTrue(iterator.Current.IsLast);
         Assert.AreEqual("x", iterator.Current.Value);
         Assert.AreEqual(0, iterator.Current.Index);
         Assert.IsFalse(iterator.MoveNext());
     }
 }