Example #1
0
        /// <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);
        }