Beispiel #1
0
        public void IEnumerable()
        {
            using (var arr = new SwiftArray <sbyte> (1, 2, 3, 4, 5, 6, 7, 8, 9)) {
                var list = new List <sbyte> ();
                foreach (var item in arr)
                {
                    list.Add(item);
                }
                CollectionAssert.AreEqual(new sbyte [] { 1, 2, 3, 4, 5, 6, 7, 8, 9 }, list, "Enumerator");

                arr.Dispose();
                var enumerator = arr.GetEnumerator();                  // No exception
                Assert.Throws <ObjectDisposedException> (() => { foreach (var x in arr)
                                                                 {
                                                                 }
                                                         }, "Enumerator ODE 3");
                Assert.Throws <ObjectDisposedException> (() => { enumerator.MoveNext(); }, "Enumerator ODE 2");
                Assert.DoesNotThrow(() => { var x = enumerator.Current; }, "Enumerator !ODE");
            }
        }