public void OneMoveWinTest() { var balls = new List <Ball> { new Ball(1, new Point(2, 0)), new Ball(2, new Point(2, 1)), new Ball(3, new Point(2, 2)), }; var holes = new List <Hole> { new Hole(1, new Point(0, 0)), new Hole(2, new Point(0, 1)), new Hole(3, new Point(0, 2)), }; var f = new Field(3, balls, holes); var result = _tiltPlayer.GetWinningStrategy(f); Assert.AreEqual(GameState.Win, result.state); Assert.AreEqual(1, result.directions.Count); Assert.AreEqual(result.directions.FirstOrDefault(), TiltDirection.West); }
static void Main(string[] args) { try { IFieldProvider fp = new FieldProvider(); var field = fp.GetField(); //TODO use logger interface instead of direct Console.WriteLine Console.WriteLine(field.ToString()); TiltPlayer player = new TiltPlayer(); var result = player.GetWinningStrategy(field); Console.WriteLine(result.ToFormattedString()); } catch (Exception e) { Console.WriteLine(e.Message); } }