Index: src/Deltares.DSoilModel.Forms.Tests/SosSoilLayer1DControlTests.cs =================================================================== diff -u -r376 -r377 --- src/Deltares.DSoilModel.Forms.Tests/SosSoilLayer1DControlTests.cs (.../SosSoilLayer1DControlTests.cs) (revision 376) +++ src/Deltares.DSoilModel.Forms.Tests/SosSoilLayer1DControlTests.cs (.../SosSoilLayer1DControlTests.cs) (revision 377) @@ -14,6 +14,14 @@ return new SosSoilLayer1DControl(); } + /// + /// Class to mock complex property with very specific logic, so it becomes much more testable. + /// + private class MockedSosSoilLayer1D : SosSoilLayer1D + { + public override double BottomLevel { get; set; } + } + [Test] public void ControlBindingsTest() { @@ -22,7 +30,7 @@ var soil2 = new Soil("TestSoil2", Color.Red); p.Soils.Add(soil2); p.Soils.Add(soil1); - var layer = new SosSoilLayer1D + var layer = new MockedSosSoilLayer1D { TopLevel = 9.9, // BottomLevel = 1.1, @@ -42,7 +50,7 @@ TestLabelControlVisibleValue(PropertyControl, "TopLabel", true, "Bovenkant [m NAP]"); TestSpinEditVisibleEnabledValue(PropertyControl, "TopEdit", true, true, layer, l => l.TopLevel, 9.1); TestLabelControlVisibleValue(PropertyControl, "BottomLabel", true, "Onderkant [m NAP]"); -// TestSpinEditVisibleEnabledValue(PropertyControl, "BottomEdit", true, true, layer, l => l.BottomLevel, 2.2); // TODO: crazy property + TestSpinEditVisibleEnabledValue(PropertyControl, "BottomEdit", true, true, layer, l => l.BottomLevel, 2.2); TestLabelControlVisibleValue(PropertyControl, "HeightLabel", true, "Hoogte [m]"); TestSpinEditVisibleEnabledValue(PropertyControl, "HeightEdit", true, false, layer, l => l.Height); // only getter TestLabelControlVisibleValue(PropertyControl, "MaxDepthTopLevelLabel", true, "Maximale waarde bovenkant [m]");