public void TestMap(List <List <char> > map, int expectedX, int expectedY, int expectedScore) { var testObject = new AsteroidsMonitoringSystem(map); var(position, score) = testObject.GetBestPosition(); Assert.IsTrue(position.X == expectedX); Assert.IsTrue(position.Y == expectedY); Assert.IsTrue(score == expectedScore); }
/// <summary> /// Execution function for Day 10 /// </summary> public void Execute10() { UserActionAsync(() => { WriteToConsole("Start execution of Day10"); var parser = GetInputParser("Day10Input.txt"); var input = parser.GetInputData(); var map = input.Select(s => s.ToCharArray().ToList()).ToList(); var system = new AsteroidsMonitoringSystem(map); var(position, score) = system.GetBestPosition(); WriteToConsole($"The best position for the monitoring system is ({position.X}, {position.Y}) with a score of {score}"); var sequence = system.GetVaporizationSequence(position); var destroy = sequence[199]; WriteToConsole($"The asteroid which is destroy at position 200 is at ({destroy.X}, {destroy.Y})"); }); }