Пример #1
0
        private static void MoveNextBenchMut(BaseContainer <int> bcMut, int count, int mult)
        {
            // warmup
            for (int _ = 0; _ < 1; _++)
            {
                var cMut = new BlockCursor <int, object, BaseContainer <int> >(bcMut);

                for (int i = 0; i < count; i++)
                {
                    cMut.MoveNext();
                }
            }

            using (Benchmark.Run("Mut", count * mult))
            {
                for (int _ = 0; _ < mult; _++)
                {
                    var cMut = new BlockCursor <int, object, BaseContainer <int> >(bcMut);

                    for (int i = 0; i < count; i++)
                    {
                        cMut.MoveNext();
                    }
                }
            }
        }
Пример #2
0
        public void CouldMoveNext()
        {
            var count = 100;
            var len   = count / 2;
            var bc    = CreateIntBaseContainer(count, len);
            var c     = new BlockCursor <int, object, BaseContainer <int> >(bc);

            for (int i = 0; i < len; i++)
            {
                Assert.IsTrue(c.MoveNext());
                Assert.AreEqual(i, c._blockPosition);
            }

            Assert.AreEqual(1 - len, c.Move(long.MinValue, true));

            bc.Dispose();
        }