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]);
        }
Example #3
0
        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();
        }
Example #4
0
        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();
        }
Example #5
0
        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();
        }
Example #6
0
        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);
        }
Example #12
0
            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);
                }
            }
Example #13
0
        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);
 }
Example #19
0
 public TaskGroupWindowInputDevice(HijackableScreenShotCapturer screenshot)
     : base(screenshot)
 {
     SetScreen(Properties.Resources.buttons_01);
 }
Example #20
0
 public FourButtonInputDevice(HijackableScreenShotCapturer screenshot)
     : base(screenshot)
 {
     SetScreen(Properties.Resources.button_fourbuttons);
 }
Example #21
0
 public DeployEscortsButtonInputDevice(HijackableScreenShotCapturer screenshot)
     : base(screenshot)
 {
     SetScreen(Properties.Resources.button_deployescorts);
 }
 public ActualResearchTableOnScreenInputDevice(HijackableScreenShotCapturer screenshot)
     : base(screenshot)
 {
     SetScreen(Properties.Resources.datagrid_researchTableInWindowOnScreen);
 }