neobanbou/test/test_projet_calculer_taille.py
David Castex ef876b7a69 Maj controler_projection() + debut script Main
Prends en compte l'intersection des valeurs dans
les projections CC47 et Lambert93
2025-05-23 16:42:06 +02:00

79 lines
1.6 KiB
Python

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