public void TransitionTest()
        {
            var market = new Market();
            _control.PlaceTile(market, _control.GetPlacableSpaces().First());

            Selection actual = market.Transition(null);
            Assert.AreEqual(Selection.Opponent, actual);

            var player = new Player("Player 2", Color.Blue, ColorName.Blue);
            actual = market.Transition(player);
            Assert.AreEqual(Selection.None, actual);
        }
 private IEnumerable<Plan> DeviseTilePlans(Market tile, IEnumerable<ISpace> spaces)
 {
     foreach (ISpace space in spaces)
         foreach (IPlayer opponent in GameState.Players.Where(p => p != Player))
         {
             var plan = new Plan(tile, space) {Value = opponent.HandSize-Player.HandSize};
             plan.Worths[Player] = GetSpaceWorth(space)+tile.Worth;
             plan.Arguments.Add(opponent);
             yield return plan;
         }
 }