public async Task DoneButtonTurnsOffEditMode() { AutomationTest testToRun = (testRunner) => { SystemWindow systemWindow; testRunner.CloseSignInAndPrinterSelect(); SearchRegion searchRegion = testRunner.GetRegionByName("Queue Item 2013-01-25_Mouthpiece_v2", 3); // Enter Edit mode and confirm checkboxes exist testRunner.ClickByName("Queue Edit Button", 2); testRunner.Delay(.3); Assert.IsNotNull( testRunner.GetWidgetByName("Queue Item Checkbox", out systemWindow, 3, searchRegion), "While in Edit mode, checkboxes should exist on queue items"); // Exit Edit mode and confirm checkboxes are missing testRunner.ClickByName("Queue Done Button", 1); testRunner.Delay(.3); Assert.IsNull( testRunner.GetWidgetByName("Queue Item Checkbox", out systemWindow, 1, searchRegion), "After exiting Edit mode, checkboxes should not exist on queue items"); return(Task.FromResult(0)); }; await MatterControlUtilities.RunTest(testToRun, queueItemFolderToAdd : QueueTemplate.Three_Queue_Items); }
public async Task GetWidgetByNameTestRegionSingleWindow() { int leftClickCount = 0; AutomationTest testToRun = (testRunner) => { testRunner.ClickByName("left"); testRunner.Wait(.5); Assert.AreEqual(1, leftClickCount, "Should have one left click count after click"); Assert.IsTrue(testRunner.NameExists("left"), "Left button should exist"); SearchRegion rightButtonRegion = testRunner.GetRegionByName("right"); Assert.IsFalse(testRunner.NameExists("left", searchRegion: rightButtonRegion), "Left button should not exist in the right button region"); return(Task.FromResult(0)); }; SystemWindow buttonContainer = new SystemWindow(300, 200); Button leftButton = new Button("left", 10, 40); leftButton.Name = "left"; leftButton.Click += (sender, e) => { leftClickCount++; }; buttonContainer.AddChild(leftButton); Button rightButton = new Button("right", 110, 40); rightButton.Name = "right"; buttonContainer.AddChild(rightButton); await AutomationRunner.ShowWindowAndExecuteTests(buttonContainer, testToRun, 10); }
public static void NavigateToFolder(this AutomationRunner testRunner, string libraryRowItemName) { SearchRegion libraryRowItemRegion = testRunner.GetRegionByName(libraryRowItemName, 3); testRunner.ClickByName(libraryRowItemName); testRunner.Delay(.5); testRunner.ClickByName("Open Collection", searchRegion: libraryRowItemRegion); testRunner.Delay(.5); }
private void SearchButton_Click(object sender, RoutedEventArgs e) { IsSearchRegionVisible = true; // Given that binding and layouting might take a few cycles, when calling UpdateLayout // we can guarantee that the focus call will be able to find an open ASB SearchRegion.UpdateLayout(); SearchRegion.Focus(FocusState.Programmatic); }
public void EditButtonTurnsOnOffEditMode() { //Run a copy of MatterControl Action <AutomationTesterHarness> testToRun = (AutomationTesterHarness resultsHarness) => { AutomationRunner testRunner = new AutomationRunner(MatterControlUtilities.DefaultTestImages); { MatterControlUtilities.PrepForTestRun(testRunner); /* * Tests that when the edit button is clicked we go into editmode (print queue items have checkboxes on them) * 1. After Edit button is clicked print queue items have check boxes * 2. Selecting multiple queue itema and then clicking the Remove button removes the item * 3. Selecting multiple queue items and then clicking the Remove button decreases the queue tab count by one */ bool checkboxExists = testRunner.WaitForName("Queue Item Checkbox", 2); resultsHarness.AddTestResult(checkboxExists == false); resultsHarness.AddTestResult(QueueData.Instance.Count == 4); SystemWindow systemWindow; string itemName = "Queue Item " + "2013-01-25_Mouthpiece_v2"; GuiWidget queueItem = testRunner.GetWidgetByName(itemName, out systemWindow, 3); SearchRegion queueItemRegion = testRunner.GetRegionByName(itemName, 3); { testRunner.ClickByName("Queue Edit Button", 2); SystemWindow containingWindow; GuiWidget foundWidget = testRunner.GetWidgetByName("Queue Item Checkbox", out containingWindow, 3, searchRegion: queueItemRegion); resultsHarness.AddTestResult(foundWidget != null, "We should have an actual checkbox"); } { testRunner.ClickByName("Queue Done Button", 2); testRunner.Wait(.5); SystemWindow containingWindow; GuiWidget foundWidget = testRunner.GetWidgetByName("Queue Item Checkbox", out containingWindow, 1, searchRegion: queueItemRegion); resultsHarness.AddTestResult(foundWidget == null, "We should not have an actual checkbox"); } MatterControlUtilities.CloseMatterControl(testRunner); } }; AutomationTesterHarness testHarness = MatterControlUtilities.RunTest(testToRun, queueItemFolderToAdd: QueueTemplate.Three_Queue_Items, overrideWidth: 600); Assert.IsTrue(testHarness.AllTestsPassed(4)); }
public void WriteHalconObj(string fileName) { if (CodeReaderHand.Handle.ToInt32() > 0) { CodeReaderHand.WriteDataCode2dModel(fileName + ".dcm"); } if (SearchRegion.IsInitialized()) { SearchRegion.WriteRegion(fileName + ".hobj"); } }
public static bool NavigateToFolder(AutomationRunner testRunner, string libraryRowItemName) { bool goodNavigate = true; SearchRegion libraryRowItemRegion = testRunner.GetRegionByName(libraryRowItemName, 3); goodNavigate &= testRunner.ClickByName(libraryRowItemName); goodNavigate &= testRunner.MoveToByName(libraryRowItemName); testRunner.Wait(.5); goodNavigate &= testRunner.ClickByName("Open Collection", searchRegion: libraryRowItemRegion); testRunner.Wait(.5); return(goodNavigate); }
public void ClickOnLibraryCheckBoxes() { // Run a copy of MatterControl Action <AutomationTesterHarness> testToRun = (AutomationTesterHarness resultsHarness) => { AutomationRunner testRunner = new AutomationRunner(MatterControlUITests.DefaultTestImages); // Now do the actions specific to this test. (replace this for new tests) { testRunner.ClickByName("Library Tab"); testRunner.Wait(1); SystemWindow systemWindow; GuiWidget rowItem = testRunner.GetWidgetByName("Local Library Row Item Collection", out systemWindow); testRunner.Wait(1); SearchRegion rowItemRegion = testRunner.GetRegionByName("Local Library Row Item Collection"); testRunner.ClickByName("Library Edit Button"); testRunner.Wait(1); SystemWindow containingWindow; GuiWidget foundWidget = testRunner.GetWidgetByName("Row Item Select Checkbox", out containingWindow, searchRegion: rowItemRegion); CheckBox checkBoxWidget = foundWidget as CheckBox; resultsHarness.AddTestResult(checkBoxWidget != null, "We should have an actual checkbox"); resultsHarness.AddTestResult(checkBoxWidget.Checked == false, "currently not checked"); testRunner.ClickByName("Row Item Select Checkbox", searchRegion: rowItemRegion); testRunner.Wait(.5); resultsHarness.AddTestResult(checkBoxWidget.Checked == true, "currently checked"); testRunner.ClickByName("Local Library Row Item Collection"); testRunner.Wait(.5); resultsHarness.AddTestResult(checkBoxWidget.Checked == false, "currently not checked"); MatterControlUITests.CloseMatterControl(testRunner); } }; #if !__ANDROID__ // Set the static data to point to the directory of MatterControl StaticData.Instance = new MatterHackers.Agg.FileSystemStaticData(Path.Combine("..", "..", "..", "..", "StaticData")); #endif bool showWindow; MatterControlApplication matterControlWindow = MatterControlApplication.CreateInstance(out showWindow); AutomationTesterHarness testHarness = AutomationTesterHarness.ShowWindowAndExectueTests(matterControlWindow, testToRun, 1000); // NOTE: In the future we may want to make the "Local Library Row Item Collection" not clickable. // If that is the case fix this test to click on a child of "Local Library Row Item Collection" instead. Assert.IsTrue(testHarness.AllTestsPassed); Assert.IsTrue(testHarness.TestCount == 4); // make sure we ran all our tests }
public void GenSearchRegion() { if (SearchRegion == null || SearchRegion.IsInitialized() == false) { if (ROIList != null) { ROI roiSearcch = ROIList.Find(x => x.OperatorFlag == ROIOperation.None); if (roiSearcch != null) { SearchRegion = roiSearcch.GetRegion(); } } } }
public async Task EditButtonTurnsOnOffEditMode() { AutomationTest testToRun = (testRunner) => { testRunner.CloseSignInAndPrinterSelect(); /* * Tests that when the edit button is clicked we go into editmode (print queue items have checkboxes on them) * 1. After Edit button is clicked print queue items have check boxes * 2. Selecting multiple queue itema and then clicking the Remove button removes the item * 3. Selecting multiple queue items and then clicking the Remove button decreases the queue tab count by one */ bool checkboxExists = testRunner.WaitForName("Queue Item Checkbox", 2); Assert.IsTrue(checkboxExists == false); Assert.IsTrue(QueueData.Instance.ItemCount == 4); SystemWindow systemWindow; string itemName = "Queue Item 2013-01-25_Mouthpiece_v2"; GuiWidget queueItem = testRunner.GetWidgetByName(itemName, out systemWindow, 3); SearchRegion queueItemRegion = testRunner.GetRegionByName(itemName, 3); { testRunner.ClickByName("Queue Edit Button", 2); SystemWindow containingWindow; GuiWidget foundWidget = testRunner.GetWidgetByName("Queue Item Checkbox", out containingWindow, 3, searchRegion: queueItemRegion); Assert.IsTrue(foundWidget != null, "We should have an actual checkbox"); } { testRunner.ClickByName("Queue Done Button", 2); testRunner.Delay(.5); SystemWindow containingWindow; GuiWidget foundWidget = testRunner.GetWidgetByName("Queue Item Checkbox", out containingWindow, 1, searchRegion: queueItemRegion); Assert.IsTrue(foundWidget == null, "We should not have an actual checkbox"); } return(Task.FromResult(0)); }; await MatterControlUtilities.RunTest(testToRun, queueItemFolderToAdd : QueueTemplate.Three_Queue_Items, overrideWidth : 600); }
public void ClickOnLibraryCheckBoxes() { // Run a copy of MatterControl Action <AutomationTesterHarness> testToRun = (AutomationTesterHarness resultsHarness) => { AutomationRunner testRunner = new AutomationRunner(MatterControlUtilities.DefaultTestImages); // Now do the actions specific to this test. (replace this for new tests) { MatterControlUtilities.PrepForTestRun(testRunner); testRunner.ClickByName("Library Tab", 3); MatterControlUtilities.NavigateToFolder(testRunner, "Local Library Row Item Collection"); SystemWindow systemWindow; string itemName = "Row Item " + "Calibration - Box"; GuiWidget rowItem = testRunner.GetWidgetByName(itemName, out systemWindow, 3); SearchRegion rowItemRegion = testRunner.GetRegionByName(itemName, 3); testRunner.ClickByName("Library Edit Button", 3); testRunner.Wait(.5); GuiWidget foundWidget = testRunner.GetWidgetByName("Row Item Select Checkbox", out systemWindow, 3, searchRegion: rowItemRegion); CheckBox checkBoxWidget = foundWidget as CheckBox; resultsHarness.AddTestResult(checkBoxWidget != null, "We should have an actual checkbox"); resultsHarness.AddTestResult(checkBoxWidget.Checked == false, "currently not checked"); testRunner.ClickByName("Row Item Select Checkbox", 3, searchRegion: rowItemRegion); testRunner.ClickByName("Library Tab"); resultsHarness.AddTestResult(checkBoxWidget.Checked == true, "currently checked"); testRunner.ClickByName(itemName, 3); testRunner.ClickByName("Library Tab"); resultsHarness.AddTestResult(checkBoxWidget.Checked == false, "currently not checked"); MatterControlUtilities.CloseMatterControl(testRunner); } }; AutomationTesterHarness testHarness = MatterControlUtilities.RunTest(testToRun); // NOTE: In the future we may want to make the "Local Library Row Item Collection" not clickable. // If that is the case fix this test to click on a child of "Local Library Row Item Collection" instead. Assert.IsTrue(testHarness.AllTestsPassed); Assert.IsTrue(testHarness.TestCount == 4); // make sure we ran all our tests }
public async Task QueueSelectCheckBoxWorks() { AutomationTest testToRun = (testRunner) => { testRunner.CloseSignInAndPrinterSelect(); /* * Tests that when one item is selected * 1. Queue Item count equals three before the test starts * 2. Selecting multiple queue items and then clicking the Remove button removes the item * 3. Selecting multiple queue items and then clicking the Remove button decreases the queue tab count by one */ int queueItemCount = QueueData.Instance.ItemCount; bool queueItemExists = testRunner.WaitForName("Queue Item Batman", 2); bool secondQueueItemExists = testRunner.WaitForName("Queue Item 2013-01-25_Mouthpiece_v2", 2); SystemWindow systemWindow; GuiWidget rowItem = testRunner.GetWidgetByName("Queue Item Batman", out systemWindow, 3); SearchRegion rowItemRegion = testRunner.GetRegionByName("Queue Item Batman", 3); testRunner.ClickByName("Queue Edit Button", 3); GuiWidget foundWidget = testRunner.GetWidgetByName("Queue Item Checkbox", out systemWindow, 3, searchRegion: rowItemRegion); CheckBox checkBoxWidget = foundWidget as CheckBox; Assert.IsTrue(checkBoxWidget != null, "We should have an actual checkbox"); Assert.IsTrue(checkBoxWidget.Checked == false, "currently not checked"); testRunner.ClickByName("Queue Item Batman", 3); Assert.IsTrue(checkBoxWidget.Checked == true, "currently checked"); testRunner.ClickByName("Queue Item Checkbox", 3, searchRegion: rowItemRegion); Assert.IsTrue(checkBoxWidget.Checked == false, "currently not checked"); return(Task.FromResult(0)); }; await MatterControlUtilities.RunTest(testToRun, queueItemFolderToAdd : QueueTemplate.Three_Queue_Items); }
public void DoneButtonTurnsOffEditMode() { //Run a copy of MatterControl Action <AutomationTesterHarness> testToRun = (AutomationTesterHarness resultsHarness) => { AutomationRunner testRunner = new AutomationRunner(MatterControlUtilities.DefaultTestImages); { MatterControlUtilities.PrepForTestRun(testRunner); /* * Tests that when one item is selected * 1. Queue Item count equals three before the test starts * 2. Selecting multiple queue itema and then clicking the Remove button removes the item * 3. Selecting multiple queue items and then clicking the Remove button decreases the queue tab count by one */ int queueItemCount = QueueData.Instance.Count; string itemName = "Queue Item " + "2013-01-25_Mouthpiece_v2"; SystemWindow systemWindow; GuiWidget queueItem = testRunner.GetWidgetByName(itemName, out systemWindow, 3); SearchRegion queueItemRegion = testRunner.GetRegionByName(itemName, 3); testRunner.ClickByName("Queue Edit Button", 2); GuiWidget foundWidget = testRunner.GetWidgetByName("Queue Item Checkbox", out systemWindow, 3, searchRegion: queueItemRegion); resultsHarness.AddTestResult(foundWidget != null, "We should have an actual checkbox"); testRunner.ClickByName("Queue Done Button", 1); foundWidget = testRunner.GetWidgetByName("Queue Item Checkbox", out systemWindow, 1, searchRegion: queueItemRegion); resultsHarness.AddTestResult(foundWidget != null, "Checkbox is gone"); MatterControlUtilities.CloseMatterControl(testRunner); } }; AutomationTesterHarness testHarness = MatterControlUtilities.RunTest(testToRun, queueItemFolderToAdd: QueueTemplate.Three_Queue_Items); Assert.IsTrue(testHarness.AllTestsPassed(2)); }
public async Task ClickOnLibraryCheckBoxes() { AutomationTest testToRun = (testRunner) => { testRunner.CloseSignInAndPrinterSelect(); testRunner.ClickByName("Library Tab", 3); testRunner.NavigateToFolder("Local Library Row Item Collection"); SystemWindow systemWindow; string itemName = "Row Item Calibration - Box"; GuiWidget rowItem = testRunner.GetWidgetByName(itemName, out systemWindow, 3); SearchRegion rowItemRegion = testRunner.GetRegionByName(itemName, 3); testRunner.ClickByName("Library Edit Button", 3); testRunner.Delay(.5); GuiWidget foundWidget = testRunner.GetWidgetByName("Row Item Select Checkbox", out systemWindow, 3, searchRegion: rowItemRegion); CheckBox checkBoxWidget = foundWidget as CheckBox; Assert.IsTrue(checkBoxWidget != null, "We should have an actual checkbox"); Assert.IsTrue(checkBoxWidget.Checked == false, "currently not checked"); testRunner.ClickByName("Row Item Select Checkbox", 3, searchRegion: rowItemRegion); testRunner.ClickByName("Library Tab"); Assert.IsTrue(checkBoxWidget.Checked == true, "currently checked"); testRunner.ClickByName(itemName, 3); testRunner.ClickByName("Library Tab"); Assert.IsTrue(checkBoxWidget.Checked == false, "currently not checked"); return(Task.FromResult(0)); }; await MatterControlUtilities.RunTest(testToRun); }
public void GetWidgetByNameTestRegionSingleWindow() { int leftClickCount = 0; Action <AutomationTesterHarness> testToRun = (AutomationTesterHarness resultsHarness) => { AutomationRunner testRunner = new AutomationRunner(); testRunner.ClickByName("left"); testRunner.Wait(.5); resultsHarness.AddTestResult(leftClickCount == 1, "Got left button click"); SearchRegion rightButtonRegion = testRunner.GetRegionByName("right"); testRunner.ClickByName("left", searchRegion: rightButtonRegion); testRunner.Wait(.5); resultsHarness.AddTestResult(leftClickCount == 1, "Did not get left button click"); }; SystemWindow buttonContainer = new SystemWindow(300, 200); Button leftButton = new Button("left", 10, 40); leftButton.Name = "left"; leftButton.Click += (sender, e) => { leftClickCount++; }; buttonContainer.AddChild(leftButton); Button rightButton = new Button("right", 110, 40); rightButton.Name = "right"; buttonContainer.AddChild(rightButton); AutomationTesterHarness testHarness = AutomationTesterHarness.ShowWindowAndExectueTests(buttonContainer, testToRun, 10); Assert.IsTrue(testHarness.AllTestsPassed); Assert.IsTrue(testHarness.TestCount == 2); // make sure we can all our tests }
public bool ReadHalconObj(string fileName) { bool state = true; if (System.IO.File.Exists(fileName + ".dcm")) { CodeReaderHand.ReadDataCode2dModel(fileName + ".dcm"); } else { state = false; } if (System.IO.File.Exists(fileName + ".hobj")) { SearchRegion.ReadRegion(fileName + ".hobj"); } else { state = false; } return(state); }
public static SearchResultMatch FindNext(ISearchStrategy strategy, SearchLocation location) { var files = location.GenerateFileList().ToArray(); if (files.Length == 0) { return(null); } if (currentSearchRegion == null || !currentSearchRegion.IsSameState(files, strategy, location)) { currentSearchRegion = SearchRegion.CreateSearchRegion(files, strategy, location); } if (currentSearchRegion == null) { return(null); } var result = currentSearchRegion.FindNext(); if (result == null) { currentSearchRegion = null; } return(result); }
private void searchProvider_SearchCompleted(object sender, SearchCompletedEventArgs e) { this.informationLayer.Items.Clear(); SearchResultCollection results = e.Response.ResultSets.First().Results; if (results.Count > 0) { foreach (SearchResultBase result in results) { MapItem item = new MapItem(); item.Caption = result.Name; item.Location = result.LocationData.Locations.First(); item.BaseZoomLevel = 9; item.ZoomRange = new ZoomRange(5, 12); this.informationLayer.Items.Add(item); } } else { SearchRegion region = e.Response.ResultSets.First().SearchRegion; if (region != null) { this.radMap.SetView(region.GeocodeLocation.BestView); if (region.GeocodeLocation.Address != null && region.GeocodeLocation.Locations.Count > 0) { foreach (Location location in region.GeocodeLocation.Locations) { MapItem item = new MapItem(); item.Caption = region.GeocodeLocation.Address.FormattedAddress; item.Location = location; item.BaseZoomLevel = 5; item.ZoomRange = new ZoomRange(5, 12); this.informationLayer.Items.Add(item); } } } } SearchRegionCollection alternateRegions = e.Response.ResultSets.First().AlternateSearchRegions; if (alternateRegions.Count > 0) { foreach (SearchRegion region in alternateRegions) { if (region.GeocodeLocation.Address != null && region.GeocodeLocation.Locations.Count > 0) { foreach (Location location in region.GeocodeLocation.Locations) { MapItem item = new MapItem(); item.Caption = region.GeocodeLocation.Address.FormattedAddress; item.Location = location; item.BaseZoomLevel = 5; item.ZoomRange = new ZoomRange(5, 12); this.SuggestionsListBox.Items.Add(item); } } } } }
public bool FindDataCode(HImage img, bool train = false) { if (!SearchRegion.IsInitialized()) { SearchRegion = img.GetDomain(); } if (!train) { Display(1); } HImage reduceImg = img.ReduceDomain(SearchRegion); HImage searchImg = reduceImg.CropDomain(); reduceImg.Dispose(); int width, height; searchImg.GetImageSize(out width, out height); HImage zoomImg = searchImg.ZoomImageFactor(DateCodeZoomImg, DateCodeZoomImg, "constant"); DataCodeContour.Dispose(); searchImg.Dispose(); HTuple ResultHandles, DecodedDataStrings; if (train) { DataCodeContour = CodeReaderHand.FindDataCode2d(zoomImg, "train", "all", out ResultHandles, out DecodedDataStrings); } else { DataCodeContour = CodeReaderHand.FindDataCode2d(zoomImg, "stop_after_result_num", 1, out ResultHandles, out DecodedDataStrings); } if (DecodedDataStrings.Length > 0) { DataCodeString = DecodedDataStrings[0].S; HHomMat2D mat = new HHomMat2D(); HHomMat2D scalMat = mat.HomMat2dScale(1 / DateCodeZoomImg, 1 / DateCodeZoomImg, 0.0, 0.0); double row, col; SearchRegion.AreaCenter(out row, out col); HHomMat2D tranMat = scalMat.HomMat2dTranslate(row - height / 2.0, col - width / 2.0); HXLDCont tranDataCodeContour = tranMat.AffineTransContourXld(DataCodeContour); DataCodeContour.Dispose(); DataCodeContour = tranDataCodeContour; if (!train) { Display(2); Display(3); } } else { if (UseBrighten) { HImage brightenImg = zoomImg.ScaleImage(UseBrightenValue, 0.0); DataCodeContour = CodeReaderHand.FindDataCode2d(brightenImg, "stop_after_result_num", 1, out ResultHandles, out DecodedDataStrings); if (DecodedDataStrings.Length > 0) { DataCodeString = DecodedDataStrings[0].S; HHomMat2D mat = new HHomMat2D(); HHomMat2D scalMat = mat.HomMat2dScale(1 / DateCodeZoomImg, 1 / DateCodeZoomImg, 0.0, 0.0); double row, col; SearchRegion.AreaCenter(out row, out col); HHomMat2D tranMat = scalMat.HomMat2dTranslate(row - height / 2.0, col - width / 2.0); HXLDCont tranDataCodeContour = tranMat.AffineTransContourXld(DataCodeContour); DataCodeContour.Dispose(); DataCodeContour = tranDataCodeContour; if (!train) { Display(2); Display(3); } return(true); } } DataCodeString = string.Empty; if (!train) { Display(4); } return(false); } return(true); }