public void ReadsResearchTableInWindow() { var screenshot = new HijackableScreenShotCapturer(); var inputDevice = new ResearchTableInWindowInputDevice(screenshot); var screen = new Screen(new ScreenDataRetriever(Substitute.For <ISleeper>(), screenshot)); var window = new Control(screen, inputDevice, 5, 1000, 5, 1000); var ocr = new OCRReader(new OCRSplitter()); var datagrid = new Datagrid(window, inputDevice, ocr, 521, 568, new[] { 370, 652, 718 }) { LineHeight = 16, TopOfCharactersOffset = 3 }; var table = datagrid.GetTable(); Assert.AreEqual(3, table.Count); Assert.AreEqual("GenomeSequenceResearch", table[0][0]); Assert.AreEqual("TerraformingModule", table[1][0]); Assert.AreEqual("TerraformingRate0.0012atm", table[2][0]); Assert.AreEqual("5000", table[0][1]); Assert.AreEqual("5000", table[1][1]); Assert.AreEqual("3000", table[2][1]); }
public void ReadsActualResearchTableOnLargeScreen() { var windowFinder = Substitute.For <IWindowFinder>(); windowFinder.GetWindowHandle(Arg.Any <string>()).Returns(IntPtr.Zero); windowFinder.GetDimensions(IntPtr.Zero).Returns(new NativeMethods.RECT { Bottom = 1224, Left = 500, Right = 1751, Top = 300 }); var screenshot = new HijackableScreenShotCapturer(); var inputDevice = new ActualResearchTableOnScreenInputDevice(screenshot); var screen = new Screen(new ScreenDataRetriever(Substitute.For <ISleeper>(), screenshot)); var ocr = new OCRReader(new OCRSplitter()); var settings = Substitute.For <ISettingsStore>(); settings.HorizontalWindowOffset.Returns(5); settings.VerticalWindowOffset.Returns(5); var window = new PopulationAndProductionWindow(screen, windowFinder, inputDevice, ocr, settings); var table = window.ResearchTable.GetTable(); Assert.AreEqual(13, table.Count); Assert.AreEqual("GenomeSequenceResearch", table[0][0]); Assert.AreEqual("TerraformingModule", table[1][0]); Assert.AreEqual("TerraformingRate0.0012atm", table[2][0]); Assert.AreEqual("5000", table[0][1]); Assert.AreEqual("5000", table[1][1]); Assert.AreEqual("3000", table[2][1]); }
public void ClicksEqualizeMaintButton() { var screenshot = new HijackableScreenShotCapturer(); var inputDevice = new FourButtonInputDevice(screenshot); var screen = new Screen(new ScreenDataRetriever(Substitute.For <ISleeper>(), screenshot)); var button = new Button(screen, inputDevice, 0, 24, 88, 168); button.Click(); }
public void ClicksDeployEscortsButton() { var screenshot = new HijackableScreenShotCapturer(); var inputDevice = new DeployEscortsButtonInputDevice(screenshot); var screen = new Screen(new ScreenDataRetriever(Substitute.For <ISleeper>(), screenshot)); var button = new Button(screen, inputDevice, 7, 31, 13, 39); button.Click(); }
public void ClicksOOBButton() { var screenshot = new HijackableScreenShotCapturer(); var inputDevice = new TaskGroupWindowInputDevice(screenshot); var screen = new Screen(new ScreenDataRetriever(Substitute.For <ISleeper>(), screenshot)); var button = new Button(screen, inputDevice, 906, 930, 211, 291); button.Click(); }
public void ClicksRefreshAllButton() { var screenshot = new HijackableScreenShotCapturer(); var inputDevice = new ProductionWindowInputDevice(screenshot); var screen = new Screen(new ScreenDataRetriever(Substitute.For <ISleeper>(), screenshot)); var button = new Button(screen, inputDevice, 874, 915, 419, 491); button.Click(); }
public void CorrectlyReadsEmptyTreeList() { var screenshot = new HijackableScreenShotCapturer(); var inputDevice = new EmptyViewInputDevice(screenshot); var screen = new Screen(new ScreenDataRetriever(Substitute.For <ISleeper>(), screenshot)); var ocrReader = new OCRReader(new OCRSplitter()); var treelist = new TreeList(screen, inputDevice, ocrReader, 0, 707, 0, 340); Assert.AreEqual("No children.\n", treelist.Text); }
public void ReadsInstallationTypeLabelShrunkWrapToText() { var screenshot = new HijackableScreenShotCapturer(); var inputDevice = new CivilianTabInputDevice(screenshot); var screen = new Screen(new ScreenDataRetriever(Substitute.For <ISleeper>(), screenshot)); var ocrReader = new OCRReader(new OCRSplitter()); var label = new Label(screen, inputDevice, ocrReader, 183, 193, 412, 488); Assert.AreEqual("lnstallationType", label.Text); }
public void ReadsInstallationTypeLabelWithExtraSpaceOnSidesAndBelow() { var screenshot = new HijackableScreenShotCapturer(); var inputDevice = new CivilianTabInputDevice(screenshot); var screen = new Screen(new ScreenDataRetriever(Substitute.For <ISleeper>(), screenshot)); var ocrReader = new OCRReader(new OCRSplitter()); var label = new Label(screen, inputDevice, ocrReader, 183, 200, 406, 495); Assert.AreEqual("lnstallationType", label.Text); }
public void CorrectlyReadsSamplePopulatedSystemsCategoriesViewTreeList() { var screenshot = new HijackableScreenShotCapturer(); var inputDevice = new CategoriesViewInputDevice(screenshot); var screen = new Screen(new ScreenDataRetriever(Substitute.For <ISleeper>(), screenshot)); var ocrReader = new OCRReader(new OCRSplitter()); var treelist = new TreeList(screen, inputDevice, ocrReader, 0, 707, 0, 340); Assert.AreEqual("+PopulatedSystems\n+AutomatedMiningColonies\n+CivilianMiningColonies\n+ListeningPosts\n+ArcheologicalDigs\n+TerraformingSites\n+OtherColonies\n", treelist.Text); }
public void CorrectlyReadsSamplePopulatedSystemsSimpleViewTreeList() { var screenshot = new HijackableScreenShotCapturer(); var inputDevice = new SimpleViewInputDevice(screenshot); var screen = new Screen(new ScreenDataRetriever(Substitute.For <ISleeper>(), screenshot)); var ocrReader = new OCRReader(new OCRSplitter()); var treelist = new TreeList(screen, inputDevice, ocrReader, 0, 707, 0, 340); Assert.AreEqual("+PopulatedSystems\n +Sol(500m)\n +Earth-Human(Capital):500m\n", treelist.Text); }
public CivilianTabInputDevice(HijackableScreenShotCapturer screenshot, bool supplySelected) : base(screenshot) { _supplySelected = supplySelected; if (supplySelected) { SetScreen(Properties.Resources.window_civiliantab_supply); } else { SetScreen(Properties.Resources.window_civiliantab_demand); } }
public void SelectsSupplyWhenSupplyIsSet() { var screenshot = new HijackableScreenShotCapturer(); var inputDevice = new CivilianTabInputDevice(screenshot, true); var screen = new Screen(new ScreenDataRetriever(Substitute.For <ISleeper>(), screenshot)); var supply = new RadioButton(screen, inputDevice, 220, 231, 696, 707); var demand = new RadioButton(screen, inputDevice, 221, 232, 784, 795); Assert.IsTrue(supply.Selected); Assert.IsFalse(demand.Selected); supply.Select(); Assert.IsTrue(supply.Selected); Assert.IsFalse(demand.Selected); }
public CivilianTabInputDevice(HijackableScreenShotCapturer screenshot) : base(screenshot) { SetScreen(Properties.Resources.window_civiliantab_supply); }
public SimpleViewInputDevice(HijackableScreenShotCapturer screenshot) : base(screenshot) { SetScreen(Properties.Resources.prodpop_simple_step1); }
public CategoriesViewInputDevice(HijackableScreenShotCapturer screenshot) : base(screenshot) { SetScreen(Properties.Resources.prodpop_categories_step1); }
public EmptyViewInputDevice(HijackableScreenShotCapturer screenshot) : base(screenshot) { SetScreen(Properties.Resources.prodpop_empty); }
public ResearchTableInputDevice(HijackableScreenShotCapturer screenshot) : base(screenshot) { SetScreen(Properties.Resources.datagrid_researchTable); }
public TaskGroupWindowInputDevice(HijackableScreenShotCapturer screenshot) : base(screenshot) { SetScreen(Properties.Resources.buttons_01); }
public FourButtonInputDevice(HijackableScreenShotCapturer screenshot) : base(screenshot) { SetScreen(Properties.Resources.button_fourbuttons); }
public DeployEscortsButtonInputDevice(HijackableScreenShotCapturer screenshot) : base(screenshot) { SetScreen(Properties.Resources.button_deployescorts); }
public ActualResearchTableOnScreenInputDevice(HijackableScreenShotCapturer screenshot) : base(screenshot) { SetScreen(Properties.Resources.datagrid_researchTableInWindowOnScreen); }