public void GetOperator_WhenAskedForSomethingThatDoesNotExist_ReturnsNull() { // Arrange var sut = new OperatorManager(); // Act var res = sut.GetOperator("Magne Hoseth"); // Assert res.Should().BeNull("we entered an invalid operator name"); }
public void GetOperator_WhenCalledWithGreaterThan_ReturnsExpectedClass() { // Arrange var mgr = new OperatorManager(); // Act var sut = mgr.GetOperator("GreaterThan"); // Assert sut.Should().NotBeNull("the object should be properly set up to be returned from the OperatorManager"); }
public void GetOperator_WhenAskedForValidOperator_ReturnsExpectedObject() { // Arrange var sut = new OperatorManager(); // Act var res = sut.GetOperator("Equals"); // Assert res.Should().NotBeNull("we should get a valid object back"); res.Should().BeOfType <EqualsOperator>("that is the operator we asked for"); }
// GET: Operator/Edit/5 public ActionResult Edit(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } Operator @operator = _om.GetOperator((int)id); if (@operator == null) { return(HttpNotFound()); } return(View(@operator)); }
private MeasurementTestResult Calculate(Guid specItemID, out WorkInfoSpecItem item) { item = MeasurementJob.SpecData.WorkInfoSpecItems.FirstOrDefault(q => q.SpecItemID == specItemID); if (item == null) { return(new MeasurementTestResult() { Result = -1, Message = "规格异常", Data = 0D }); } var testResult = MeasuringManager.Calculate( MeasurementJob.ReferenceData, TestData, item.SystemTypeID, item.TestGroupTestType, item.TestTemp, item.PortSetting, item.TestSetting ); if (testResult.Result < 1) { return(testResult); } if (testResult.Data == double.MinValue) { testResult.Result = -1; testResult.Message = "计算结果出错"; return(testResult); } testResult.Result = 0; foreach (var resultSetting in BaseSettingsManager.Get <ResultSettings>().NeedSettingResult.OrderBy(q => q.ResultID)) { ComputeSettingItem computeItem = default(ComputeSettingItem); if (!item.ComputeSetting.TryGetValue(resultSetting.ResultID, out computeItem)) { testResult.Result = -1; testResult.Message = "规格判断标准设置错误"; return(testResult); } if (string.IsNullOrEmpty(computeItem.ComputeValue)) { continue; } if (OperatorManager.GetOperator(computeItem.ComputeSign).GetComputeResult(computeItem.ComputeValue, testResult.Data)) { testResult.Result = resultSetting.ResultID; testResult.Message = $"{item.ItemName} 通过"; } else { testResult.Message = "结果不符合规格"; } } return(testResult); }
public void AddTestInfoRow(WorkInfoSpecItem specItem) { var row = testItem.NewRow(); row["TestItemID"] = specItem.SpecItemID; row["TestItemName"] = specItem.ItemName; foreach (var resultItem in BaseSettingsManager.Get <ResultSettings>().NeedSettingResult) { if (!specItem.ComputeSetting.ContainsKey(resultItem.ResultID)) { row[string.Format("TestItemCompute{0}", resultItem.ResultID)] = "N/A"; } else { var computeItem = specItem.ComputeSetting[resultItem.ResultID]; row[string.Format("TestItemCompute{0}", resultItem.ResultID)] = string.IsNullOrEmpty(computeItem.ComputeValue) ? "未设置" : OperatorManager.GetOperator(computeItem.ComputeSign).GetDisplayString(computeItem.ComputeValue); } } row["TestItemPortSetting"] = MeasurementController.GetPortName(specItem.PortSetting); if (string.IsNullOrEmpty("specItem.TestTemp") || !specItem.TestTemp.IsNumeric()) { row["TestItemTemp"] = ""; } else { row["TestItemTemp"] = $"{specItem.TestTemp}℃"; } row["TestItemValue"] = ""; row["TestItemMaxValue"] = ""; row["TestItemMinValue"] = ""; row["TestItemLastValue"] = "-999"; row["TestItemStatus"] = -10; testItem.Rows.Add(row); var resultInfo = new ResultInfo() { TestInfoDataRow = row }; testReslut[specItem.SpecItemID] = resultInfo; var dgvResult = default(DataGridView); if (!dgvResults.TryGetValue(specItem.TestTemp, out dgvResult)) { return; } if (!specItem.TestSetting.IsDouble()) { return; } var wl = specItem.TestSetting.CastTo(1550D); var names = specItem.ItemName.Split(":"); var name = names.Length > 1 ? names[1] : names[0]; names = name.Split("@"); name = names[0]; var setting = TestPortSetting.Get(specItem.PortSetting); if (setting.ChannelID < 1 && name == "UL") { name = "IL"; } if (!dgvResult.Columns.Contains(name)) { dgvResult.Columns.Add(name, name); dgvResult.Columns[name].SortMode = DataGridViewColumnSortMode.NotSortable; } foreach (DataGridViewRow dataRow in dgvResult.Rows) { if (dataRow.Cells["Wavelength"].Value.ToString() == wl.ToString("F3") && dataRow.Cells["Port"].Value.ToString() == specItem.PortSetting.ToString()) { resultInfo.ResultViewCell = dataRow.Cells[name]; } } }
private void CreateTestItemsData(DataTable ds) { ds.Columns.Add("TestItemID", Type.GetType("System.String")); ds.Columns.Add("TestID", Type.GetType("System.String")); ds.Columns.Add("SystemID", Type.GetType("System.String")); ds.Columns.Add("ItemName", Type.GetType("System.String")); ds.Columns.Add("TestTemp", Type.GetType("System.String")); ds.Columns.Add("TestSetting", Type.GetType("System.String")); foreach (var resultItem in BaseSettingsManager.Get <ResultSettings>().NeedSettingResult) { ds.Columns.Add(string.Format("TestItemCompute{0}", resultItem.ResultID), Type.GetType("System.String")); } ds.Columns.Add("ItemValue", Type.GetType("System.String")); ds.Columns.Add("ItemResult", Type.GetType("System.String")); ds.Columns.Add("ItemResultString", Type.GetType("System.String")); ds.Columns.Add("OrderID", Type.GetType("System.String")); foreach (var testItem in testData.TestInfo.TestItems) { var row = ds.NewRow(); row["TestItemID"] = testItem.TestItemID; row["TestID"] = testItem.TestID; row["SystemID"] = testItem.SystemID; row["ItemName"] = testItem.ItemName; row["TestTemp"] = testItem.TestTemp; row["TestSetting"] = testItem.TestInfo; var computeSetting = testItem.ComputeSetting.FromJsonString <Dictionary <int, BusinessLogic.Model.ComputeSettingItem> >(); foreach (var resultItem in BaseSettingsManager.Get <ResultSettings>().NeedSettingResult) { if (!computeSetting.ContainsKey(resultItem.ResultID)) { row[string.Format("TestItemCompute{0}", resultItem.ResultID)] = "N/A"; } else { var computeItem = computeSetting[resultItem.ResultID]; row[string.Format("TestItemCompute{0}", resultItem.ResultID)] = string.IsNullOrEmpty(computeItem.ComputeValue) ? "未设置" : OperatorManager.GetOperator(computeItem.ComputeSign).GetDisplayString(computeItem.ComputeValue); } } row["ItemValue"] = testItem.ItemValue; row["ItemResult"] = testItem.ItemResult; row["ItemResultString"] = BaseSettingsManager.Get <ResultSettings>()[testItem.ItemResult].ResultText; row["OrderID"] = testItem.OrderID; ds.Rows.Add(row); } }
public Dictionary <int, ComputeSettingItem> GetSpec(int temp) { var result = new Dictionary <int, ComputeSettingItem>(); if (temp < 0 || temp > TempSetting.Length) { throw new Exception("温度设置错误"); } var tempString = TempSetting[temp]; if (string.IsNullOrEmpty(tempString)) { return(result); } if (cbNoCheck.Checked) { foreach (var resultitem in BaseSettingsManager.Get <ResultSettings>().NeedSettingResult) { var tbSpec = GetSpecTextBox(resultitem.ResultID, temp); result[resultitem.ResultID] = new ComputeSettingItem() { ComputeSign = "≥,≤", ComputeValue = "-10086,10086" }; } return(result); } foreach (var resultitem in BaseSettingsManager.Get <ResultSettings>().NeedSettingResult) { var tbSpec = GetSpecTextBox(resultitem.ResultID, temp); if (resultitem.ResultType == 1 && (tbSpec == null || string.IsNullOrEmpty(tbSpec.Text))) { return(new Dictionary <int, ComputeSettingItem>()); } var spec = cbSpec.SelectedValue; if (spec == null) { cbSpec.Focus(); throw new Exception("请选择计算符号"); } if (tbSpec != null && !string.IsNullOrEmpty(tbSpec.Text)) { var specCompute = OperatorManager.GetOperator(spec.ToString()); if (!specCompute.Validation(tbSpec.Text)) { tbSpec.Focus(); throw new Exception(string.Format("{0} 规格设置 {1} 格式错误,请检查。", BindingTestSystem.SystemName, tbSpec.Text)); } } result[resultitem.ResultID] = new ComputeSettingItem() { ComputeSign = spec.ToString(), ComputeValue = tbSpec == null ? "" : tbSpec.Text }; } return(result); }
private void btSave_Click(object sender, EventArgs e) { var computeSetting = new Dictionary <int, ComputeSettingItem>(); var sign = cbSpec.SelectedValue; if (sign == null) { AppFramework.Context.ShowError("请选择规格符号!"); return; } foreach (var item in tbSpecs) { var value = item.Value.Text; var specCompute = OperatorManager.GetOperator(sign.ToString()); if (!specCompute.Validation(value)) { AppFramework.Context.ShowError("规格设置格式错误,请检查。"); return; } computeSetting[item.Key] = new ComputeSettingItem() { ComputeSign = sign.ToString(), ComputeValue = value }; } vm.Model.ComputeSetting = computeSetting.ToJsonString(); var testSystem = BaseSettingsManager.Get <SystemGroupSetting>().GetTestSystemItem(vm.Model.SystemID); if (testSystem == null) { AppFramework.Context.ShowError("测试系统不存在!"); return; } var errroString = ""; if (!MeasuringManager.CheckSetting(testSystem.SystemTypeID, vm.Model.TestInfo, out errroString)) { AppFramework.Context.ShowError(errroString); return; } vm.Model.ItemName = MeasuringManager.GetSettingItemName(testSystem.DisplayName, vm.Model.TestInfo, testSystem.PortSetting); var validate = vm.Validate(); if (validate.HasError) { validate.ShowErrorMessage("保存失败"); return; } var specitem = new SpecItem(); specitem.SpecItemID = vm.Model.SpecItemID; specitem.SeqID = vm.Model.SeqID; specitem.SystemID = vm.Model.SystemID; specitem.ItemName = vm.Model.ItemName; specitem.TestTemp = vm.Model.TestTemp; specitem.TestInfo = vm.Model.TestInfo; specitem.ComputeSetting = vm.Model.ComputeSetting; specitem.OrderID = vm.Model.OrderID; AppFramework.Context.ShowAlert("更新成功", "更新项目"); callback?.Invoke(specitem); this.Close(); }
private void LoadSpecItems() { if (!this.IsNormalState()) { AppFramework.Context.ShowError("规格编辑窗体已经关闭"); return; } int index = 0; if (dgvSeq.SelectedRows.Count > 0) { index = dgvSeq.SelectedRows[0].Index; } dtSpecItem.Rows.Clear(); foreach (var item in specItems) { var testSystem = BaseSettingsManager.Get <SystemGroupSetting>().GetTestSystemItem(item.SystemID); if (testSystem == null) { continue; } var row = dtSpecItem.NewRow(); row["TestItemID"] = item.SpecItemID; row["TestItemName"] = item.ItemName; row["TestItemTemp"] = item.TestTemp; row["TestItemInfo"] = item.TestInfo; row["TestItemPort"] = testSystem.PortSetting; foreach (var resultItem in BaseSettingsManager.Get <ResultSettings>().NeedSettingResult) { var computeSetting = item.ComputeSetting.FromJsonString <Dictionary <int, ComputeSettingItem> >(); if (!computeSetting.ContainsKey(resultItem.ResultID)) { row[string.Format("TestItemCompute{0}", resultItem.ResultID)] = "N/A"; } else { var computeItem = computeSetting[resultItem.ResultID]; row[string.Format("TestItemCompute{0}", resultItem.ResultID)] = string.IsNullOrEmpty(computeItem.ComputeValue) ? "未设置" : OperatorManager.GetOperator(computeItem.ComputeSign).GetDisplayString(computeItem.ComputeValue); } } row["TestItemOrder"] = item.OrderID; dtSpecItem.Rows.Add(row); } if (dgvSeq.Rows.Count > 0) { if (index >= dgvSeq.Rows.Count) { index = dgvSeq.Rows.Count - 1; } dgvSeq.CurrentCell = dgvSeq.Rows[index].Cells[3]; } }