示例#1
0
        public void ExpressionlessEmptySource()
        {
            var numbers = new ObservableDictionary <int, int>();

            using (var query = numbers.ActiveLastOrDefault())
            {
                Assert.IsNull(query.OperationFault);
                Assert.AreEqual(0, query.Value.Value);
            }
        }
示例#2
0
        public void SourceManipulation()
        {
            var numbers = new ObservableDictionary <int, int>(System.Linq.Enumerable.Range(0, 10).ToDictionary(i => i));

            using (var query = numbers.ActiveLastOrDefault((key, value) => value % 3 == 0))
            {
                Assert.IsNull(query.OperationFault);
                Assert.AreEqual(9, query.Value.Value);
                numbers.Remove(9);
                Assert.AreEqual(6, query.Value.Value);
                numbers.RemoveAll((key, value) => value % 3 == 0);
                Assert.IsNull(query.OperationFault);
                Assert.AreEqual(0, query.Value.Value);
                numbers.Add(30, 30);
                Assert.IsNull(query.OperationFault);
                Assert.AreEqual(30, query.Value.Value);
            }
        }