public void TestNewTileIsPlaced()
        {
            var target = new Quarry();
            Tile tile = new MockTile();
            Space space = _control.GetPlacableSpaces(tile).First();

            target.Transition(null);
            target.Transition(tile);
            target.Transition(space);

            Assert.AreEqual(tile, space.Tile);
        }
        public void TransitionTest()
        {
            var target = new Quarry();
            Tile tile = new MockTile();

            Selection actual = target.Transition(null);
            Assert.AreEqual(Selection.TileFromHand, actual);

            actual = target.Transition(tile);
            Assert.AreEqual(Selection.PlayableSpace, actual);

            target.Transition(_control.GetPlacableSpaces(tile).First());
            Assert.AreEqual(tile, _control.ActiveTile);
        }
        public void TestTileIsRemoved()
        {
            var target = new Quarry();

            Selection actual = target.Transition(null);
            Assert.AreEqual(Selection.TileFromHand, actual);

            Player player = _control.ActivePlayer;
            Tile tile = player.Hand.First();
            actual = target.Transition(tile);
            Assert.AreEqual(Selection.PlayableSpace, actual);

            target.Transition(_control.GetPlacableSpaces(tile).First());
            Assert.AreEqual(tile, _control.ActiveTile);

            Assert.IsFalse(player.Hand.Contains(tile));
        }