Index: src/Deltares.DSoilModel.Forms.Tests/ControlTester.cs =================================================================== diff -u -r350 -r351 --- src/Deltares.DSoilModel.Forms.Tests/ControlTester.cs (.../ControlTester.cs) (revision 350) +++ src/Deltares.DSoilModel.Forms.Tests/ControlTester.cs (.../ControlTester.cs) (revision 351) @@ -85,9 +85,9 @@ if (isVisibleExpected) { var edit = GetPrivateField(parentControl, spinEditName); - + var initialValue = GetValue(target, outExpr); - Assert.AreEqual(initialValue, edit.Value, InitialValueMismatchString); + Assert.AreEqual(initialValue, edit.EditValue, InitialValueMismatchString); if (valueToTestWith != null) { @@ -118,6 +118,27 @@ } } + protected void TestComboBoxVisibleEnabledValue(IPropertyControl parentControl, string textEditName, + bool isVisibleExpected, bool isEnabledExpected, T target, Expression> outExpr, TEnum newValue = default(TEnum)) + { + TestControlVisibleEnabled(parentControl, textEditName, isVisibleExpected, isEnabledExpected); + if (isVisibleExpected) + { + var edit = GetPrivateField(parentControl, textEditName); + + var initialValue = GetValue(target, outExpr); + var editValue = ((DisplayItem) (edit.SelectedItem)).Value; // we need this hack, becuase edit.EditValue contains formatted and translated text + Assert.AreEqual(initialValue, editValue, InitialValueMismatchString); + + if (newValue != null) + { + edit.EditValue = newValue; + Assert.AreEqual(newValue, GetValue(target, outExpr), ObjectDidntReceivedValueString); + edit.EditValue = initialValue; // restoring initial value - it might be still useful + } + } + } + protected void TestLabelControlVisibleValue(IPropertyControl parentControl, string labelControlName, bool isVisibleExpected, string labelTextExpected) { TestControlVisibleEnabled(parentControl, labelControlName, isVisibleExpected, true); // labels are always enabled in DSL projects