public IEnumerable <IObservable> SetPropertyValueAfterConfirmation <TValue>( TFailureMechanism failureMechanism, TValue value, SetFailureMechanismPropertyValueDelegate <TFailureMechanism, TValue> setValue) { Called = true; Assert.AreSame(ExpectedFailureMechanism, failureMechanism); Assert.AreEqual(ExpectedValue, value); setValue(failureMechanism, value); return(ReturnedAffectedObjects); }
public IEnumerable <IObservable> SetPropertyValueAfterConfirmation <TValue>( T failureMechanism, TValue value, SetFailureMechanismPropertyValueDelegate <T, TValue> setValue) { if (failureMechanism == null) { throw new ArgumentNullException(nameof(failureMechanism)); } if (value == null) { throw new ArgumentNullException(nameof(value)); } if (setValue == null) { throw new ArgumentNullException(nameof(setValue)); } var changedObjects = new List <IObservable>(); if (RequiresConfirmation(failureMechanism)) { if (ConfirmPropertyChange()) { setValue(failureMechanism, value); changedObjects.AddRange(PropertyChanged(failureMechanism)); changedObjects.Add(failureMechanism); } } else { setValue(failureMechanism, value); changedObjects.Add(failureMechanism); } return(changedObjects); }