Example #1
0
        public void Indexer_Setter_Exception_IndexIsEqualToCount()
        {
            VirtualizingList<int> list = new VirtualizingList<int>();
            list.UpdateCount(20);

            Assert.ThrowsException<ArgumentOutOfRangeException>(() => list[20] = 100);
        }
        /// <summary>
        /// Refreshes the view model.
        /// </summary>
        /// <returns>A task tracking the operation.</returns>
        public override Task Refresh()
        {
            subscription?.Dispose();

            var dispose    = new CompositeDisposable();
            var itemSource = CreateItemSource();
            var items      = new VirtualizingList <IIssueListItemViewModelBase>(itemSource, null);
            var view       = new VirtualizingListCollectionView <IIssueListItemViewModelBase>(items);

            view.Filter = FilterItem;
            Items       = items;
            ItemsView   = view;

            dispose.Add(itemSource);
            dispose.Add(
                Observable.CombineLatest(
                    itemSource.WhenAnyValue(x => x.IsLoading),
                    view.WhenAnyValue(x => x.Count),
                    this.WhenAnyValue(x => x.SearchQuery),
                    this.WhenAnyValue(x => x.SelectedState),
                    this.WhenAnyValue(x => x.AuthorFilter.Selected),
                    (loading, count, _, __, ___) => Tuple.Create(loading, count))
                .Subscribe(x => UpdateState(x.Item1, x.Item2)));
            subscription = dispose;

            return(Task.CompletedTask);
        }
Example #3
0
        public void Indexer_SettingAndGettingReturnsSameElement()
        {
            VirtualizingList<int> list = new VirtualizingList<int>();
            list.UpdateCount(20);
            list[10] = 42;

            Assert.AreEqual(42, list[10]);
        }
Example #4
0
        public void Indexer_Getter_ReturnsPlaceholderFarAfterSetElement()
        {
            VirtualizingList<int> list = new VirtualizingList<int>();
            list.UpdateCount(2000);
            list[10] = 42;

            Assert.AreEqual(0, list[1990]);
        }
        /// <summary>
        /// Constructor for the rCAD BioEntity
        /// </summary>
        /// <param name="dc">Linq2Sql DataContext</param>
        /// <param name="seqid">Sequence ID (key)</param>
        /// <param name="alignmentid">Alignment ID (key)</param>
        /// <param name="length">Total length in bytes of the sequence</param>
        public DbAlignedBioEntity(rcadDataContext dc, string connectionString, int seqid, int alignmentid, int length)
        {
            // Create a virtualized list of the data
            _bioList = new VirtualizingList <IBioSymbol>(
                new DbAlignmentProvider(dc, connectionString, seqid, alignmentid, length),
                Math.Min(512, length), 60);

            // Determine the first column with valid data
            //KJD (10/21/2009) - Change query to use vAlignmentGridUngapped which takes into account column indirection supported by the rCAD schema
            //instead of querying the Sequence table directly
            FirstDataColumn = dc.vAlignmentGridUngappeds.Where(s => ((s.SeqID == seqid) && (s.AlnID == alignmentid))).Min(s => s.LogicalColumnNumber) - 1;
        }
Example #6
0
        private VirtualizingList <MessageModel> InvokeLoadMsg()
        {
            var watcher = new Stopwatch();

            watcher.Start();
            //邮件总数
            var count = DbOperator.GetMessageCount(_dbHelper);

            //获取邮件
            var mailProvider = new MessageProvider(count, 1000)
            {
                DbHelper = _dbHelper
            };

            var list = new VirtualizingList <MessageModel>(mailProvider, 100, 1000);

            watcher.Stop();
            TotalTime = watcher.ElapsedMilliseconds.ToString(CultureInfo.InvariantCulture);

            return(list);
        }
        /// <summary>
        /// Refreshes the view model.
        /// </summary>
        /// <returns>A task tracking the operation.</returns>
        public override Task Refresh()
        {
            if (RemoteRepository == null)
            {
                // If an exception occurred reading the parent repository, do nothing.
                return(Task.CompletedTask);
            }

            subscription?.Dispose();

            var dispose    = new CompositeDisposable();
            var itemSource = CreateItemSource();
            var items      = new VirtualizingList <IIssueListItemViewModelBase>(itemSource, null);
            var view       = new VirtualizingListCollectionView <IIssueListItemViewModelBase>(items);

            view.Filter = FilterItem;
            Items       = items;
            ItemsView   = view;
            Error       = null;

            dispose.Add(itemSource);
            dispose.Add(
                Observable.CombineLatest(
                    itemSource.WhenAnyValue(x => x.IsLoading),
                    view.WhenAnyValue(x => x.Count),
                    this.WhenAnyValue(x => x.SearchQuery),
                    this.WhenAnyValue(x => x.SelectedState),
                    this.WhenAnyValue(x => x.AuthorFilter.Selected),
                    (loading, count, _, __, ___) => Tuple.Create(loading, count))
                .ObserveOn(RxApp.MainThreadScheduler)
                .Subscribe(x => UpdateState(x.Item1, x.Item2)));
            dispose.Add(
                Observable.FromEventPattern <ErrorEventArgs>(
                    x => items.InitializationError += x,
                    x => items.InitializationError -= x)
                .Subscribe(x => Error = x.EventArgs.GetException()));
            subscription = dispose;

            return(Task.CompletedTask);
        }
Example #8
0
        public void IsReadOnly_IsFalse()
        {
            VirtualizingList<int> list = new VirtualizingList<int>();

            Assert.AreEqual(false, list.IsReadOnly);
        }
