Ejemplo n.º 1
0
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))
Ejemplo n.º 2
0
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')
Ejemplo n.º 3
0
def test_mouvements_cavalier():
    cavalier = Cavalier('blanc')
    assert cavalier.peut_se_deplacer_vers('e4', 'c3')
    assert cavalier.peut_se_deplacer_vers('e4', 'c5')
    assert cavalier.peut_se_deplacer_vers('e4', 'd2')
    assert cavalier.peut_se_deplacer_vers('e4', 'd6')
    assert cavalier.peut_se_deplacer_vers('e4', 'f2')
    assert cavalier.peut_se_deplacer_vers('e4', 'f6')
    assert cavalier.peut_se_deplacer_vers('e4', 'g3')
    assert cavalier.peut_se_deplacer_vers('e4', 'g5')

    assert not cavalier.peut_se_deplacer_vers('e4', 'c4')
    assert not cavalier.peut_se_deplacer_vers('e4', 'd5')
    assert not cavalier.peut_se_deplacer_vers('e4', 'a5')
Ejemplo n.º 4
0
    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'),
        }
Ejemplo n.º 5
0
def test_prises_cavalier():
    cavalier = Cavalier('blanc')
    assert cavalier.peut_faire_une_prise_vers('e4', 'c3')
    assert cavalier.peut_faire_une_prise_vers('e4', 'c5')
    assert cavalier.peut_faire_une_prise_vers('e4', 'd2')
    assert cavalier.peut_faire_une_prise_vers('e4', 'd6')
    assert cavalier.peut_faire_une_prise_vers('e4', 'f2')
    assert cavalier.peut_faire_une_prise_vers('e4', 'f6')
    assert cavalier.peut_faire_une_prise_vers('e4', 'g3')
    assert cavalier.peut_faire_une_prise_vers('e4', 'g5')

    assert not cavalier.peut_faire_une_prise_vers('e4', 'e4')
    assert not cavalier.peut_faire_une_prise_vers('e4', 'c4')
    assert not cavalier.peut_faire_une_prise_vers('e4', 'd5')
    assert not cavalier.peut_faire_une_prise_vers('e4', 'a5')
Ejemplo n.º 6
0
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