public void Add_Processed_ItemIsAdded()
        {
            var list = new DelayedList <object>();
            var item = new object();

            list.Add(item);
            list.ProcessPending();

            Assert.IsTrue(list.Contains(item));
        }
        public void Remove_Unprocessed_NotRemovedYet()
        {
            var list = new DelayedList <object>();
            var item = new object();

            list.Add(item);
            list.ProcessPending();
            list.Remove(item);

            Assert.IsTrue(list.Contains(item));
        }
        public void AddThenRemove_Processed_NotAdded()
        {
            var list = new DelayedList <object>();
            var item = new object();

            list.Add(item);
            list.Remove(item);
            list.ProcessPending();

            Assert.IsFalse(list.Contains(item));
        }