public void Use3DitiBoxes() { var layout = CreateDitiLayout(); DitiInfo ditiInfo = new DitiInfo(); TipManagement tipManagement = new TipManagement(layout); try { for (int i = 0; i < 96 * 3; i++) { tipManagement.GetTip(DitiType.OneK, 1); } try { tipManagement.GetTip(DitiType.OneK, 1); } catch (NoEngouhDitiException ex) { layout.DitiInfo.DitiBoxInfos[0].count = 96; tipManagement.GetTip(DitiType.OneK, 1); Assert.AreEqual(layout.DitiInfo.DitiBoxInfos[0].count, 95); Assert.AreEqual(tipManagement.GetCurrentDitiBox(DitiType.OneK).Label, "diti1"); return; } } catch (NoEngouhDitiException ex) { Assert.AreEqual(ex.LabwareTrait.Label, "diti2"); Assert.AreEqual(tipManagement.GetCurrentDitiBox(DitiType.OneK), "diti2"); return; } Assert.Fail(); }
private void SetAsCurrentDiti_Executed(object sender, ExecutedRoutedEventArgs e) { LayoutEditor layoutEditor = GetLayoutEditor(); if (layoutEditor == null) { AddErrorInfo("找不到布局!"); return; } Layout layout = layoutEditor.Layout; DitiInfo ditiInfo = layout.DitiInfo; Labware labware = e.Parameter as Labware; var ditiType = DitiBox.Parse(labware.TypeName); if (ditiInfo.DitiBoxInfos.Find(x => x.type == ditiType) != null) { ditiInfo.DitiBoxInfos.Add(new DitiBoxInfo(ditiType, labware.Label, 96)); } else { ditiInfo.SetUsingDitiBox(ditiType, labware.Label); } this.InvalidateVisual(); }