Esempio n. 1
0
        public void MoveNextThrowsInvalidOperationException_AfterListIsChanged()
        {
            var list = new RecentCollection <string>(10)
            {
                "Neo", "Morpheus", "Trinity", "Agent Smith", "Oracle"
            };
            var enumerator = list.GetEnumerator();

            list.Add("Merovingian");
            enumerator.MoveNext();
        }
Esempio n. 2
0
        public void CanSerializeAndDeserialize()
        {
            var list = new RecentCollection <int>(10);

            list.Add(3);
            list.Add(2);
            list.Add(1);

            var memStream       = new MemoryStream();
            var binaryFormatter = new BinaryFormatter();

            binaryFormatter.Serialize(memStream, list);
            memStream.Position = 0;
            var listCopy = (RecentCollection <int>)binaryFormatter.Deserialize(memStream);

            memStream.Dispose();

            Assert.IsNotNull(listCopy);
            Assert.AreEqual(list.Count, listCopy.Count);
            Assert.AreEqual(list.Capacity, listCopy.Capacity);
            var iter1 = list.GetEnumerator();
            var iter2 = listCopy.GetEnumerator();

            for (;;)
            {
                bool hasNext1 = iter1.MoveNext();
                bool hasNext2 = iter2.MoveNext();
                Assert.AreEqual(hasNext1, hasNext2);

                if (!hasNext1 && !hasNext2)
                {
                    break;
                }

                Assert.AreEqual(iter1.Current, iter2.Current);
            }
        }
Esempio n. 3
0
        public void MoveNextThrowsInvalidOperationException_AfterListIsChanged()
        {
            var list = new RecentCollection<string>(10) { "Neo", "Morpheus", "Trinity", "Agent Smith", "Oracle" };
            var enumerator = list.GetEnumerator();

            list.Add("Merovingian");
            enumerator.MoveNext();
        }
Esempio n. 4
0
        public void CanSerializeAndDeserialize()
        {
            var list = new RecentCollection<int>(10);
            list.Add(3);
            list.Add(2);
            list.Add(1);

            var memStream = new MemoryStream();
            var binaryFormatter = new BinaryFormatter();
            binaryFormatter.Serialize(memStream, list);
            memStream.Position = 0;
            var listCopy = (RecentCollection<int>)binaryFormatter.Deserialize(memStream);
            memStream.Dispose();

            Assert.IsNotNull(listCopy);
            Assert.AreEqual(list.Count, listCopy.Count);
            Assert.AreEqual(list.Capacity, listCopy.Capacity);
            var iter1 = list.GetEnumerator();
            var iter2 = listCopy.GetEnumerator();
            for (;;)
            {
                bool hasNext1 = iter1.MoveNext();
                bool hasNext2 = iter2.MoveNext();
                Assert.AreEqual(hasNext1, hasNext2);

                if (!hasNext1 && !hasNext2) break;

                Assert.AreEqual(iter1.Current, iter2.Current);
            }
        }