Esempio n. 1
0
        /// <summary>
        /// 增加到工作流的头部,moveTask用于控制当已经存在key的时候,是否将它移动到头部
        /// </summary>
        public void AddFirst(string key, CoroutineAcion coroutineAcion, bool replaceAction = true, bool moveTask = false)
        {
            if (m_CoroutineMap.ContainsKey(key))
            {
                if (replaceAction)
                {
                    m_CoroutineMap[key] = coroutineAcion;
                }

                if (moveTask)
                {
                    coroutineAcion = m_CoroutineMap[key];
                    m_CoroutineMap.Remove(key);
                    m_CoroutineMap.AddFirst(key, coroutineAcion);
                }
            }
            else
            {
                m_CoroutineMap.AddFirst(key, coroutineAcion);
            }
        }
Esempio n. 2
0
        public static void TestLastKey()
        {
            LinkedDictionary <int, bool> linked = new LinkedDictionary <int, bool>();

            linked.Add(1, false);
            Assert.AreEqual(linked.LastKey, 1);
            linked.Add(2, true);
            Assert.AreEqual(linked.LastKey, 2);
            linked.Remove(1);
            Assert.AreEqual(linked.LastKey, 2);
            linked.AddFirst(3, false);
            Assert.AreEqual(linked.LastKey, 2);
            linked.Add(4, true);
            Assert.AreEqual(linked.LastKey, 4);
            linked.Remove(3);
            Assert.AreEqual(linked.LastKey, 4);
            linked.Remove(4);
            Assert.AreEqual(linked.LastKey, 2);
            linked.Remove(2);
        }
Esempio n. 3
0
        public static void TestFirstKey()
        {
            LinkedDictionary <int, char> linked = new LinkedDictionary <int, char>();

            linked.Add(1, 'a');
            Assert.AreEqual(linked.FirstKey, 1);
            linked.Add(2, 'b');
            Assert.AreEqual(linked.FirstKey, 1);
            linked.Remove(1);
            Assert.AreEqual(linked.FirstKey, 2);
            linked.AddFirst(3, 'c');
            Assert.AreEqual(linked.FirstKey, 3);
            linked.Add(4, 'd');
            Assert.AreEqual(linked.FirstKey, 3);
            linked.Remove(3);
            Assert.AreEqual(linked.FirstKey, 2);
            linked.Remove(2);
            Assert.AreEqual(linked.FirstKey, 4);
            linked.Remove(4);
        }