示例#1
0
        private StrictContextMenuItem CreateUpdateStructureItem(HeightStructuresCalculationScenarioContext context)
        {
            var    contextMenuEnabled = true;
            string toolTipMessage     = RiskeerCommonFormsResources.Update_Calculation_with_Structure_ToolTip;

            if (context.WrappedData.InputParameters.Structure == null)
            {
                contextMenuEnabled = false;
                toolTipMessage     = RiskeerCommonFormsResources.Structure_must_be_selected_ToolTip;
            }
            else if (context.WrappedData.InputParameters.IsStructureInputSynchronized)
            {
                contextMenuEnabled = false;
                toolTipMessage     = RiskeerCommonFormsResources.CalculationItem_No_changes_to_update_ToolTip;
            }

            return(new StrictContextMenuItem(
                       RiskeerCommonFormsResources.Update_Structure_data,
                       toolTipMessage,
                       RiskeerCommonFormsResources.UpdateItemIcon,
                       (o, args) => UpdateStructureDependentDataOfCalculation(context.WrappedData))
            {
                Enabled = contextMenuEnabled
            });
        }
示例#2
0
 private static void CalculationContextOnNodeRemoved(HeightStructuresCalculationScenarioContext context, object parentData)
 {
     if (parentData is HeightStructuresCalculationGroupContext calculationGroupContext)
     {
         calculationGroupContext.WrappedData.Children.Remove(context.WrappedData);
         calculationGroupContext.NotifyObservers();
     }
 }
示例#3
0
 private void Calculate(HeightStructuresCalculationScenarioContext context)
 {
     ActivityProgressDialogRunner.Run(
         Gui.MainWindow,
         HeightStructuresCalculationActivityFactory.CreateCalculationActivity(context.WrappedData,
                                                                              context.FailureMechanism,
                                                                              context.AssessmentSection));
 }
示例#4
0
        private static object[] CalculationContextChildNodeObjects(HeightStructuresCalculationScenarioContext context)
        {
            StructuresCalculation <HeightStructuresInput> calculation = context.WrappedData;

            return(new object[]
            {
                calculation.Comments,
                new HeightStructuresInputContext(calculation.InputParameters,
                                                 calculation,
                                                 context.FailureMechanism,
                                                 context.AssessmentSection),
                new StructuresOutputContext(calculation)
            });
        }
示例#5
0
        public void CreateFileExporter_Always_ReturnFileExporter()
        {
            // Setup
            var assessmentSection = mocks.Stub <IAssessmentSection>();

            mocks.ReplayAll();

            var context = new HeightStructuresCalculationScenarioContext(new TestHeightStructuresCalculationScenario(),
                                                                         new CalculationGroup(),
                                                                         new HeightStructuresFailureMechanism(),
                                                                         assessmentSection);

            // Call
            IFileExporter fileExporter = info.CreateFileExporter(context, "test");

            // Assert
            Assert.IsInstanceOf <HeightStructuresCalculationConfigurationExporter>(fileExporter);
        }
