示例#1
0
class TestCard(unittest.TestCase):
    def setUp(self):
        self.cardSUT = CardBuilder().build()

    def tearDown(self):
        self.cardSUT = None

    def testFlipChangesFacedUp(self):
        previous = self.cardSUT.isFacedUp()
        self.assertNotEqual(previous, self.cardSUT.flip().isFacedUp())

    def testIsNextToCardTruePlus1(self):
        self.assertTrue(self.cardSUT.isNextToCard(
            CardBuilder().setNumber(Number.THREE).build()))

    def testIsNextToCardTrueLess1(self):
        self.assertTrue(self.cardSUT.isNextToCard(
            CardBuilder().setNumber(Number.ACE).build()))

    def testIsNextToCardTrueEquals(self):
        self.assertTrue(self.cardSUT.isNextToCard(
            CardBuilder().setNumber(Number.TWO).build()))

    def testIsNextToCardFalse(self):
        self.assertFalse(self.cardSUT.isNextToCard(
            CardBuilder().setNumber(Number.FOUR).build()))

    def testIsNextToCardNonPossible(self):
        self.assertIsNone(self.cardSUT.isNextToCard(1))

    def testIsFacedUpFalse(self):
        self.assertFalse(self.cardSUT.isFacedUp())
示例#2
0
 def setUp(self):
     self.cardSUT = CardBuilder().build()
示例#3
0
 def testIsNextToCardFalse(self):
     self.assertFalse(self.cardSUT.isNextToCard(
         CardBuilder().setNumber(Number.FOUR).build()))
示例#4
0
 def testIsNextToCardTrueLess1(self):
     self.assertTrue(self.cardSUT.isNextToCard(
         CardBuilder().setNumber(Number.ACE).build()))
示例#5
0
 def testIsNextToCardTrueEquals(self):
     self.assertTrue(self.cardSUT.isNextToCard(
         CardBuilder().setNumber(Number.TWO).build()))
示例#6
0
 def addNCards(self, N):
     for n in range(0, N):
         self.cards.append(CardBuilder().build())
     return self
示例#7
0
 def build(self):
     s = Stock()
     for i in range(0, self.numberOfCards):
         s.push(CardBuilder().build())
     return s
示例#8
0
 def testFitsInFalseButIsComplete(self):
     self.foundationSUT.push(CardBuilder().setNumber(Number.KING).build())
     self.assertFalse(self.foundationSUT.fitsIn(CardBuilder()
                                                .setSuit(SuitBuilder()
                                                         .build()).build()))
示例#9
0
 def testFitsInTrueStockEmptyAndCardIsSameSuit(self):
     self.assertTrue(self.foundationSUT.fitsIn(CardBuilder().build()))
示例#10
0
 def testIsCompleteTrue(self):
     self.foundationSUT.push(CardBuilder().setNumber(Number.KING).build())
     self.assertTrue(self.foundationSUT.isComplete())
示例#11
0
 def testFitsInFalseDifferentSuit(self):
     self.assertFalse(self.foundationSUT.fitsIn(
         CardBuilder().setSuit(SuitBuilder().
                               setInitial('h').build()).build()))
示例#12
0
 def testAddToTopWhenTopFacedDownRaiseError(self):
     with pytest.raises(Exception):
         self.pileSUT.addToTop(CardBuilder().setFaceUp().build())
示例#13
0
 def testPushWhenEmpty(self):
     self.stack.push(CardBuilder().build())
     self.assertEqual(type(CardBuilder().setFaceUp().build()),
                      type(self.stack.pop()))
示例#14
0
 def testPopWhenNotEmpty(self):
     self.assertEqual(type(CardBuilder().setFaceUp().build()),
                      type(CardStackBuilder().addNCards(1).build().pop()))
示例#15
0
 def setNumber(self, n):
     self.number = n
     for i in range(0, self.number):
         self.cards.append(CardBuilder().build())
     return self
示例#16
0
 def setFacedUpCards(self, n):
     self.numberOfFacedUpCards = n
     for i in range(0, self.numberOfFacedUpCards):
         self.cards.append(CardBuilder().setFaceUp().build())
     return self