public void TestMultiLinePatternsWhenSourceIsBiggerThanPattern()
        {
            var sourceImage = new Image(new List <string>
            {
                "-------o--oooooo--o-oo-o--o-o-----oo--o-o-oo--o-oo-oo-o--------ooooooo------o-ooooo---o--o--o-------",
                "-------o--oooooo--o-oo-o--o-o-----oo--o-o-oo--o-oo-oo-o--------ooooooo------o-ooooo---o--o--o-------",
                "-------o--oooooo--o-oo-o--o-o-----oo--o-o-oo--o-oo-oo-o--------o-----o------o-ooooo---o--o--o-------",
                "-------o--oooooo--o-oo-o--o-o-----oo--o-o-oo--o-oo-oo-o--------ooooooo------o-ooooo---o--o--o-------",
                "-------o--oooooo--o-oo-o--o-o-----oo--o-o-oo--o-oo-oo-o--------ooooooo------o-ooooo---o--o--o-------",
                "-------o--oooooo--o-oo-o--o-o-----oo--o-o-oo--o-oo-oo-o--------ooooooo------o-ooooo---o--o--o-------",
                "-------o--oooooo--o-oo-o--o-o-----oo--o-o-oo--o-oo-oo-o--------ooooooo------o-ooooo---o--o--o-------"
            });


            var pattern = new Image(new List <string>
            {
                "-----",
                "ooooo",
                "ooooo",
            });

            var palantir = new Palantir();
            var match    = palantir.CheckLineByLine(64, sourceImage, 2, pattern);

            Assert.IsTrue(match);
        }
        public void TestPatternIndexesWhenPatternToRecognizeIsLongerThanTheImage()
        {
            var sourceLine = "---";
            var pattern    = "-----";

            var palantir = new Palantir();
            var indexes  = palantir.RetrieveAllPatternIndexes(sourceLine, pattern);

            Assert.AreEqual(0, indexes.Count);
        }
        public void TestPatternIndexes1()
        {
            var sourceLine = "-------o--oooooo--o-oo-o--o-o-----oo--o-o-oo--o-oo-oo-o--------o-----o------o-ooooo---o--o--o-------";
            var pattern    = "-----";

            var palantir = new Palantir();
            var indexes  = palantir.RetrieveAllPatternIndexes(sourceLine, pattern);

            Assert.AreEqual(14, indexes.Count);
        }
示例#4
0
        public bool InvasionDetected()
        {
            var currentradarImage = Radar.CurrentImage();

            Image knownInvader;
            int   numberOfInvadersDetected = 0;

            while ((knownInvader = Repository.Next()) != null)
            {
                if (Palantir.Match(currentradarImage, knownInvader))
                {
                    numberOfInvadersDetected++;
                }
            }

            return(numberOfInvadersDetected > 0);
        }
        public void TestInvasionByFakeInvaderExtractedFromRadarImage()
        {
            var radar    = new StaticRadar();
            var palantir = new Palantir();

            var invader = new Image(new List <string>
            {
                "----ooo----o-oooo---",
                "-o-----o------------",
                "------oooo----------",
                "---o-o--------------",
                "--o--------o--o---oo",
                "-----------------o--",
                "-o---o--o-oo--o--o-o",
                "--oo-----o----o-----"
            });

            var match = palantir.Match(radar.CurrentImage(), invader);

            Assert.IsTrue(match);
        }
        public void TestInvasionByInvader1()
        {
            var radar    = new StaticRadar();
            var palantir = new Palantir();

            var invader1 = new Image(new List <string>
            {
                "--o-----o--",
                "---o---o---",
                "--ooooooo--",
                "-oo-ooo-oo-",
                "ooooooooooo",
                "o-ooooooo-o",
                "o-o-----o-o",
                "---oo-oo---"
            });

            var match = palantir.Match(radar.CurrentImage(), invader1);

            Assert.IsFalse(match);
        }