Index: Ringtoets/Piping/test/Ringtoets.Piping.Forms.Test/Views/PipingInputViewTest.cs =================================================================== diff -u -r33d5e01761f16b2d2e113ac0ffa86d49a48db5cb -ra246db9c5134d2c12ee5a37b19bde5e442acce38 --- Ringtoets/Piping/test/Ringtoets.Piping.Forms.Test/Views/PipingInputViewTest.cs (.../PipingInputViewTest.cs) (revision 33d5e01761f16b2d2e113ac0ffa86d49a48db5cb) +++ Ringtoets/Piping/test/Ringtoets.Piping.Forms.Test/Views/PipingInputViewTest.cs (.../PipingInputViewTest.cs) (revision a246db9c5134d2c12ee5a37b19bde5e442acce38) @@ -57,6 +57,7 @@ Assert.IsInstanceOf(view); Assert.IsNotNull(view.Chart); Assert.IsNull(view.Data); + Assert.AreEqual(2, view.Controls.Count); } } @@ -67,16 +68,32 @@ using (var view = new PipingInputView()) { // Assert - Assert.AreEqual(1, view.Controls.Count); - Assert.AreSame(view.Chart, view.Controls[0]); - Assert.AreEqual(DockStyle.Fill, ((Control) view.Chart).Dock); - Assert.AreEqual("Afstand [m]", view.Chart.BottomAxisTitle); - Assert.AreEqual("Hoogte [m+NAP]", view.Chart.LeftAxisTitle); - Assert.IsNull(view.Chart.Data); + var chartControl = view.Controls.Find("chartControl", true).First() as IChartControl; + Assert.IsInstanceOf(chartControl); + Assert.NotNull(chartControl); + Assert.AreSame(chartControl, chartControl); + Assert.AreEqual(DockStyle.Fill, ((Control)chartControl).Dock); + Assert.AreEqual("Afstand [m]", chartControl.BottomAxisTitle); + Assert.AreEqual("Hoogte [m+NAP]", chartControl.LeftAxisTitle); + Assert.IsNull(chartControl.Data); } } [Test] + public void DefaultConstructor_Always_AddEmptyTableControl() + { + // Call + using (var view = new PipingInputView()) + { + // Assert + var tableControl = view.Controls.Find("pipingSoilLayerTable", true).First() as PipingSoilLayerTable; + Assert.NotNull(tableControl); + Assert.AreEqual(DockStyle.Bottom, tableControl.Dock); + CollectionAssert.IsEmpty(tableControl.Rows); + } + } + + [Test] public void Data_PipingCalculationScenario_DataSet() { // Setup @@ -129,18 +146,45 @@ } [Test] - public void Data_EmptyGrassCoverErosionInwardsCalculation_NoMapDataSet() + public void Data_SetToNull_TableDataCleared() { // Setup using (var view = new PipingInputView()) { - var calculation = new PipingCalculationScenario(new GeneralPipingInput()); + var calculation = new PipingCalculationScenario(new GeneralPipingInput()) + { + InputParameters = + { + StochasticSoilProfile = new StochasticSoilProfile(0.1, SoilProfileType.SoilProfile1D, 1) + { + SoilProfile = new PipingSoilProfile( + "profile", + -1, + new[] + { + new PipingSoilLayer(3.0), + new PipingSoilLayer(2.0), + new PipingSoilLayer(0) + }, + SoilProfileType.SoilProfile1D, + 1) + } + } + }; - // Call view.Data = calculation; + var tableControl = view.Controls.Find("pipingSoilLayerTable", true).First() as PipingSoilLayerTable; + // Precondition + Assert.NotNull(tableControl); + Assert.AreEqual(3, tableControl.Rows.Count); + + // Call + view.Data = null; + // Assert - AssertEmptyChartData(view.Chart.Data); + Assert.IsNull(view.Data); + CollectionAssert.IsEmpty(tableControl.Rows); } } @@ -185,6 +229,22 @@ } [Test] + public void Data_WithoutSurfaceLine_NoMapDataSet() + { + // Setup + using (var view = new PipingInputView()) + { + var calculation = new PipingCalculationScenario(new GeneralPipingInput()); + + // Call + view.Data = calculation; + + // Assert + AssertEmptyChartData(view.Chart.Data); + } + } + + [Test] public void Data_WithSurfaceLineWithoutStochasticSoilProfile_CollectionOfEmptyChartDataSetForSoilProfile() { // Setup @@ -244,6 +304,44 @@ } [Test] + public void Data_WithoutStochasticSoilProfile_SoilLayerTableEmpty() + { + // Setup + using (var view = new PipingInputView()) + { + var calculation = new PipingCalculationScenario(new GeneralPipingInput()); + + // Call + view.Data = calculation; + + // Assert + AssertEmtpySoilLayerTable(view); + } + } + + [Test] + public void Data_WithoutSoilProfile_SoilLayerTableEmpty() + { + // Setup + using (var view = new PipingInputView()) + { + var calculation = new PipingCalculationScenario(new GeneralPipingInput()) + { + InputParameters = + { + StochasticSoilProfile = new StochasticSoilProfile(0.5, SoilProfileType.SoilProfile1D, 1) + } + }; + + // Call + view.Data = calculation; + + // Assert + AssertEmtpySoilLayerTable(view); + } + } + + [Test] public void UpdateObserver_CalculationNameUpdated_ChartTitleUpdated() { // Setup @@ -621,6 +719,15 @@ return surfaceLine; } + private static void AssertEmtpySoilLayerTable(PipingInputView view) + { + var tableControl = view.Controls.Find("pipingSoilLayerTable", true).First() as PipingSoilLayerTable; + + // Precondition + Assert.NotNull(tableControl); + CollectionAssert.IsEmpty(tableControl.Rows); + } + private static void AssertEmptyChartData(ChartDataCollection chartDataCollection) { Assert.AreEqual("Invoer", chartDataCollection.Name);