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); }
public void TestStation() { var parsedInput = MonitorStation.Parse(_testInput); var station = MonitorStation.GetBestStation(parsedInput); Assert.AreEqual(Tuple.Create(3, 4), station); }