public void GetEndgamePaths_FullFieldWithTetris_() { var field = Field.Create(58, 0, 2, @" .......... .......... ...X...... XXXXXXXXX. XXXXXXXXX. XXXXXXXXX. XXXXXXXXX. XX..XXXXXX XXXXXXXX.X XXX.XXXXX. .XXXXXXXXX XX.XXXXXX. X.XXXXXXXX XXXXX.XX.X XXXXXXXXX. XXXXXXXX.. XXXXXXXXX." ); var act = MoveGenerator.GetEndgamePaths(field, Block.I).Select(move => new MoveInstruction(move.Path.Moves.ToArray()).ToString()).ToArray(); var exp = new string[] { "drop", "down,left,drop", "down,left,left,drop", "down,left,left,left,drop", "down,right,drop", "down,right,down,right,drop", "down,right,down,right,right,drop", "left,left,left,turnleft,turnleft,right,right,right,right,right,right,turnleft,right,drop", }; foreach (var a in act) { Console.WriteLine(a); } CollectionAssert.AreEqual(exp, act); }