public void Constructor_ExpectedValues() { // Setup var mocks = new MockRepository(); var handler = mocks.Stub <IObservablePropertyChangeHandler>(); mocks.ReplayAll(); var calculationScenario = new StructuresCalculationScenario <ClosingStructuresInput>(); // Call var row = new ClosingStructuresCalculationRow(calculationScenario, handler); // Assert Assert.IsInstanceOf <CalculationRow <StructuresCalculationScenario <ClosingStructuresInput> > >(row); Assert.IsInstanceOf <IHasColumnStateDefinitions>(row); Assert.AreSame(calculationScenario, row.Calculation); IDictionary <int, DataGridViewColumnStateDefinition> columnStateDefinitions = row.ColumnStateDefinitions; Assert.AreEqual(5, columnStateDefinitions.Count); DataGridViewControlColumnStateDefinitionTestHelper.AssertColumnStateDefinition(columnStateDefinitions, useBreakWaterColumnIndex); DataGridViewControlColumnStateDefinitionTestHelper.AssertColumnStateDefinition(columnStateDefinitions, breakWaterTypeColumnIndex); DataGridViewControlColumnStateDefinitionTestHelper.AssertColumnStateDefinition(columnStateDefinitions, breakWaterHeightColumnIndex); DataGridViewControlColumnStateDefinitionTestHelper.AssertColumnStateDefinition(columnStateDefinitions, useForeshoreColumnIndex); DataGridViewControlColumnStateDefinitionTestHelper.AssertColumnStateDefinition(columnStateDefinitions, meanInsideWaterLevelColumnIndex); mocks.VerifyAll(); }
public void ForeshoreProfile_OnChangeToNull_CorrectColumnStates() { // Setup var calculation = new StructuresCalculationScenario <ClosingStructuresInput> { InputParameters = { ForeshoreProfile = new TestForeshoreProfile() } }; // Call var row = new ClosingStructuresCalculationRow(calculation, new ObservablePropertyChangeHandler(calculation, new ClosingStructuresInput())) { ForeshoreProfile = new DataGridViewComboBoxItemWrapper <ForeshoreProfile>(null) }; // Assert IDictionary <int, DataGridViewColumnStateDefinition> columnStateDefinitions = row.ColumnStateDefinitions; DataGridViewControlColumnStateDefinitionTestHelper.AssertColumnState(columnStateDefinitions[useBreakWaterColumnIndex], false); DataGridViewControlColumnStateDefinitionTestHelper.AssertColumnState(columnStateDefinitions[breakWaterTypeColumnIndex], false); DataGridViewControlColumnStateDefinitionTestHelper.AssertColumnState(columnStateDefinitions[breakWaterHeightColumnIndex], false); DataGridViewControlColumnStateDefinitionTestHelper.AssertColumnState(columnStateDefinitions[useForeshoreColumnIndex], false); }
public void Constructor_ForeshoreProfileWithGeometry_CorrectColumnStates(bool useBreakWater) { // Setup var calculation = new StructuresCalculationScenario <ClosingStructuresInput> { InputParameters = { ForeshoreProfile = new TestForeshoreProfile(new[] { new Point2D(0.0, 0.0) }), UseBreakWater = useBreakWater } }; // Call var row = new ClosingStructuresCalculationRow(calculation, new ObservablePropertyChangeHandler(calculation, new ClosingStructuresInput())); // Assert IDictionary <int, DataGridViewColumnStateDefinition> columnStateDefinitions = row.ColumnStateDefinitions; DataGridViewControlColumnStateDefinitionTestHelper.AssertColumnState(columnStateDefinitions[useBreakWaterColumnIndex], true); DataGridViewControlColumnStateDefinitionTestHelper.AssertColumnState(columnStateDefinitions[breakWaterTypeColumnIndex], useBreakWater); DataGridViewControlColumnStateDefinitionTestHelper.AssertColumnState(columnStateDefinitions[breakWaterHeightColumnIndex], useBreakWater); DataGridViewControlColumnStateDefinitionTestHelper.AssertColumnState(columnStateDefinitions[useForeshoreColumnIndex], true); }
private static void AssertPropertyChangeWithOrWithoutCalculationOutput( Action <ClosingStructuresCalculationRow> setProperty, Action <StructuresCalculationScenario <ClosingStructuresInput> > assertions, bool hasOutput, bool expectUpdates) { // Setup var mockRepository = new MockRepository(); var inputObserver = mockRepository.StrictMock <IObserver>(); if (expectUpdates) { inputObserver.Expect(o => o.UpdateObserver()); } var calculationObserver = mockRepository.StrictMock <IObserver>(); if (expectUpdates && hasOutput) { calculationObserver.Expect(o => o.UpdateObserver()); } var handler = mockRepository.Stub <IObservablePropertyChangeHandler>(); mockRepository.ReplayAll(); StructuresOutput assignedOutput = null; StructuresCalculationScenario <ClosingStructuresInput> calculation = ClosingStructuresCalculationScenarioTestFactory.CreateNotCalculatedClosingStructuresCalculationScenario(new FailureMechanismSection("Section 1", new List <Point2D> { new Point2D(0.0, 0.0) })); calculation.InputParameters.HydraulicBoundaryLocation = new TestHydraulicBoundaryLocation(); if (hasOutput) { assignedOutput = new TestStructuresOutput(); } calculation.Output = assignedOutput; var row = new ClosingStructuresCalculationRow(calculation, handler); calculation.Attach(calculationObserver); calculation.InputParameters.Attach(inputObserver); // Call setProperty(row); // Assert assertions(calculation); if (expectUpdates) { Assert.IsNull(calculation.Output); } else { Assert.AreSame(assignedOutput, calculation.Output); } }
private static void SetPropertyAndVerifyNotificationsAndOutputForCalculation( Action <ClosingStructuresCalculationRow> setProperty, StructuresCalculationScenario <ClosingStructuresInput> calculation) { // Setup var mocks = new MockRepository(); var observable = mocks.StrictMock <IObservable>(); observable.Expect(o => o.NotifyObservers()); mocks.ReplayAll(); var handler = new SetPropertyValueAfterConfirmationParameterTester( new[] { observable }); var row = new ClosingStructuresCalculationRow(calculation, handler); // Call setProperty(row); // Assert Assert.IsTrue(handler.Called); mocks.VerifyAll(); }
public void InflowModelType_ChangeToEqualValue_DikeProfileChangedNotFired() { // Setup var inflowModelTypeChangedCounter = 0; var random = new Random(21); var mocks = new MockRepository(); var handler = mocks.Stub <IObservablePropertyChangeHandler>(); mocks.ReplayAll(); var inflowModelType = random.NextEnumValue <ClosingStructureInflowModelType>(); var row = new ClosingStructuresCalculationRow(new StructuresCalculationScenario <ClosingStructuresInput> { InputParameters = { InflowModelType = inflowModelType } }, handler); row.InflowModelTypeChanged += (s, a) => inflowModelTypeChangedCounter++; // Call row.InflowModelType = inflowModelType; // Assert Assert.AreEqual(0, inflowModelTypeChangedCounter); mocks.VerifyAll(); }
public void InflowModelType_AlwaysOnChange_DikeProfileChangedFired() { // Setup var inflowModelTypeChangedCounter = 0; var random = new Random(645); var mocks = new MockRepository(); var handler = new SetPropertyValueAfterConfirmationParameterTester(new IObservable[0]); mocks.ReplayAll(); var row = new ClosingStructuresCalculationRow(new StructuresCalculationScenario <ClosingStructuresInput> { InputParameters = { InflowModelType = random.NextEnumValue <ClosingStructureInflowModelType>() } }, handler); row.InflowModelTypeChanged += (s, a) => inflowModelTypeChangedCounter++; // Call row.InflowModelType = random.NextEnumValue <ClosingStructureInflowModelType>(); // Assert Assert.AreEqual(1, inflowModelTypeChangedCounter); mocks.VerifyAll(); }
public void InflowModelType_AlwaysOnChange_CorrectColumnStates(ClosingStructureInflowModelType inflowModelType, bool isEnabled) { // Setup var calculation = new StructuresCalculationScenario <ClosingStructuresInput>(); // Call var row = new ClosingStructuresCalculationRow(calculation, new ObservablePropertyChangeHandler(calculation, new ClosingStructuresInput())) { InflowModelType = inflowModelType }; // Assert IDictionary <int, DataGridViewColumnStateDefinition> columnStateDefinitions = row.ColumnStateDefinitions; DataGridViewControlColumnStateDefinitionTestHelper.AssertColumnState(columnStateDefinitions[meanInsideWaterLevelColumnIndex], isEnabled); }
public void Constructor_ForeshoreProfileNull_CorrectColumnStates() { // Setup var calculation = new StructuresCalculationScenario <ClosingStructuresInput>(); // Call var row = new ClosingStructuresCalculationRow(calculation, new ObservablePropertyChangeHandler(calculation, new ClosingStructuresInput())); // Assert IDictionary <int, DataGridViewColumnStateDefinition> columnStateDefinitions = row.ColumnStateDefinitions; DataGridViewControlColumnStateDefinitionTestHelper.AssertColumnState(columnStateDefinitions[useBreakWaterColumnIndex], false); DataGridViewControlColumnStateDefinitionTestHelper.AssertColumnState(columnStateDefinitions[breakWaterTypeColumnIndex], false); DataGridViewControlColumnStateDefinitionTestHelper.AssertColumnState(columnStateDefinitions[breakWaterHeightColumnIndex], false); DataGridViewControlColumnStateDefinitionTestHelper.AssertColumnState(columnStateDefinitions[useForeshoreColumnIndex], false); }
public void UseBreakWater_AlwaysOnChange_CorrectColumnStates(bool useBreakWater) { // Setup var calculation = new StructuresCalculationScenario <ClosingStructuresInput> { InputParameters = { ForeshoreProfile = new TestForeshoreProfile() } }; // Call var row = new ClosingStructuresCalculationRow(calculation, new ObservablePropertyChangeHandler(calculation, new ClosingStructuresInput())) { UseBreakWater = useBreakWater }; // Assert IDictionary <int, DataGridViewColumnStateDefinition> columnStateDefinitions = row.ColumnStateDefinitions; DataGridViewControlColumnStateDefinitionTestHelper.AssertColumnState(columnStateDefinitions[breakWaterTypeColumnIndex], useBreakWater); DataGridViewControlColumnStateDefinitionTestHelper.AssertColumnState(columnStateDefinitions[breakWaterHeightColumnIndex], useBreakWater); }