Exemple #1
0
        public void TestRotation()
        {
            const string input = @".#....#####...#..
                                   ##...##.#####..##
                                   ##...#...#.#####.
                                   ..#.....#...###..
                                   ..#.#.....#....##";

            var asteroids = MonitorStation.Parse(input);

            var station = MonitorStation.GetBestStation(asteroids);

            Assert.AreEqual(Tuple.Create(8, 3), station);

            var firstAsteroidDestroyed = MonitorStation.DestroyAsteroid(asteroids, 1);

            Assert.AreEqual(Tuple.Create(8, 1), firstAsteroidDestroyed);

            var secondAsteroidDestroyed = MonitorStation.DestroyAsteroid(asteroids, 2);

            Assert.AreEqual(Tuple.Create(9, 0), secondAsteroidDestroyed);

            var ninthAsteroidDestroyed = MonitorStation.DestroyAsteroid(asteroids, 9);

            Assert.AreEqual(Tuple.Create(15, 1), ninthAsteroidDestroyed);

            var nthAsteroidDestroyed = MonitorStation.DestroyAsteroid(asteroids, 36);

            Assert.AreEqual(Tuple.Create(14, 3), nthAsteroidDestroyed);
        }
Exemple #2
0
        public void TestStation()
        {
            var parsedInput = MonitorStation.Parse(_testInput);

            var station = MonitorStation.GetBestStation(parsedInput);

            Assert.AreEqual(Tuple.Create(3, 4), station);
        }