from file_de_priorite import FileDePriorite


def main():
    """Tests unitaires du module"""
    def ok_ko_en_str(booleen):
        return "OK" if booleen else "KO"

    def ok_ko(fct, resultat_attendu, *param):
        """mini fonction de TU"""
        res = fct.__name__ + ' : '
        res = res + ok_ko_en_str(fct(*param) == resultat_attendu)
        print(res)


    fdp = FileDePriorite((42,20,5,13))

    ok_ko(FileDePriorite.est_vide, False, fdp)
    ok_ko(FileDePriorite.element, 5, fdp)
    ok_ko(FileDePriorite.defiler, 5, fdp)
    ok_ko(FileDePriorite.defiler, 13, fdp)

    
    fdp.enfiler(1)
    
    ok_ko(FileDePriorite.defiler, 1, fdp)

    fdp.defiler()
    fdp.defiler()
    
    ok_ko(FileDePriorite.est_vide, True, fdp)

    fdp.enfiler(2)
    fdp.enfiler(0)
    fdp.enfiler(1)

    ok_ko(str, "-> 2, 1, 0 ->", fdp)
    
    for num in range(3):
        ok_ko(FileDePriorite.defiler, num, fdp)

if __name__ == "__main__":
    main()
