public void CreateInstance_WithContext_SetsDataCorrectly() { // Setup var mockRepository = new MockRepository(); var assessmentSection = mockRepository.Stub <IAssessmentSection>(); mockRepository.ReplayAll(); var calculationsForTargetProbability = new HydraulicBoundaryLocationCalculationsForTargetProbability(0.1); var context = new WaveHeightCalculationsForUserDefinedTargetProbabilityContext(calculationsForTargetProbability, assessmentSection); using (var plugin = new RiskeerPlugin()) { PropertyInfo info = GetInfo(plugin); // Call IObjectProperties objectProperties = info.CreateInstance(context); // Assert Assert.IsInstanceOf <WaveHeightCalculationsForUserDefinedTargetProbabilityProperties>(objectProperties); Assert.AreSame(calculationsForTargetProbability.HydraulicBoundaryLocationCalculations, objectProperties.Data); } mockRepository.VerifyAll(); }
public void CloseViewForData_ForNonMatchingContext_ReturnsFalse() { // Setup const double targetProbability = 0.01; var context = new WaveHeightCalculationsForUserDefinedTargetProbabilityContext( new HydraulicBoundaryLocationCalculationsForTargetProbability(targetProbability), new AssessmentSectionStub()); var otherCalculations = new ObservableList <HydraulicBoundaryLocationCalculation>(); using (var view = new WaveHeightCalculationsView(otherCalculations, new AssessmentSectionStub(), () => targetProbability, () => "1/100")) using (var plugin = new RiskeerPlugin()) { view.Data = otherCalculations; ViewInfo info = GetViewInfo(plugin); // Call bool closeForData = info.CloseForData(view, context); // Assert Assert.IsFalse(closeForData); } }
public void GetViewName_WithContext_ReturnsExpectedViewName(double userDefinedTargetProbability1, double userDefinedTargetProbability2, double userDefinedTargetProbability3, string expectedProbabilityText) { // Setup var calculationsForTargetProbability = new HydraulicBoundaryLocationCalculationsForTargetProbability(userDefinedTargetProbability2); var assessmentSection = new AssessmentSectionStub { WaveHeightCalculationsForUserDefinedTargetProbabilities = { new HydraulicBoundaryLocationCalculationsForTargetProbability(userDefinedTargetProbability1), new HydraulicBoundaryLocationCalculationsForTargetProbability(userDefinedTargetProbability3), calculationsForTargetProbability } }; var context = new WaveHeightCalculationsForUserDefinedTargetProbabilityContext(calculationsForTargetProbability, assessmentSection); using (var plugin = new RiskeerPlugin()) { ViewInfo info = GetViewInfo(plugin); // Call string viewName = info.GetViewName(null, context); // Assert Assert.AreEqual($"Golfhoogten bij vrije doelkans - {expectedProbabilityText}", viewName); } }
public void CanDrop_DraggedDataPartOfGroupContext_ReturnsTrue() { // Setup using (var plugin = new RiskeerPlugin()) { TreeNodeInfo info = GetInfo(plugin); var assessmentSectionStub = new AssessmentSectionStub(); var calculationsForTargetProbability = new HydraulicBoundaryLocationCalculationsForTargetProbability(0.1); var targetData = new WaveHeightCalculationsForUserDefinedTargetProbabilitiesGroupContext( new ObservableList <HydraulicBoundaryLocationCalculationsForTargetProbability> { calculationsForTargetProbability }, assessmentSectionStub); var draggedData = new WaveHeightCalculationsForUserDefinedTargetProbabilityContext( calculationsForTargetProbability, assessmentSectionStub); // Call bool canDrop = info.CanDrop(draggedData, targetData); // Assert Assert.IsTrue(canDrop); } }
public void CreateFileExporter_WithContext_ReturnFileExporter() { // Setup var mocks = new MockRepository(); var assessmentSection = mocks.Stub <IAssessmentSection>(); mocks.ReplayAll(); var context = new WaveHeightCalculationsForUserDefinedTargetProbabilityContext( new HydraulicBoundaryLocationCalculationsForTargetProbability(0.1), assessmentSection); const string filePath = "test"; using (var plugin = new RiskeerPlugin()) { ExportInfo info = GetExportInfo(plugin); // Call IFileExporter fileExporter = info.CreateFileExporter(context, filePath); // Assert Assert.IsInstanceOf <HydraulicBoundaryLocationCalculationsForTargetProbabilityExporter>(fileExporter); } mocks.VerifyAll(); }
public void OnDrop_DataDroppedToDifferentIndex_DroppedDataCorrectlyMovedAndObserversNotified() { // Setup using (var plugin = new RiskeerPlugin()) { TreeNodeInfo info = GetInfo(plugin); var assessmentSectionStub = new AssessmentSectionStub(); var calculationsForTargetProbability1 = new HydraulicBoundaryLocationCalculationsForTargetProbability(0.1); var calculationsForTargetProbability2 = new HydraulicBoundaryLocationCalculationsForTargetProbability(0.01); var calculationsForTargetProbability3 = new HydraulicBoundaryLocationCalculationsForTargetProbability(0.001); var calculationsForTargetProbabilities = new ObservableList <HydraulicBoundaryLocationCalculationsForTargetProbability> { calculationsForTargetProbability1, calculationsForTargetProbability2, calculationsForTargetProbability3 }; var parentData = new WaveHeightCalculationsForUserDefinedTargetProbabilitiesGroupContext( calculationsForTargetProbabilities, assessmentSectionStub); var droppedData = new WaveHeightCalculationsForUserDefinedTargetProbabilityContext( calculationsForTargetProbability3, assessmentSectionStub); var mockRepository = new MockRepository(); var observer = mockRepository.StrictMock <IObserver>(); observer.Expect(o => o.UpdateObserver()); mockRepository.ReplayAll(); calculationsForTargetProbabilities.Attach(observer); // Call info.OnDrop(droppedData, parentData, parentData, 1, null); // Assert CollectionAssert.AreEqual(new[] { calculationsForTargetProbability1, calculationsForTargetProbability3, calculationsForTargetProbability2 }, calculationsForTargetProbabilities); mockRepository.VerifyAll(); } }
public void CreateInstance_WithContext_SetsExpectedViewProperties() { // Setup var assessmentSection = new AssessmentSectionStub(); var context = new WaveHeightCalculationsForUserDefinedTargetProbabilityContext(new HydraulicBoundaryLocationCalculationsForTargetProbability(0.1), assessmentSection); using (var plugin = new RiskeerPlugin()) { ViewInfo info = GetViewInfo(plugin); // Call var view = (WaveHeightCalculationsView)info.CreateInstance(context); // Assert Assert.AreSame(assessmentSection, view.AssessmentSection); } }
public void CreateInstance_WithContext_SetsExpectedDataGridViewData() { // Setup var random = new Random(); var calculationsForTargetProbability = new HydraulicBoundaryLocationCalculationsForTargetProbability(0.1) { HydraulicBoundaryLocationCalculations = { new HydraulicBoundaryLocationCalculation(new TestHydraulicBoundaryLocation()) { Output = new TestHydraulicBoundaryLocationCalculationOutput(random.NextDouble()) }, new HydraulicBoundaryLocationCalculation(new TestHydraulicBoundaryLocation()) { Output = new TestHydraulicBoundaryLocationCalculationOutput(random.NextDouble()) } } }; var context = new WaveHeightCalculationsForUserDefinedTargetProbabilityContext(calculationsForTargetProbability, new AssessmentSectionStub()); using (var plugin = new RiskeerPlugin()) { ViewInfo info = GetViewInfo(plugin); // Call var view = (WaveHeightCalculationsView)info.CreateInstance(context); using (var testForm = new Form()) { testForm.Controls.Add(view); testForm.Show(); // Assert DataGridView calculationsDataGridView = ControlTestHelper.GetDataGridView(view, "DataGridView"); DataGridViewRowCollection rows = calculationsDataGridView.Rows; Assert.AreEqual(2, rows.Count); Assert.AreEqual(calculationsForTargetProbability.HydraulicBoundaryLocationCalculations[0].Output.Result.ToString(), rows[0].Cells[waveHeightColumnIndex].FormattedValue); Assert.AreEqual(calculationsForTargetProbability.HydraulicBoundaryLocationCalculations[1].Output.Result.ToString(), rows[1].Cells[waveHeightColumnIndex].FormattedValue); } } }
public void GetViewData_Always_ReturnsHydraulicBoundaryLocationCalculations() { // Setup var assessmentSection = new AssessmentSectionStub(); var calculationsForTargetProbability = new HydraulicBoundaryLocationCalculationsForTargetProbability(0.1); var context = new WaveHeightCalculationsForUserDefinedTargetProbabilityContext(calculationsForTargetProbability, assessmentSection); using (var plugin = new RiskeerPlugin()) { ViewInfo info = GetViewInfo(plugin); // Call object viewData = info.GetViewData(context); // Assert Assert.AreSame(calculationsForTargetProbability.HydraulicBoundaryLocationCalculations, viewData); } }
public void Constructor_ExpectedValues() { // Setup var mockRepository = new MockRepository(); var assessmentSection = mockRepository.Stub <IAssessmentSection>(); mockRepository.ReplayAll(); var calculationsForTargetProbability = new HydraulicBoundaryLocationCalculationsForTargetProbability(0.1); // Call var context = new WaveHeightCalculationsForUserDefinedTargetProbabilityContext(calculationsForTargetProbability, assessmentSection); // Assert Assert.IsInstanceOf <HydraulicBoundaryLocationCalculationsForUserDefinedTargetProbabilityContext>(context); Assert.AreSame(calculationsForTargetProbability, context.WrappedData); Assert.AreSame(assessmentSection, context.AssessmentSection); mockRepository.VerifyAll(); }
public void GivenContextWithObserverAttached_WhenNotifyingObserversOfWaveHeightCalculationsForUserDefinedTargetProbability_ThenObserverCorrectlyNotified() { // Given var mockRepository = new MockRepository(); var observer = mockRepository.StrictMock <IObserver>(); observer.Expect(o => o.UpdateObserver()); mockRepository.ReplayAll(); var assessmentSection = new AssessmentSectionStub(); var calculationsForTargetProbability = new HydraulicBoundaryLocationCalculationsForTargetProbability(0.1); var context = new WaveHeightCalculationsForUserDefinedTargetProbabilityContext(calculationsForTargetProbability, assessmentSection); context.Attach(observer); // When assessmentSection.WaveHeightCalculationsForUserDefinedTargetProbabilities.First().NotifyObservers(); // Then mockRepository.VerifyAll(); }
public void AfterCreate_WithGuiSet_SetsSpecificPropertiesToView() { // Setup var mocks = new MockRepository(); IGui gui = StubFactory.CreateGuiStub(mocks); gui.Stub(g => g.ViewCommands).Return(mocks.Stub <IViewCommands>()); gui.Stub(g => g.MainWindow).Return(mocks.Stub <IMainWindow>()); gui.Stub(g => g.DocumentViewController).Return(mocks.Stub <IDocumentViewController>()); gui.Stub(g => g.ProjectStore).Return(mocks.Stub <IStoreProject>()); mocks.ReplayAll(); const double targetProbability = 0.01; var calculationsForTargetProbability = new HydraulicBoundaryLocationCalculationsForTargetProbability(targetProbability); var context = new WaveHeightCalculationsForUserDefinedTargetProbabilityContext(calculationsForTargetProbability, new AssessmentSectionStub()); using (var view = new WaveHeightCalculationsView(new ObservableList <HydraulicBoundaryLocationCalculation>(), new AssessmentSectionStub(), () => targetProbability, () => "1/100")) using (var plugin = new RiskeerPlugin()) { ViewInfo info = GetViewInfo(plugin); plugin.Gui = gui; plugin.Activate(); // Call info.AfterCreate(view, context); // Assert Assert.IsInstanceOf <IHydraulicBoundaryLocationCalculationGuiService>(view.CalculationGuiService); } mocks.VerifyAll(); }
public void Name_WithContext_ReturnsName() { // Setup var mocks = new MockRepository(); var assessmentSection = mocks.Stub <IAssessmentSection>(); mocks.ReplayAll(); var context = new WaveHeightCalculationsForUserDefinedTargetProbabilityContext( new HydraulicBoundaryLocationCalculationsForTargetProbability(0.1), assessmentSection); using (var plugin = new RiskeerPlugin()) { ExportInfo info = GetExportInfo(plugin); // Call string name = info.Name(context); // Assert Assert.AreEqual("Golfhoogten (1/10)", name); } mocks.VerifyAll(); }
public void CreateInstance_WithContext_SetsExpectedCalculationData() { // Setup var hydraulicBoundaryLocationCalculation = new HydraulicBoundaryLocationCalculation(new TestHydraulicBoundaryLocation()); var calculationsForTargetProbability = new HydraulicBoundaryLocationCalculationsForTargetProbability(0.01) { HydraulicBoundaryLocationCalculations = { hydraulicBoundaryLocationCalculation } }; var assessmentSection = new AssessmentSectionStub(); assessmentSection.WaveHeightCalculationsForUserDefinedTargetProbabilities.Add(calculationsForTargetProbability); var context = new WaveHeightCalculationsForUserDefinedTargetProbabilityContext(calculationsForTargetProbability, assessmentSection); var mockRepository = new MockRepository(); var guiService = mockRepository.StrictMock <IHydraulicBoundaryLocationCalculationGuiService>(); double actualNormValue = double.NaN; IEnumerable <HydraulicBoundaryLocationCalculation> performedCalculations = null; guiService.Expect(ch => ch.CalculateWaveHeights(null, null, int.MinValue, null)).IgnoreArguments().WhenCalled( invocation => { performedCalculations = (IEnumerable <HydraulicBoundaryLocationCalculation>)invocation.Arguments[0]; actualNormValue = (double)invocation.Arguments[2]; }); mockRepository.ReplayAll(); using (var plugin = new RiskeerPlugin()) { ViewInfo info = GetViewInfo(plugin); // Call var view = (WaveHeightCalculationsView)info.CreateInstance(context); using (var testForm = new Form()) { view.CalculationGuiService = guiService; testForm.Controls.Add(view); testForm.Show(); DataGridView calculationsDataGridView = ControlTestHelper.GetDataGridView(view, "DataGridView"); DataGridViewRowCollection rows = calculationsDataGridView.Rows; rows[0].Cells[calculateColumnIndex].Value = true; view.CalculationGuiService = guiService; var button = new ButtonTester("CalculateForSelectedButton", testForm); button.Click(); // Assert Assert.AreEqual(calculationsForTargetProbability.TargetProbability, actualNormValue); Assert.AreSame(hydraulicBoundaryLocationCalculation, performedCalculations.Single()); } } mockRepository.VerifyAll(); }