예제 #1
0
        public void TestMethod1()
        {
            DoubleBuff <uint> buffer = new DoubleBuff <uint>();

            Assert.IsFalse(buffer.Contain(1));
            buffer.Add(1);
            Assert.IsTrue(buffer.Contain(1));
            buffer.Remove(1);
            Assert.IsFalse(buffer.Contain(1));

            for (uint i = 0; i < 10; i++)
            {
                buffer.Add(i);
            }

            int cnt = 0;

            foreach (var item in buffer)
            {
                Assert.IsTrue(item == (uint)cnt);
                buffer.Add(item + 10);
                cnt++;
            }

            Assert.IsTrue(buffer.Contain(19));
            Assert.IsFalse(buffer.Contain(20));
        }
예제 #2
0
        public void UnRegist(Key key, Action <object> msgHandler)
        {
            DoubleBuff <Action <object> > buffer = null;

            if (!handlers.TryGetValue(key, out buffer))
            {
                return;
            }

            buffer.Remove(msgHandler);
        }