Exemple #1
0
        private NullDataCursor CreateCursor(int size)
        {
            var data = Enumerable.Range(0, size).Select(x => new object()).ToArray();
            var cur  = new NullDataCursor(data);

            return(cur);
        }
Exemple #2
0
        public void Move_GetSetEnableSafeSet_ValueMustEqualSet()
        {
            var cur = new NullDataCursor(null);

            cur.EnableSafeSet = true;
            Assert.IsTrue(cur.EnableSafeSet);
            cur.EnableSafeSet = false;
            Assert.IsFalse(cur.EnableSafeSet);
        }
Exemple #3
0
        public async Task Move_CallbackWasCalled()
        {
            var cur = new NullDataCursor(new object[] { new object() });
            await cur.MoveAsync(0);

            Assert.IsTrue(cur.IsOnMoved);
            await cur.MoveAsync(-1);

            Assert.IsTrue(cur.IsOnSkiped);
        }
Exemple #4
0
        public async Task GetAsyncEnumerable_MoveAll_AllGot()
        {
            var datas = Enumerable.Range(0, 100).Select(x => new object()).ToArray();
            var cur   = new NullDataCursor(datas);
            var c     = cur.GetAsyncEnumerator();
            var index = 0;

            while (await c.MoveNextAsync())
            {
                var val = c.Current;
                Assert.AreEqual(datas[index], val);
            }
        }
Exemple #5
0
        public async Task Move_MovedEventMustBeFired()
        {
            var cur = new NullDataCursor(new object[] { new object() });
            IDataCursor <object> sender = null;
            int index = -1;

            cur.Moved += (o, e) =>
            {
                sender = o;
                index  = e;
            };
            await cur.MoveAsync(0);

            Assert.AreEqual(cur, sender);
            Assert.AreEqual(0, index);

            sender = null;
            index  = -1;
            await cur.MoveAsync(0);
        }
Exemple #6
0
        public async Task Move_WhenSuccedPropertyChanged_FailNothingTodo()
        {
            var rand  = new Random();
            var range = Enumerable.Range(0, 10)
                        .Select(x => (object)rand.Next(0, 999))
                        .ToArray();
            var cur = new NullDataCursor(range);

            Assert.AreEqual(range.Length, cur.Count);
            Assert.AreEqual(-1, cur.CurrentIndex);

            var ok = await cur.MoveAsync(0);

            Assert.IsTrue(ok);
            Assert.AreEqual(0, cur.CurrentIndex);
            Assert.AreEqual(range[0], cur.Current);

            ok = await cur.MoveAsync(1);

            Assert.IsTrue(ok);
            Assert.AreEqual(1, cur.CurrentIndex);
            Assert.AreEqual(range[1], cur.Current);

            ok = await cur.MoveAsync(-1);

            Assert.IsFalse(ok);
            Assert.AreEqual(1, cur.CurrentIndex);
            Assert.AreEqual(range[1], cur.Current);

            ok = await cur.MoveAsync(9999999);

            Assert.IsFalse(ok);
            Assert.AreEqual(1, cur.CurrentIndex);
            Assert.AreEqual(range[1], cur.Current);
            cur.Dispose();
        }