# HG changeset patch
# User Nicolas Chauvat <nicolas.chauvat@logilab.fr>
# Date 1406806942 -7200
# Thu Jul 31 13:42:22 2014 +0200
# Node ID 00e1e36171d61805cceabf961cd48c23a685eca8
# Parent c19276bde8c4ef9f324bc7ec9977cc2e9f15eb42
[lib] ne pas oublier clore amortissement si immo sortie prématurément (closes #106011)
# User Nicolas Chauvat <nicolas.chauvat@logilab.fr>
# Date 1406806942 -7200
# Thu Jul 31 13:42:22 2014 +0200
# Node ID 00e1e36171d61805cceabf961cd48c23a685eca8
# Parent c19276bde8c4ef9f324bc7ec9977cc2e9f15eb42
[lib] ne pas oublier clore amortissement si immo sortie prématurément (closes #106011)
@@ -713,14 +713,16 @@
1 amort = 0 2 entree = self.entree 3 mensuel = int(self.montant) / int(self.duree) 4 for m in range(self.duree-1): 5 date = self.entree + RelativeDateTime(months=+m,day=-1) 6 - result.append( (date,self.compte,mensuel) ) 7 - amort += mensuel 8 if self.sortie and date >= self.sortie: 9 + result.append( (date, self.compte, int(self.montant)-amort) ) 10 break 11 + else: 12 + result.append( (date,self.compte,mensuel) ) 13 + amort += mensuel 14 else: 15 date = self.entree + RelativeDateTime(months=+m+1, day=-1) 16 result.append( (date, self.compte, int(self.montant)-amort) ) 17 return result 18
@@ -619,14 +619,17 @@
19 immo = entities.Immobilisation(u'a', Date(2002,1,1),None,3,u'101',3002) 20 self.assertEqual( immo.get_dotations(), 21 [(Date(2002,1,-1),'101',1000), 22 (Date(2002,2,-1),'101',1000), 23 (Date(2002,3,-1),'101',1002)]) 24 + 25 + def test_get_dotations_avec_sortie(self) : 26 + """calcul des dotations avec sortie""" 27 immo = entities.Immobilisation(u'a', Date(2002,1,1),Date(2002,2,15),3,u'101',3000) 28 self.assertEqual( immo.get_dotations(), 29 [(Date(2002,1,-1),'101',1000), 30 - (Date(2002,2,-1),'101',1000)]) 31 + (Date(2002,2,-1),'101',2000)]) 32 33 class VisitorImmobilisations(testlib.TestCase) : 34 """Tests pour affichage des immobilisations""" 35 36 def setUp(self) :