示例#6
0
        public void IsEnabled_Always_ReturnTrue()
        {
            // Setup
            var assessmentSection = mocks.Stub <IAssessmentSection>();

            mocks.ReplayAll();

            var context = new HeightStructuresCalculationScenarioContext(new TestHeightStructuresCalculationScenario(),
                                                                         new CalculationGroup(),
                                                                         new HeightStructuresFailureMechanism(),
                                                                         assessmentSection);

            // Call
            bool isEnabled = info.IsEnabled(context);

            // Assert
            Assert.IsTrue(isEnabled);
        }
        public void Equals_ToDerivedObject_ReturnsFalse()
        {
            // Setup
            var mocksRepository   = new MockRepository();
            var assessmentSection = mocksRepository.Stub <IAssessmentSection>();

            mocksRepository.ReplayAll();

            var calculation      = new StructuresCalculationScenario <HeightStructuresInput>();
            var failureMechanism = new HeightStructuresFailureMechanism();
            var parent           = new CalculationGroup();
            var context          = new HeightStructuresCalculationScenarioContext(calculation, parent, failureMechanism, assessmentSection);
            var derivedContext   = new DerivedHeightStructuresCalculationScenarioContext(calculation, parent, failureMechanism, assessmentSection);

            // Call
            bool isEqual = context.Equals(derivedContext);

            // Assert
            Assert.IsFalse(isEqual);
            mocksRepository.VerifyAll();
        }
        public void ConstructorWithData_Always_ExpectedPropertiesSet()
        {
            // Setup
            var mocksRepository   = new MockRepository();
            var assessmentSection = mocksRepository.Stub <IAssessmentSection>();

            mocksRepository.ReplayAll();

            var calculation      = new StructuresCalculationScenario <HeightStructuresInput>();
            var failureMechanism = new HeightStructuresFailureMechanism();
            var parent           = new CalculationGroup();

            // Call
            var context = new HeightStructuresCalculationScenarioContext(calculation, parent, failureMechanism, assessmentSection);

            // Assert
            Assert.IsInstanceOf <StructuresCalculationScenarioContext <HeightStructuresInput, HeightStructuresFailureMechanism> >(context);
            Assert.AreSame(calculation, context.WrappedData);
            Assert.AreSame(parent, context.Parent);
            Assert.AreSame(failureMechanism, context.FailureMechanism);
            Assert.AreSame(assessmentSection, context.AssessmentSection);
            mocksRepository.VerifyAll();
        }
示例#9
0
        private ContextMenuStrip CalculationContextContextMenuStrip(HeightStructuresCalculationScenarioContext context,
                                                                    object parentData,
                                                                    TreeViewControl treeViewControl)
        {
            StructuresCalculation <HeightStructuresInput> calculation = context.WrappedData;
            var changeHandler = new ClearIllustrationPointsOfStructuresCalculationHandler(GetInquiryHelper(), calculation);

            var builder = new RiskeerContextMenuBuilder(Gui.Get(context, treeViewControl));

            return(builder.AddExportItem()
                   .AddSeparator()
                   .AddDuplicateCalculationItem(calculation, context)
                   .AddSeparator()
                   .AddRenameItem()
                   .AddUpdateForeshoreProfileOfCalculationItem(calculation, GetInquiryHelper(),
                                                               SynchronizeCalculationWithForeshoreProfileHelper.UpdateForeshoreProfileDerivedCalculationInput)
                   .AddCustomItem(CreateUpdateStructureItem(context))
                   .AddSeparator()
                   .AddValidateCalculationItem(
                       context,
                       Validate,
                       EnableValidateAndCalculateMenuItemForCalculation)
                   .AddPerformCalculationItem <StructuresCalculationScenario <HeightStructuresInput>, HeightStructuresCalculationScenarioContext>(
                       context,
                       Calculate,
                       EnableValidateAndCalculateMenuItemForCalculation)
                   .AddSeparator()
                   .AddClearCalculationOutputItem(calculation)
                   .AddClearIllustrationPointsOfCalculationItem(() => IllustrationPointsHelper.HasIllustrationPoints(calculation), changeHandler)
                   .AddDeleteItem()
                   .AddSeparator()
                   .AddCollapseAllItem()
                   .AddExpandAllItem()
                   .AddSeparator()
                   .AddPropertiesItem()
                   .Build());
        }
示例#10
0
 private static void Validate(HeightStructuresCalculationScenarioContext context)
 {
     HeightStructuresCalculationService.Validate(context.WrappedData, context.AssessmentSection);
 }
示例#11
0
 private static string EnableValidateAndCalculateMenuItemForCalculation(HeightStructuresCalculationScenarioContext context)
 {
     return(EnableValidateAndCalculateMenuItem(context.AssessmentSection));
 }