示例#1
0
 def test_validAdds(self):
     self.assertEqual(self.run1.validAdds(), None)
     self.assertEqual(self.run2.validAdds(), ['4rd', '8rd'])
     self.assertEqual(self.run3.validAdds(), ['9bk'])
     self.assertEqual(self.run4.validAdds(), ['8yw'])
     fullRun = Run(['%dbk' %i  for i in range(1,14)])
     self.assertEqual(fullRun.validAdds(),[])
示例#2
0
 def setUp(self):
     self.run1 = Run()
     self.run2 = Run( ['5rd', '6rd', '7rd'] )
     self.run3 = Run( ['10bk', '11bk', '12bk', '13bk'])
     self.run4 = Run( ['1yw', '2yw', '3yw', '4yw', '5yw', '6yw', '7yw'])
示例#3
0
class TestRuns(TestCase):
    def setUp(self):
        self.run1 = Run()
        self.run2 = Run( ['5rd', '6rd', '7rd'] )
        self.run3 = Run( ['10bk', '11bk', '12bk', '13bk'])
        self.run4 = Run( ['1yw', '2yw', '3yw', '4yw', '5yw', '6yw', '7yw'])


    def test_length(self):
        self.assertEqual(len(self.run1), 0)
        self.assertEqual(len(self.run2), 3)
        self.assertEqual(len(self.run3), 4)

    def test_get_tiles(self):
        self.assertEqual( self.run1.getTiles(), None)
        self.assertEqual( self.run4.getTiles(),['1yw', '2yw', '3yw', '4yw', '5yw', '6yw', '7yw'])

    def test_equality(self):
        tmp = Run( ['5rd', '6rd','7rd', '8rd'])
        self.run2.addTile('8rd')
        self.assertEqual(self.run2, tmp)
        self.assertNotEqual(self.run2,self.run4)
        self.assertFalse(self.run2 == 'Not a run object')

        g = Group(['3bl','3rd', '3yw'])
        self.assertFalse(g == self.run2)

    def test_clone(self):
        r = self.run2.clone()
        r.addTile('8rd')
        self.assertEqual(len(self.run2), 3)

    def test_addTile(self):
        self.run2.addTile('4rd')
        self.assertEqual(len(self.run2), 4)
        self.run3.addTile('9bk')
        self.assertEqual(len(self.run3), 5)

    def test_addTile_invalid(self):
        with self.assertRaises(ValueError):
            self.run2.addTile('8bl')

        with self.assertRaises(ValueError):
            self.run3.addTile('8bk')

        with self.assertRaises(TypeError):
            self.run2.addTile(0)


    def test_addTile_too_short_on_new(self):
        with self.assertRaises(ValueError):
            self.run1.addTile(['1bl', '2bl'])

    def test_validAdds(self):
        self.assertEqual(self.run1.validAdds(), None)
        self.assertEqual(self.run2.validAdds(), ['4rd', '8rd'])
        self.assertEqual(self.run3.validAdds(), ['9bk'])
        self.assertEqual(self.run4.validAdds(), ['8yw'])
        fullRun = Run(['%dbk' %i  for i in range(1,14)])
        self.assertEqual(fullRun.validAdds(),[])