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

            list.Add(new object());

            Assert.IsEmpty(list);
        }
        public void Remove_Empty_Processed_NothingChanged()
        {
            var list = new DelayedList <object>();
            var item = new object();

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

            Assert.IsEmpty(list);
        }
        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 AddThenClearPending_Processed_NoItemsAdded()
        {
            var list = new DelayedList <object>();

            Fill(list, 5);
            list.ClearPending();
            list.ProcessPending();

            Assert.IsEmpty(list);
        }
        public void ClearInstantly_Unprocessed_AllItemsRemoved()
        {
            var list = new DelayedList <object>();

            Fill(list, 5);
            list.ProcessPending();
            list.ClearInstantly();

            Assert.IsEmpty(list);
        }
        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));
        }
        public void Remove_NotInList_Processed_NothingChanged()
        {
            var list = new DelayedList <object>();
            var item = new object();

            Fill(list, 5);
            list.ProcessPending();
            list.Remove(item);
            list.ProcessPending();

            Assert.AreEqual(5, list.Count);
        }
        public void ClearThenAdd_Processed_OnlyAddedItemLeft()
        {
            var list = new DelayedList <object>();
            var item = new object();

            Fill(list, 5);
            list.ProcessPending();

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

            Assert.AreEqual(1, list.Count);
            Assert.AreSame(item, list[0]);
        }
Esempio n. 10
0
 /// <summary>
 /// Creates a new Event with the specified ID.
 /// </summary>
 /// <param name="id">The id of the event.</param>
 public Event(int id)
 {
     Id         = id;
     _listeners = new DelayedList <PrioritizedItem <IEventListener> >(new PrioritizedList <IEventListener>());
 }
Esempio n. 11
0
 public UnitManager(PlayerData playerData)
 {
     Units       = new DelayedList <IUnit>();
     _playerData = playerData;
 }
Esempio n. 12
0
 internal UpdateLoop()
 {
     Updatables = new DelayedList <IIsUpdatable>();
 }
Esempio n. 13
0
 /// <summary>
 /// Creates a new Event with the specified ID and initial listener capacity.
 /// </summary>
 /// <param name="id">The id of the event.</param>
 /// <param name="initialListenerCapacity">The initial capacity for listeners.</param>
 public Event(int id, int initialListenerCapacity)
 {
     _id        = id;
     _listeners = new DelayedList <PrioritizedItem <Listener> >(new PrioritizedList <Listener>(initialListenerCapacity));
 }