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); }
public void TestParseStation() { var field = MonitorStation.Parse(_testInput); var expected = new List <Tuple <int, int> > { Tuple.Create(1, 0), Tuple.Create(4, 0), Tuple.Create(0, 2), Tuple.Create(1, 2), Tuple.Create(2, 2), Tuple.Create(3, 2), Tuple.Create(4, 2), Tuple.Create(4, 3), Tuple.Create(3, 4), Tuple.Create(4, 4) }; Assert.AreEqual(expected, field); }