def test_prises_pion(): pion = Pion('blanc') assert pion.peut_faire_une_prise_vers('b2', 'c3') assert pion.peut_faire_une_prise_vers('b2', 'a3') assert not pion.peut_faire_une_prise_vers('b2', 'b3') assert not pion.peut_faire_une_prise_vers('c2', 'c1') pion = Pion('noir') assert not pion.peut_faire_une_prise_vers('b2', 'c3') assert not pion.peut_faire_une_prise_vers('b2', 'a3') assert pion.peut_faire_une_prise_vers('b3', 'c2') assert not pion.peut_faire_une_prise_vers('c2', 'c1')
def test_mouvements_pion_deplacement_depart(): pion = Pion('blanc') assert pion.peut_se_deplacer_vers('b2', 'b4') assert pion.peut_se_deplacer_vers('g2', 'g4') assert not pion.peut_se_deplacer_vers('b2', 'b5') assert not pion.peut_se_deplacer_vers('c3', 'c5') pion = Pion('noir') assert not pion.peut_se_deplacer_vers('b2', 'b4') assert pion.peut_se_deplacer_vers('b7', 'b5') assert pion.peut_se_deplacer_vers('h7', 'h5') assert not pion.peut_se_deplacer_vers('d7', 'd4') assert not pion.peut_se_deplacer_vers('d8', 'd6')
def test_mouvements_pion(): pion = Pion('blanc') assert pion.peut_se_deplacer_vers('b2', 'b3') assert not pion.peut_se_deplacer_vers('b2', 'c3') assert not pion.peut_se_deplacer_vers('c2', 'c1') pion = Pion('noir') assert not pion.peut_se_deplacer_vers('b2', 'b3') assert not pion.peut_se_deplacer_vers('b3', 'c2') assert pion.peut_se_deplacer_vers('c2', 'c1')
def test_representations_differentes_unicode(): pychecs.piece.UTILISER_UNICODE = True pieces = [ Pion('blanc'), Pion('noir'), Tour('blanc'), Tour('noir'), Cavalier('blanc'), Cavalier('noir'), Fou('blanc'), Fou('noir'), Dame('blanc'), Dame('noir'), Roi('blanc'), Roi('noir') ] representations = [str(piece) for piece in pieces] assert len(representations) == len(set(representations))
def test_deplacements_sur_place_interdits(): pion = Pion('blanc') tour = Tour('noir') fou = Fou('blanc') dame = Dame('blanc') roi = Roi('noir') cavalier = Cavalier('blanc') assert not pion.peut_se_deplacer_vers('d3', 'd3') assert not pion.peut_faire_une_prise_vers('c2', 'c2') assert not tour.peut_se_deplacer_vers('c4', 'c4') assert not tour.peut_faire_une_prise_vers('d5', 'd5') assert not fou.peut_se_deplacer_vers('c5', 'c5') assert not fou.peut_faire_une_prise_vers('a1', 'a1') assert not dame.peut_se_deplacer_vers('d2', 'd2') assert not dame.peut_faire_une_prise_vers('d4', 'd4') assert not roi.peut_se_deplacer_vers('d3', 'd3') assert not roi.peut_faire_une_prise_vers('d3', 'd3') assert not cavalier.peut_se_deplacer_vers('e4', 'e4') assert not cavalier.peut_faire_une_prise_vers('f4', 'f4')
def test_prises_pion(): # Quelques tests de prises par un pion blanc. pion = Pion('blanc') assert pion.peut_faire_une_prise_vers('b2', 'c3') assert pion.peut_faire_une_prise_vers('b2', 'a3') assert not pion.peut_faire_une_prise_vers('b2', 'b3') assert not pion.peut_faire_une_prise_vers('c2', 'c1') assert not pion.peut_faire_une_prise_vers('c2', 'c2') # Quelques tests de prises par un pion noir. pion = Pion('noir') assert not pion.peut_faire_une_prise_vers('b2', 'c3') assert not pion.peut_faire_une_prise_vers('b2', 'a3') assert pion.peut_faire_une_prise_vers('b3', 'c2') assert not pion.peut_faire_une_prise_vers('c2', 'c1')
def test_mouvements_pion(): # Quelques tests de déplacements de pion blanc. pion = Pion('blanc') assert pion.peut_se_deplacer_vers('b2', 'b3') assert not pion.peut_se_deplacer_vers('b2', 'c3') assert not pion.peut_se_deplacer_vers('c2', 'c1') assert not pion.peut_se_deplacer_vers('c2', 'c2') # Quelques tests de déplacements de pion noir. pion = Pion('noir') assert not pion.peut_se_deplacer_vers('b2', 'b3') assert not pion.peut_se_deplacer_vers('b3', 'c2') assert pion.peut_se_deplacer_vers('c2', 'c1')
def test_mouvements_pion_deplacement_depart(): # Quelques tests pour le mouvement initial d'un pion: il peut sauter 2 cases. pion = Pion('blanc') assert pion.peut_se_deplacer_vers('b2', 'b4') assert pion.peut_se_deplacer_vers('g2', 'g4') assert not pion.peut_se_deplacer_vers('b2', 'b5') assert not pion.peut_se_deplacer_vers('c3', 'c5') pion = Pion('noir') assert not pion.peut_se_deplacer_vers('b2', 'b4') assert pion.peut_se_deplacer_vers('b7', 'b5') assert pion.peut_se_deplacer_vers('h7', 'h5') assert not pion.peut_se_deplacer_vers('d7', 'd4') assert not pion.peut_se_deplacer_vers('d8', 'd6')
def partie(): x = Partie() x.echiquier.dictionnaire_pieces = { 'a8': Roi('noir'), 'a7': Pion('noir'), 'b7': Pion('noir'), 'b8': Pion('noir'), 'a1': Roi('blanc'), 'a2': Pion('blanc'), 'b2': Pion('blanc'), 'b1': Pion('blanc'), 'd1': Dame('blanc'), 'f1': Fou('blanc'), 'e3': Cavalier('blanc'), 'g2': Tour('blanc'), 'h2': Pion('blanc'), 'b7': Pion('noir'), 'd6': Dame('noir'), 'f7': Fou('noir'), 'g6': Cavalier('noir'), 'h8': Tour('noir'), } return x
def initialiser_echiquier_depart(self): """Initialise l'échiquier à son contenu initial. Pour faire vos tests pendant le développement, nous vous suggérons de vous fabriquer un échiquier plus simple, en modifiant l'attribut dictionnaire_pieces de votre instance d'Echiquier. """ self.dictionnaire_pieces = { 'a1': Tour('blanc'), 'b1': Cavalier('blanc'), 'c1': Fou('blanc'), 'd1': Dame('blanc'), 'e1': Roi('blanc'), 'f1': Fou('blanc'), 'g1': Cavalier('blanc'), 'h1': Tour('blanc'), 'a2': Pion('blanc'), 'b2': Pion('blanc'), 'c2': Pion('blanc'), 'd2': Pion('blanc'), 'e2': Pion('blanc'), 'f2': Pion('blanc'), 'g2': Pion('blanc'), 'h2': Pion('blanc'), 'a7': Pion('noir'), 'b7': Pion('noir'), 'c7': Pion('noir'), 'd7': Pion('noir'), 'e7': Pion('noir'), 'f7': Pion('noir'), 'g7': Pion('noir'), 'h7': Pion('noir'), 'a8': Tour('noir'), 'b8': Cavalier('noir'), 'c8': Fou('noir'), 'd8': Dame('noir'), 'e8': Roi('noir'), 'f8': Fou('noir'), 'g8': Cavalier('noir'), 'h8': Tour('noir'), }