[lib] ne pas oublier clore amortissement si immo sortie prématurément (closes #106011)

authorNicolas Chauvat <nicolas.chauvat@logilab.fr>
changeset00e1e36171d6
branchdefault
phasepublic
hiddenno
parent revision#c19276bde8c4 [ecritures] transforme balise groupe en balise analyse
child revision#8089820b8b17 [package] prepare 0.9.0
files modified by this revision
lib/entities.py
test/test_lib.py
# 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)

diff --git a/lib/entities.py b/lib/entities.py
@@ -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 
diff --git a/test/test_lib.py b/test/test_lib.py
@@ -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) :