def test_GivenAGame_WhenMoveFromPileToFoundation_ThenError(self): pileNumber = 1 cardToMove = CardBuilder().suit(Suit.PIKES).number(Number.ACE).faceUp().build() game = GameBuilder()\ .cardInPile(pileNumber, CardBuilder().faceUp().build())\ .cardInPile(pileNumber, cardToMove)\ .build() self.assertEqual( game.moveFromPileToFoundation(pileNumber, Suit.HEARTS), Error.NO_FIT_FOUNDATION)
def test_GivenAGame_WhenMoveFromPileToFoundation_ThenCardIsMoved(self): pileNumber = 1 cardToMove = CardBuilder().suit(Suit.PIKES).number(Number.ACE).faceUp().build() game = GameBuilder()\ .cardInPile(pileNumber, CardBuilder().faceUp().build())\ .cardInPile(pileNumber, cardToMove)\ .build() self.assertIsNone(game.moveFromPileToFoundation(pileNumber, Suit.PIKES)) self.assertNotEqual(game.getPiles()[pileNumber-1].getTop(), cardToMove) self.assertEqual(game.getFoundations()[Suit.PIKES].getTop(), cardToMove) self.assertTrue(game.getPiles()[pileNumber-1].getTop().isFaceUp())
def test_GivenAGameWithEmptyPile_WhenMoveFromPileToFoundation_ThenError(self): pileNumber = 1 game = GameBuilder().pileEmpty(pileNumber).build() self.assertEqual(game.moveFromPileToFoundation(pileNumber, Suit.PIKES), Error.EMPTY_PILE)