示例#1
0
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')
示例#2
0
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')
示例#3
0
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')
示例#4
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))
示例#5
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')
示例#6
0
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')
示例#7
0
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')
示例#8
0
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')
示例#9
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
示例#10
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'),
        }