示例#1
0
 def setUp(self):
     self.group1 = Group()
     self.group2 = Group(['13bk','13bl', '13yw'])
     self.group3 = Group(['13bk','13bl', '13yw', '13rd'])
示例#2
0
class TestGroup(TestCase):
    def setUp(self):
        self.group1 = Group()
        self.group2 = Group(['13bk','13bl', '13yw'])
        self.group3 = Group(['13bk','13bl', '13yw', '13rd'])


    def test_equality(self):
        self.group2.addTile('13rd')
        self.assertEqual(self.group2, self.group3)
        self.assertNotEqual(self.group1,self.group2)
        self.assertFalse(self.group2 ==  0)

        r = Run(['1bl', '2bl','3bl'])
        self.assertFalse(r == self.group2)
    def test_clone(self):
        g = self.group2.clone()
        g.addTile('13rd')
        self.assertEqual(len(self.group2),3)

    def test_get_tiles(self):
        self.assertEqual(self.group1.getTiles(), None)
        self.assertEqual(set(self.group2.getTiles()), set(['13bk','13bl', '13yw']))

    def test_length(self):
        self.assertEqual(len(self.group1), 0)
        self.assertEqual(len(self.group2), 3)
        self.assertEqual(len(self.group3), 4)

    def test_add(self):
        self.group2.addTile('13rd')
        self.assertEqual(len(self.group2), 4)

    def test_bad_add(self):
        with self.assertRaises(ValueError):
            self.group2.addTile('13bk')

        with self.assertRaises(ValueError):
            self.group2.addTile('12rd')

        with self.assertRaises(ValueError):
            self.group1.addTile(['12rd', '12yw'])

        with self.assertRaises(ValueError):
            self.group1.addTile(['12rd', '12rd', '12rd'])

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

    def test_validAdds(self):
        self.assertEqual(self.group1.validAdds(), None)
        self.assertEqual(self.group2.validAdds(), ["13rd"])
        self.assertEqual(self.group3.validAdds(), [])