from banbou import _Projet import banbou def test_doit_calculer_la_taille_du_projet(mocker): class MockResponse: def __init__(self): self.taille = 40 self.implication = "Necessaire" mocker.patch("banbou._Fichier", return_value = MockResponse()) fichiers = [banbou._Fichier()] sut = _Projet() sut.fichiers = fichiers expected_value = 40 sut.calculer_taille() assert sut.taille == expected_value def test_doit_calculer_une_liste_vide(mocker): fichiers = [] sut = _Projet() sut.fichiers = fichiers expected_value = 0 sut.calculer_taille() assert sut.taille == expected_value def test_ne_doit_pas_calculer_fichier_non_necessaire(mocker): class MockResponse: def __init__(self): self.taille = 40 self.implication = "A-ignorer" mocker.patch("banbou._Fichier", return_value = MockResponse()) fichiers = [banbou._Fichier()] sut = _Projet() sut.fichiers = fichiers expected_value = 0 sut.calculer_taille() assert sut.taille == expected_value def test_doit_afficher_un_arrondi_deux_decimale(mocker, capsys): class MockResponse: def __init__(self): self.taille = 2089457 self.implication = "Necessaire" mocker.patch("banbou._Fichier", return_value = MockResponse()) fichiers = [banbou._Fichier()] sut = _Projet() sut.fichiers = fichiers expected_value = "\nTaille totale : 1.99 Mo.\n\n" sut.calculer_taille() out, err = capsys.readouterr() assert out == expected_value