public void MovePieceWhenFirstSelectedSlotIsMovableAndSecondCanReceivePiece() { //TODO: Slot tem que dar a posição dele e não da peça, pq tem slots q não possuem peça Vector2 pieceDestinePosition = new Vector2(1, 2); SlotSelection slotSelection = CreateSlotSelection(); GameObject pieceObject = CreatePieceObject(); GridItemMover pieceMover = pieceObject.GetComponent <GridItemMover>(); PieceTranslationController firstPieceTranslationController = CreatePieceTranslationController(pieceObject); PieceDestinationController firstPieceDestinationController = CreatePieceDestinationController(firstPieceTranslationController, pieceMover); firstPieceDestinationController.SetMovable(); Positioner slotPositioner = CreateSlotPositioner(pieceDestinePosition); Slot slot1 = CreateSlot(slotSelection, firstPieceDestinationController, slotPositioner); GameObject pieceObject2 = CreatePieceObject(); GridItemMover pieceMover2 = pieceObject2.GetComponent <GridItemMover>(); PieceTranslationController secondPieceTranslationController = CreatePieceTranslationController(pieceObject2); PieceDestinationController secondPieceDestinationController = CreatePieceDestinationController(secondPieceTranslationController, pieceMover2); secondPieceDestinationController.SetEmpty(); Positioner slotPositioner2 = CreateSlotPositioner(pieceDestinePosition); Slot slot2 = CreateSlot(slotSelection, secondPieceDestinationController, slotPositioner2); slot1.Touch(); slot2.Touch(); Assert.AreEqual(pieceDestinePosition, pieceMover.Position); }
private PieceDestinationController CreatePieceDestinationController(WinController winController) { PieceTranslationController pieceTranslationController = CreatePieceTranslationController(); GridItemMover slotGridItemMover = SlotGridItemMover(); return(new PieceDestinationControllerImplementation(pieceTranslationController, slotGridItemMover, winController)); }
private PieceDestinationController CreatePieceDestinationController() { GridItemMover pieceMover = CreatePieceMover(); PieceTranslationController pieceTranslationController = CreatePieceTranslationController(pieceMover); return(new PieceDestinationControllerImplementation(pieceTranslationController, pieceMover, new StubWinController())); }
public PieceDestinationControllerImplementation(PieceTranslationController pieceTranslationController) { this.pieceTranslationController = pieceTranslationController; NULL_TRANSLATION_CONTROLLER = new NullPieceTranslationController(); EMPTY_STATE = new EmptyState(); MOVABLE_STATE = new MovableState(); FIXED_STATE = new FixedState(); SetFixed(); }
public void PieceTranslation() { GridItemMover pieceMover = CreatePieceMover(); PieceTranslationController pieceTranslationController = CreatePieceTranslationController(pieceMover); Vector2 newPiecePosition = new Vector2(1, 2); pieceTranslationController.TranslateToPosition(newPiecePosition); Assert.AreEqual(newPiecePosition, pieceMover.Position); }
public void MovingFromOneSlotToAnother() { Vector2 pieceDestinePosition = new Vector2(1, 2); GridItemMover pieceMover = CreatePieceMover(); PieceTranslationController pieceTranslationController = CreatePieceTranslationController(pieceMover); PieceDestinationController pieceDestinationController = CreatePieceDestinationController(pieceTranslationController, pieceMover); pieceDestinationController.MovePieceToDestinePosition(pieceDestinePosition); Assert.AreEqual(pieceDestinePosition, pieceMover.Position); }
public PieceDestinationControllerImplementation(PieceTranslationController pieceTranslationController, GridItemMover slotGridItemMover, WinController winController) { this.pieceTranslationController = pieceTranslationController; this.slotGridItemMover = slotGridItemMover; this.winController = winController; //this.grid = grid; NULL_TRANSLATION_CONTROLLER = new NullPieceTranslationController(); EMPTY_STATE = new EmptyState(); MOVABLE_STATE = new MovableState(); FIXED_STATE = new FixedState(); SetFixed(); }
public void MovePieceWhenDestinationControlerIsMovingState() { Vector2 pieceDestinePosition = new Vector2(1, 2); GridItemMover pieceMover = CreatePieceMover(); PieceTranslationController pieceTranslationController = CreatePieceTranslationController(pieceMover); PieceDestinationController pieceDestinationController = CreatePieceDestinationController(pieceTranslationController, pieceMover); pieceDestinationController.SetMovable(); pieceDestinationController.TakePieceToPosition(pieceDestinePosition); Assert.AreEqual(pieceDestinePosition, pieceMover.Position); }
public void Clean() { pieceTranslationController = NULL_TRANSLATION_CONTROLLER; SetNeighborMovable(); }
public void Construct(PieceTranslationController pieceTranslationController, WinController winController) { pieceDestinationController = new PieceDestinationControllerImplementation(pieceTranslationController, gridItemComponent, winController); }