/// <summary> /// Creates the lookup property. /// </summary> /// <typeparam name="TValue"></typeparam> /// <typeparam name="TItem"></typeparam> /// <param name="originalValue">The original value.</param> /// <param name="fillItemsSourceAction">The action that fill the lookup.</param> /// <returns></returns> protected ILookupViewModelProperty <TValue, TItem> CreateLookupProperty <TValue, TItem>(TValue originalValue, Func <IEnumerable <TItem> > fillItemsSourceAction) { var property = new LookupViewModelProperty <TValue, TItem>(originalValue, fillItemsSourceAction, _observableValidationEngine); RegisterViewModelProperty(property); return(property); }
public void NullSameAsEmptyForStrings() { // Prepare var items = new[] { "1", "2", "3", "4" }; var valueViewModelProperty = new LookupViewModelProperty <string, string>(null, () => items, new ObservableValidationEngine()); // Act valueViewModelProperty.SelectedValue = String.Empty; // Verify Assert.IsFalse(valueViewModelProperty.HasChanged); }
public void HasChangedIsSupported() { // Prepare var items = new[] { "1", "2", "3", "4" }; var lookupViewModelProperty = new LookupViewModelProperty <string, string>("1", () => items, new ObservableValidationEngine()); // Act lookupViewModelProperty.SelectedValue = "2"; // Verify Assert.IsTrue(lookupViewModelProperty.HasChanged); }