public RunWindow(DisturbanceFaultModel faultModel, Action<string> logFunction)
        {
            InitializeComponent();
            
            this.log = logFunction;
            this.faultModel = faultModel;

            this.EnableDWMDropShadow = true;
        }
        public TestGenerationWindow(FaultModel faultModel, IList<TestCase.FaultModelTesterTestCase> testCases, Action<string> logFunction)
        {
            InitializeComponent();

            this.log = logFunction;
            this.testCases = testCases;
            this.faultModel = faultModel as DisturbanceFaultModel;
            this.EnableDWMDropShadow = true;

            this.Title = "Test Case Generation - Disturbance Fault Model";

            requirements = (IList<string>)faultModel.FaultModelConfiguration.GetValue("Requirements", "complex");
            int signalType = (int)this.faultModel.FaultModelConfiguration.GetValue("DisturbanceSignalType");

            if (signalType <= 3)
            {
                // Trapezoidal Ramp, Pulse & Step
                requirements.Add("Smoothness Pre-Disturbance");
                requirements.Add("Responsiveness Pre-Disturbance");
            }

            if (signalType < 3)
            {
                // Trapezoidal Ramp & Pulse
                requirements.Add("Smoothness Post-Disturbance");
                requirements.Add("Responsiveness Post-Disturbance");
            }

            foreach (string requirement in requirements)
            {
                this.RequirementComboBox.Items.Add(requirement);
            }

            InvestigateWorstCaseRadioButton.IsChecked = true;

        }