Ejemplo n.º 1
0
 def test_AddCashFlow(self):
     mod = Model()
     us = Country(mod, 'US', 'USA')
     s = Sector(us, 'HH', 'Household')
     s.AddCashFlow('A', 'H_A', 'Desc A')
     s.AddCashFlow('- B', 'H_B', 'Desc B')
     s.AddCashFlow(' - C', 'H_C', 'Desc C')
     self.assertEqual('LAG_F+A-B-C', s.EquationBlock['F'].RHS())
Ejemplo n.º 2
0
 def test_GenerateIncomeEquations_3(self):
     mod = Model()
     us = Country(mod, 'US', 'USA')
     s = Sector(us, 'HH', 'Household')
     s.AddCashFlow('X', 'eq')
     s.AddCashFlow('Y', 'eq2')
     self.assertEqual('LAG_F+X+Y', s.EquationBlock['F'].RHS())
     self.assertEqual('F(k-1)', s.EquationBlock['LAG_F'].RHS())
Ejemplo n.º 3
0
 def test_AddCashFlow_2(self):
     mod = Model()
     us = Country(mod, 'US', 'USA')
     s = Sector(us, 'HH', 'Household')
     s.AddCashFlow('A', 'equation', 'Desc A')
     s.AddCashFlow('', 'equation', 'desc')
     with self.assertRaises(ValueError):
         s.AddCashFlow('-', 'B', 'Desc B')
     with self.assertRaises(ValueError):
         s.AddCashFlow('+', 'X', 'Desc C')
     self.assertEqual('LAG_F+A', s.EquationBlock['F'].RHS())
     self.assertEqual('equation', s.EquationBlock['A'].RHS())
Ejemplo n.º 4
0
 def test_IncomeEquation_2(self):
     mod = Model()
     us = Country(mod, 'US', 'US')
     hh = Sector(us, 'HH', 'HH', has_F=True)
     hh.AddCashFlow('x', eqn='2.0', is_income=False)
     mod._GenerateFullSectorCodes()
     self.assertEqual('0.0', hh.EquationBlock['INC'].RHS())
Ejemplo n.º 5
0
 def test_AddCashFlow_3(self):
     mod = Model()
     us = Country(mod, 'US', 'USA')
     s = Sector(us, 'HH', 'Household')
     s.AddVariable('X', 'desc', '')
     s.AddCashFlow('X', 'equation', 'Desc A')
     self.assertEqual('equation', s.EquationBlock['X'].RHS())
Ejemplo n.º 6
0
 def test_AddCashFlow_bad(self):
     mod = Model()
     us = Country(mod, 'US', 'USA')
     s = Sector(us, 'HH', 'Household')
     s.AddVariable('X', 'desc', '')
     with self.assertRaises(NotImplementedError):
         # Must be a simple variable as the cash flow
         s.AddCashFlow('f(X)', 'equation', 'Desc A')