Example #9
0
        public void GetEnumerator_NonGeneric_EnumeratesArray()
        {
            VirtualizingList<int> list = new VirtualizingList<int>();
            list.UpdateCount(20);
            list[2] = 8;
            list[10] = 42;

            List<int> result = new List<int>();

            IEnumerator enumerator = ((IEnumerable)list).GetEnumerator();

            while (enumerator.MoveNext())
                result.Add((int)enumerator.Current);

            CollectionAssert.AreEqual(new int[] { 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 42, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, result);
        }
Example #10
0
        public void Add_AddsNewItemToList()
        {
            VirtualizingList<int> list = new VirtualizingList<int>();
            list.UpdateCount(20);

            list.Add(123);

            Assert.AreEqual(21, list.Count);
            Assert.AreEqual(123, list[20]);
        }
Example #11
0
        public void UpdateCount_UpdatesCountProperty()
        {
            VirtualizingList<int> list = new VirtualizingList<int>();
            list.UpdateCount(20);

            Assert.AreEqual(20, list.Count);
        }
Example #12
0
 public void UpdateCount_Exception_CountIsLessThanZero()
 {
     VirtualizingList<int> list = new VirtualizingList<int>();
     Assert.ThrowsException<ArgumentOutOfRangeException>(() => list.UpdateCount(-1));
 }
Example #13
0
        public void CopyTo_CopiesToDestinationArray()
        {
            VirtualizingList<int> list = new VirtualizingList<int>();
            list.UpdateCount(20);
            list[2] = 8;
            list[10] = 42;

            int[] destination = new int[25];
            destination[1] = 1;
            destination[5] = 2;
            destination[22] = 3;

            list.CopyTo(destination, 2);

            CollectionAssert.AreEqual(new int[] { 0, 1, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 42, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0 }, destination);
        }
Example #14
0
        public void RemoveAt_Exception_IndexIsEqualToCount()
        {
            VirtualizingList<int> list = new VirtualizingList<int>();
            list.UpdateCount(20);

            Assert.ThrowsException<ArgumentOutOfRangeException>(() => list.RemoveAt(20));
        }
Example #15
0
        public void Clear_ClearsTheList()
        {
            VirtualizingList<int> list = new VirtualizingList<int>();
            list.UpdateCount(20);

            list.Clear();

            Assert.AreEqual(0, list.Count);
        }
Example #16
0
        public void Remove_ReturnsFalseForItemNotInList()
        {
            VirtualizingList<int> list = new VirtualizingList<int>();
            list.UpdateCount(20);
            list[2] = 8;
            list[5] = 10;
            list[10] = 42;

            bool result = list.Remove(12);

            Assert.AreEqual(false, result);
        }
Example #17
0
        public void Contains_ReturnsTrueIfItemInList()
        {
            VirtualizingList<int> list = new VirtualizingList<int>();
            list.UpdateCount(20);
            list[2] = 8;
            list[10] = 42;

            bool result = list.Contains(42);

            Assert.AreEqual(true, result);
        }
Example #18
0
        public void Insert_Exception_IndexIsGreaterThanCount()
        {
            VirtualizingList<int> list = new VirtualizingList<int>();
            list.UpdateCount(20);

            Assert.ThrowsException<ArgumentOutOfRangeException>(() => list.Insert(21, 123));
        }
Example #19
0
        public void IndexOf_ReturnsMinusOneIfNotInList()
        {
            VirtualizingList<int> list = new VirtualizingList<int>();
            list.UpdateCount(20);
            list[2] = 8;
            list[10] = 42;

            int result = list.IndexOf(15);

            Assert.AreEqual(-1, result);
        }
Example #20
0
        public void IndexOf_ReturnsIndexOfItemInList()
        {
            VirtualizingList<int> list = new VirtualizingList<int>();
            list.UpdateCount(20);
            list[2] = 8;
            list[10] = 42;

            int result = list.IndexOf(42);

            Assert.AreEqual(10, result);
        }
Example #21
0
        public void Constructor_Void_CollectionIsEmpty()
        {
            VirtualizingList<int> list = new VirtualizingList<int>();

            Assert.AreEqual(0, list.Count);
        }
Example #22
0
        public void Indexer_Getter_Exception_IndexIsLessThanZero()
        {
            VirtualizingList<int> list = new VirtualizingList<int>();
            list.UpdateCount(20);

            Assert.ThrowsException<ArgumentOutOfRangeException>(() => list[-1]);
        }
Example #23
0
        public void RemoveAt_RemovesItemFromList()
        {
            VirtualizingList<int> list = new VirtualizingList<int>();
            list.UpdateCount(20);
            list[2] = 8;
            list[5] = 10;
            list[10] = 42;

            list.RemoveAt(5);

            Assert.AreEqual(19, list.Count);
            Assert.AreEqual(8, list[2]);
            Assert.AreEqual(42, list[9]);
        }
Example #24
0
        public void Insert_InsertsItemIntoList()
        {
            VirtualizingList<int> list = new VirtualizingList<int>();
            list.UpdateCount(20);
            list[2] = 8;
            list[10] = 42;

            list.Insert(5, 123);

            Assert.AreEqual(21, list.Count);
            Assert.AreEqual(8, list[2]);
            Assert.AreEqual(123, list[5]);
            Assert.AreEqual(42, list[11]);
        }
Example #25
0
        public void Contains_ReturnsFalseIfNotInList()
        {
            VirtualizingList<int> list = new VirtualizingList<int>();
            list.UpdateCount(20);
            list[2] = 8;
            list[10] = 42;

            bool result = list.Contains(15);

            Assert.AreEqual(false, result);
        }