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); }
public void Indexer_SettingAndGettingReturnsSameElement() { VirtualizingList<int> list = new VirtualizingList<int>(); list.UpdateCount(20); list[10] = 42; Assert.AreEqual(42, list[10]); }
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; }
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); }
public void IsReadOnly_IsFalse() { VirtualizingList<int> list = new VirtualizingList<int>(); Assert.AreEqual(false, list.IsReadOnly); }
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); }
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]); }
public void UpdateCount_UpdatesCountProperty() { VirtualizingList<int> list = new VirtualizingList<int>(); list.UpdateCount(20); Assert.AreEqual(20, list.Count); }
public void UpdateCount_Exception_CountIsLessThanZero() { VirtualizingList<int> list = new VirtualizingList<int>(); Assert.ThrowsException<ArgumentOutOfRangeException>(() => list.UpdateCount(-1)); }
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); }
public void RemoveAt_Exception_IndexIsEqualToCount() { VirtualizingList<int> list = new VirtualizingList<int>(); list.UpdateCount(20); Assert.ThrowsException<ArgumentOutOfRangeException>(() => list.RemoveAt(20)); }
public void Clear_ClearsTheList() { VirtualizingList<int> list = new VirtualizingList<int>(); list.UpdateCount(20); list.Clear(); Assert.AreEqual(0, list.Count); }
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); }
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); }
public void Insert_Exception_IndexIsGreaterThanCount() { VirtualizingList<int> list = new VirtualizingList<int>(); list.UpdateCount(20); Assert.ThrowsException<ArgumentOutOfRangeException>(() => list.Insert(21, 123)); }
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); }
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); }
public void Constructor_Void_CollectionIsEmpty() { VirtualizingList<int> list = new VirtualizingList<int>(); Assert.AreEqual(0, list.Count); }
public void Indexer_Getter_Exception_IndexIsLessThanZero() { VirtualizingList<int> list = new VirtualizingList<int>(); list.UpdateCount(20); Assert.ThrowsException<ArgumentOutOfRangeException>(() => list[-1]); }
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]); }
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]); }
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); }