public void NoChangesAllowedDuringPreview() { // On preview, try adding an arbitrary item var d = _source.Preview().Subscribe(_ => { Assert.Throws <InvalidOperationException>(() => _source.Add(1)); }); // Trigger a change _source.Add(1); // Cleanup d.Dispose(); }
public void ChangesAreNotYetAppliedDuringPreview() { _source.Clear(); // On preview, make sure the list is empty var d = _source.Preview().Subscribe( _ => { Assert.True(_source.Count == 0); Assert.True(_source.Items.Count() == 0); }); // Trigger a change _source.Add(1); // Cleanup d.Dispose(); }
public IObservable <IChangeSet <T> > Preview(Func <T, bool> predicate = null) => _sourceList.Preview(predicate);