Index: Ringtoets/Integration/src/Ringtoets.Integration.Forms/ReferenceLineMetaSelectionDialog.cs
===================================================================
diff -u -r7f7ec6afaf51884d93fe292c6219a5440d1a7ccb -r4d27e3204b34978d3778b88a44566ba945de7e94
--- Ringtoets/Integration/src/Ringtoets.Integration.Forms/ReferenceLineMetaSelectionDialog.cs (.../ReferenceLineMetaSelectionDialog.cs) (revision 7f7ec6afaf51884d93fe292c6219a5440d1a7ccb)
+++ Ringtoets/Integration/src/Ringtoets.Integration.Forms/ReferenceLineMetaSelectionDialog.cs (.../ReferenceLineMetaSelectionDialog.cs) (revision 4d27e3204b34978d3778b88a44566ba945de7e94)
@@ -52,6 +52,7 @@
}
public ReferenceLineMeta SelectedReferenceLineMeta { get; private set; }
+ public int? SelectedLimitValue { get; private set; }
protected override Button GetCancelButton()
{
@@ -62,6 +63,8 @@
private void OkButtonOnClick(object sender, EventArgs e)
{
+ SelectedReferenceLineMeta = SelectionView.GetSelectedReferenceLineMeta();
+ SelectedLimitValue = SelectionView.GetSelectedLimitValue();
Close();
}
Index: Ringtoets/Integration/src/Ringtoets.Integration.Forms/Views/ReferenceLineMetaSelectionView.cs
===================================================================
diff -u -r74b9f5cca517fbccca3fe27bac059966233e432a -r4d27e3204b34978d3778b88a44566ba945de7e94
--- Ringtoets/Integration/src/Ringtoets.Integration.Forms/Views/ReferenceLineMetaSelectionView.cs (.../ReferenceLineMetaSelectionView.cs) (revision 74b9f5cca517fbccca3fe27bac059966233e432a)
+++ Ringtoets/Integration/src/Ringtoets.Integration.Forms/Views/ReferenceLineMetaSelectionView.cs (.../ReferenceLineMetaSelectionView.cs) (revision 4d27e3204b34978d3778b88a44566ba945de7e94)
@@ -24,6 +24,7 @@
using System.Diagnostics;
using System.Linq;
using System.Windows.Forms;
+using Core.Common.Utils.Reflection;
using Ringtoets.Common.Data.AssessmentSection;
using Ringtoets.Integration.Forms.Properties;
@@ -35,6 +36,12 @@
///
public partial class ReferenceLineMetaSelectionView
{
+ private enum SignalingLowerLimit
+ {
+ SignalingValue,
+ LowerLimitValue
+ }
+
///
/// Creates a new instance of .
///
@@ -47,20 +54,53 @@
}
InitializeComponent();
- SignalingLowerLimitComboBox.DataSource = GetSignalingLowerLimitComboBoxDataSource();
+ InitializeSignalingLowerLimitComboBox();
ReferenceLineMetaDataGrid.AutoGenerateColumns = false;
ReferenceLineMetaDataGrid.DataSource = referenceLineMetas.Select(rlm => new ReferenceLineMetaSelectionRow(rlm)).ToArray();
}
- private static IList GetSignalingLowerLimitComboBoxDataSource()
+ public ReferenceLineMeta GetSelectedReferenceLineMeta()
{
- var datasourceList = new List
+ var selectedRow = GetSelectedReferenceLineMetaSelectionRow();
+ return selectedRow == null ? null : selectedRow.ReferenceLineMeta;
+ }
+
+ public int? GetSelectedLimitValue()
+ {
+ var selectedRow = GetSelectedReferenceLineMetaSelectionRow();
+ if (selectedRow == null)
{
- Resources.ReferenceLineMetaSelectionView_SignalingValue_DisplayName,
- Resources.ReferenceLineMetaSelectionView_LowerLimitValue_DisplayName
+ return null;
+ }
+
+ var selectedItemInComboBox = (SignalingLowerLimit)SignalingLowerLimitComboBox.SelectedValue;
+ return selectedItemInComboBox == SignalingLowerLimit.SignalingValue ?
+ selectedRow.SignalingValue :
+ selectedRow.LowerLimitValue;
+ }
+
+ private ReferenceLineMetaSelectionRow GetSelectedReferenceLineMetaSelectionRow()
+ {
+ var selectedRows = ReferenceLineMetaDataGrid.SelectedRows;
+ if (selectedRows.Count == 0)
+ {
+ return null;
+ }
+
+ var selectedRow = selectedRows[0];
+ return (ReferenceLineMetaSelectionRow) selectedRow.DataBoundItem;
+ }
+
+ private void InitializeSignalingLowerLimitComboBox()
+ {
+ SignalingLowerLimitComboBox.DataSource = new[]
+ {
+ Tuple.Create(SignalingLowerLimit.SignalingValue, Resources.ReferenceLineMetaSelectionView_SignalingValue_DisplayName),
+ Tuple.Create(SignalingLowerLimit.LowerLimitValue, Resources.ReferenceLineMetaSelectionView_LowerLimitValue_DisplayName)
};
- return datasourceList;
+ SignalingLowerLimitComboBox.ValueMember = TypeUtils.GetMemberName>(t => t.Item1);
+ SignalingLowerLimitComboBox.DisplayMember = TypeUtils.GetMemberName>(t => t.Item2);
}
private void eventLog1_EntryWritten(object sender, EntryWrittenEventArgs e) {}
Index: Ringtoets/Integration/test/Ringtoets.Integration.Forms.Test/ReferenceLineMetaSelectionDialogTest.cs
===================================================================
diff -u -r74b9f5cca517fbccca3fe27bac059966233e432a -r4d27e3204b34978d3778b88a44566ba945de7e94
--- Ringtoets/Integration/test/Ringtoets.Integration.Forms.Test/ReferenceLineMetaSelectionDialogTest.cs (.../ReferenceLineMetaSelectionDialogTest.cs) (revision 74b9f5cca517fbccca3fe27bac059966233e432a)
+++ Ringtoets/Integration/test/Ringtoets.Integration.Forms.Test/ReferenceLineMetaSelectionDialogTest.cs (.../ReferenceLineMetaSelectionDialogTest.cs) (revision 4d27e3204b34978d3778b88a44566ba945de7e94)
@@ -68,5 +68,20 @@
Assert.AreEqual("Selecteer referentielijn", dialog.Text);
}
}
+
+ [Test]
+ public void OnLoad_Always_SetMinimumSize()
+ {
+ // Setup
+ using (var dialog = new ReferenceLineMetaSelectionDialog(new Form(), Enumerable.Empty()))
+ {
+ // Call
+ dialog.Show();
+
+ // Assert
+ Assert.AreEqual(300, dialog.MinimumSize.Width);
+ Assert.AreEqual(400, dialog.MinimumSize.Height);
+ }
+ }
}
}
\ No newline at end of file
Index: Ringtoets/Integration/test/Ringtoets.Integration.Forms.Test/Views/ReferenceLineMetaSelectionViewTest.cs
===================================================================
diff -u -r74b9f5cca517fbccca3fe27bac059966233e432a -r4d27e3204b34978d3778b88a44566ba945de7e94
--- Ringtoets/Integration/test/Ringtoets.Integration.Forms.Test/Views/ReferenceLineMetaSelectionViewTest.cs (.../ReferenceLineMetaSelectionViewTest.cs) (revision 74b9f5cca517fbccca3fe27bac059966233e432a)
+++ Ringtoets/Integration/test/Ringtoets.Integration.Forms.Test/Views/ReferenceLineMetaSelectionViewTest.cs (.../ReferenceLineMetaSelectionViewTest.cs) (revision 4d27e3204b34978d3778b88a44566ba945de7e94)
@@ -76,10 +76,6 @@
var signalingLowerLimitComboBox = (ComboBox) new ControlTester("SignalingLowerLimitComboBox").TheObject;
Assert.AreEqual(2, signalingLowerLimitComboBox.Items.Count);
- CollectionAssert.AreEqual(new[]
- {
- "Signaleringsnorm", "Ondergrens"
- }, signalingLowerLimitComboBox.Items);
var assessmentSectionIdColumn = (DataGridViewTextBoxColumn) referenceLineMetaDataGrid.Columns[assessmentSectionIdColumnIndex];
Assert.AreEqual("AssessmentSectionId", assessmentSectionIdColumn.DataPropertyName);
@@ -124,6 +120,56 @@
Assert.AreEqual(referenceLineMeta.LowerLimitValue, (int) firstRow.Cells[lowerLimitColumnIndex].Value);
}
+ [Test]
+ public void GetSelectedReferenceLineMeta_ReferenceLineMetaSelected_ReturnsReferenceLineMeta()
+ {
+ // Setup
+ ReferenceLineMeta referenceLineMeta = TestReferenceLineMeta();
+ ReferenceLineMeta referenceLineMeta2 = TestReferenceLineMeta();
+
+ var view = new ReferenceLineMetaSelectionView(new[]
+ {
+ referenceLineMeta,
+ referenceLineMeta2
+ });
+
+ ShowReferenceLineSelectionView(view);
+
+ var referenceLineMetaDataGrid = (DataGridView) new ControlTester("ReferenceLineMetaDataGrid").TheObject;
+ referenceLineMetaDataGrid.Rows[0].Selected = true;
+
+ // Call
+ ReferenceLineMeta selectedReferenceLineMeta = view.GetSelectedReferenceLineMeta();
+
+ // Assert
+ Assert.AreEqual(referenceLineMeta, selectedReferenceLineMeta);
+ }
+
+ [Test]
+ [TestCase(0, 30000)]
+ [TestCase(1, 10000)]
+ public void GetSelectedLimitValue_ReferenceLineMetaSelected_ReturnsSelectedLimitValue(int selectedIndex, int expectedValue)
+ {
+ // Setup
+ ReferenceLineMeta referenceLineMeta = TestReferenceLineMeta();
+
+ var view = new ReferenceLineMetaSelectionView(new[]
+ {
+ referenceLineMeta
+ });
+
+ ShowReferenceLineSelectionView(view);
+
+ var signalingLowerLimitComboBox = (ComboBox) new ControlTester("SignalingLowerLimitComboBox").TheObject;
+ signalingLowerLimitComboBox.SelectedIndex = selectedIndex;
+
+ // Call
+ int? value = view.GetSelectedLimitValue();
+
+ // Assert
+ Assert.AreEqual(expectedValue, value);
+ }
+
private static ReferenceLineMeta TestReferenceLineMeta()
{
return new ReferenceLineMeta