public void IntAverage_ObservableSource_NoUpdatesWhenDetached() { var update = false; var coll = new NotifyCollection <int>() { 1, 2, 3 }; var test = Observable.Expression(() => coll.Average()); test.ValueChanged += (o, e) => update = true; Assert.AreEqual(2, test.Value); Assert.IsFalse(update); test.Detach(); coll.Add(4); Assert.IsFalse(update); test.Attach(); Assert.IsTrue(update); Assert.AreEqual(2.5, test.Value); update = false; coll.Add(5); Assert.IsTrue(update); }
public void IntAverage_ObservableSource_NoUpdatesWhenDetached() { var update = false; var coll = new NotifyCollection<int>() { 1, 2, 3 }; var test = Observable.Expression(() => coll.Average()); test.ValueChanged += (o, e) => update = true; Assert.AreEqual(2, test.Value); Assert.IsFalse(update); test.Detach(); coll.Add(4); Assert.IsFalse(update); test.Attach(); Assert.IsTrue(update); Assert.AreEqual(2.5, test.Value); update = false; coll.Add(5); Assert.IsTrue(update); }
public void LambdaNullableIntAverage_ObservableSourceReset_Update() { var update = false; var coll = new NotifyCollection <Dummy <int?> >() { 1, 2, new Dummy <int?>(), 3 }; var test = Observable.Expression(() => coll.Average(d => d.Item)); test.ValueChanged += (o, e) => update = true; coll.Clear(); Assert.IsTrue(update); }
public void IntAverage_ObservableSourceReset_Update() { var update = false; var coll = new NotifyCollection <int>() { 1, 2, 3 }; var test = Observable.Expression(() => coll.Average()); test.ValueChanged += (o, e) => update = true; coll.Clear(); Assert.IsTrue(update); }
public void SelectWithAverage2() { var updates = 0; var coll = new NotifyCollection <TestItem>(); var query = from item in coll where item.Items < coll.Average(t => t.Items) select item; var testItem1 = new TestItem() { Items = 1, Team = "A" }; var testItem2 = new TestItem() { Items = 2, Team = "A" }; query.CollectionChanged += (o, e) => { updates++; Assert.AreEqual(NotifyCollectionChangedAction.Add, e.Action); Assert.AreEqual(1, e.NewItems.Count); Assert.AreSame(testItem1, e.NewItems[0]); }; coll.Add(testItem2); Assert.AreEqual(0, updates); coll.Add(testItem1); Assert.AreEqual(1, updates); Assert.AreEqual(1, query.Count()); Assert.IsTrue(query.Contains(testItem1)); }
public void SelectWithAverage2() { var updates = 0; var coll = new NotifyCollection<TestItem>(); var query = from item in coll where item.Items < coll.Average(t => t.Items) select item; var testItem1 = new TestItem() { Items = 1, Team = "A" }; var testItem2 = new TestItem() { Items = 2, Team = "A" }; query.CollectionChanged += (o, e) => { updates++; Assert.AreEqual(NotifyCollectionChangedAction.Add, e.Action); Assert.AreEqual(1, e.NewItems.Count); Assert.AreSame(testItem1, e.NewItems[0]); }; coll.Add(testItem2); Assert.AreEqual(0, updates); coll.Add(testItem1); Assert.AreEqual(1, updates); Assert.AreEqual(1, query.Count()); Assert.IsTrue(query.Contains(testItem1)); }
public void LambdaNullableIntAverage_ObservableSourceReset_Update() { var update = false; var coll = new NotifyCollection<Dummy<int?>>() { 1, 2, new Dummy<int?>(), 3 }; var test = Observable.Expression(() => coll.Average(d => d.Item)); test.ValueChanged += (o, e) => update = true; coll.Clear(); Assert.IsTrue(update); }
public void IntAverage_ObservableSourceReset_Update() { var update = false; var coll = new NotifyCollection<int>() { 1, 2, 3 }; var test = Observable.Expression(() => coll.Average()); test.ValueChanged += (o, e) => update = true; coll.Clear(); Assert.IsTrue(update); }