示例#1
0
        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);
        }