Beispiel #1
0
def robot_faire_prochain_mouvement_test():
    grille = Grille(10, 10)
    point_montage = PointMontage(5, 5)
    point_montage_bis = PointMontage(6, 6)
    grille.add_point_montage(point_montage)
    grille.add_point_montage(point_montage_bis)

    etape = Etape(5, 6)
    tache = Tache(15, 0)
    tache.add_etape(etape)

    robot = Robot()
    robot.point_montage = point_montage
    robot.add_tache(tache, grille)
    robot.mouvements.append(Mouvement.HAUT)
    robot.mouvements.append(Mouvement.DROITE)
    grille.robots.append(robot)

    # tout va bien
    robot.faire_prochain_mouvement(grille)
    assert len(grille.cases[6][5]) == 1 and isinstance(grille.cases[6][5][0],
                                                       Bras)
    assert len(robot.bras) == 1
    assert len(robot.mouvements) == 1

    assert grille.points == 15
    assert not len(robot.taches)

    # collision avec point de montage bis
    try:
        robot.faire_prochain_mouvement(grille)
    except ConnectionError:
        pass
    else:
        assert False
Beispiel #2
0
def robot_get_plus_proche_tache_test():
    grille = Grille(10, 10)
    point_montage = PointMontage(5, 5)
    etape_1 = Etape(5, 6)
    etape_2 = Etape(5, 7)
    tache = Tache(15, 0)
    tache.add_etape(etape_1)
    tache.add_etape(etape_2)
    grille.add_tache(tache)
    robot = Robot()
    robot.point_montage = point_montage
    robot.add_tache(robot.get_plus_proche_tache(grille), grille)
    assert not robot.get_plus_proche_tache(grille)
Beispiel #3
0
def robot_coordonnees_pince_test():
    grille = Grille(10, 10)
    point_montage = PointMontage(5, 5)
    grille.add_point_montage(point_montage)

    robot = Robot()
    robot.point_montage = point_montage
    assert robot.coordonnees_pince() == robot.point_montage

    # simulation mouvement haut
    bras = Bras(5, 6)
    robot.bras.append(bras)
    grille.cases[6][5].append(bras)
    assert robot.coordonnees_pince() == bras
Beispiel #4
0
def robot_add_tache_test():
    grille = Grille(10, 10)
    point_montage = PointMontage(5, 5)
    etape_1 = Etape(5, 6)
    etape_2 = Etape(5, 7)
    tache = Tache(15, 0)
    tache.add_etape(etape_1)
    tache.add_etape(etape_2)
    grille.add_tache(tache)
    robot = Robot()
    robot.point_montage = point_montage
    robot.add_tache(tache, grille)

    assert len(robot.taches)
    assert not len(grille.taches)
Beispiel #5
0
def robot_faire_prochain_mouvement_retractation_test():
    grille = Grille(10, 10)
    point_montage = PointMontage(5, 5)
    grille.add_point_montage(point_montage)
    robot = Robot()
    robot.point_montage = point_montage
    robot.mouvements.append(Mouvement.DROITE)
    robot.mouvements.append(Mouvement.BAS)

    assert not robot.faire_prochain_mouvement_retractation(grille)

    # simulation mouvement haut
    bras = Bras(5, 6)
    robot.bras.append(bras)
    grille.cases[6][5].append(bras)

    # pas de rétractation car mouvement a droit et non vers le bas
    assert not robot.faire_prochain_mouvement_retractation(grille)
    robot.mouvements.pop(0)

    assert robot.faire_prochain_mouvement_retractation(grille)
    assert len(robot.bras) == 0
    for item in grille.cases[6][5]:
        assert not isinstance(item, Bras)
Beispiel #6
0
def grille_start_simulation_test():
    grille = Grille(10, 10)
    grille.step_simulation = 2
    point_montage = PointMontage(5, 5)
    point_montage_bis = PointMontage(6, 6)
    grille.add_point_montage(point_montage)
    grille.add_point_montage(point_montage_bis)

    etape_1 = Etape(5, 6)
    etape_2 = Etape(5, 7)
    tache = Tache(15, 0)
    tache.add_etape(etape_1)
    tache.add_etape(etape_2)
    grille.add_tache(tache)

    robot = Robot()
    robot.point_montage = point_montage
    robot.add_tache(tache, grille)
    robot.mouvements.append(Mouvement.HAUT)
    robot.mouvements.append(Mouvement.HAUT)
    grille.robots.append(robot)

    grille.start_simulation()
    print(grille.points)