Beispiel #1
0
 def test_update_reinvest_dividends(self):
   holding = Holding('IL', 'Illuminati', 'BY', 120, 10, 'USD', reinvest_dividends=True)
   portfolio = Portfolio([holding], self.CONVERTER)
   sut = CashDividendAction(1.50, 'USD')
   sut.update(holding, portfolio)
   self.assertEqual(8.50, holding.price)
   self.assertEqual(120*(1+1.5/8.5), holding.shares)
   self.assertEqual(0, portfolio.cash_value)
Beispiel #2
0
 def test_update_reinvest_dividends_another_currency(self):
   holding = Holding('IL', 'Illuminati', 'BY', 120, 10, 'USD', reinvest_dividends=True)
   portfolio = Portfolio([holding], self.CONVERTER)
   sut = CashDividendAction(1.50, 'CAD')
   distribution = 1.50 * self.CONVERTER.CONVERSION_TABLE[('CAD', 'USD')]
   new_share_price = 10 - distribution
   sut.update(holding, portfolio)
   self.assertEqual(new_share_price, holding.price)
   self.assertEqual(120*(1+distribution/new_share_price), holding.shares)
   self.assertEqual(0, portfolio.cash_value)