public void SourceManipulation() { var numbers = new ObservableDictionary <int, int>(Enumerable.Range(0, 10).ToDictionary(i => i)); using var query = numbers.ActiveValueForOrDefault(9); Assert.IsNull(query.OperationFault); Assert.AreEqual(9, query.Value); numbers.Remove(9); Assert.IsNull(query.OperationFault); Assert.AreEqual(0, query.Value); numbers.Add(9, 30); Assert.IsNull(query.OperationFault); Assert.AreEqual(30, query.Value); numbers[9] = 15; Assert.IsNull(query.OperationFault); Assert.AreEqual(15, query.Value); }