forked from ianfab/chess-variant-stats
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathtests.py
25 lines (19 loc) · 1.02 KB
/
tests.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
import unittest
import piece_values
class TestPieceValues(unittest.TestCase):
def test_imbalance(self):
# single piece
self.assertTrue(piece_values.has_imbalance(['K', 'Q', 'k', 'r'], 'Qr'))
self.assertTrue(piece_values.has_imbalance(['K', 'Q', 'R', 'k', 'r', 'r'], 'Qr'))
self.assertTrue(piece_values.has_imbalance(['K', 'Q', 'Q', 'k', 'r', 'r'], 'Qr'))
self.assertFalse(piece_values.has_imbalance(['K', 'Q', 'k'], 'Qr'))
self.assertFalse(piece_values.has_imbalance(['K', 'Q', 'k', 'r'], 'Rq'))
self.assertFalse(piece_values.has_imbalance(['K', 'Q', 'R', 'k', 'r'], 'Qr'))
# multi-piece
self.assertTrue(piece_values.has_imbalance(['K', 'Q', 'k', 'r', 'r'], 'Qrr'))
self.assertFalse(piece_values.has_imbalance(['K', 'Q', 'R', 'k', 'r', 'r'], 'Qrr'))
def test_game_phase(self):
self.assertEqual(piece_values.game_phase(2, 32, 17), 0)
self.assertEqual(piece_values.game_phase(2, 32, 16), 1)
if __name__ == '__main__':
unittest.main()