def testGetValue(self):
     trade = Trade(self.date, self.financial_instrument, 1, self.financial_instrument.get_close_value(self.date))
     
     # check trade is open
     self.assertNotEqual(trade.closed, True, 'trade not closed')
     
     # check get value
     self.assertEqual(trade.get_value(self.date, self.financial_instrument.get_currency()), 100, 'Value day of trade')
     self.assertEqual(trade.get_value(date.today(), self.financial_instrument.get_currency()), 105, 'Value today')
 def testGetInstrumentQuantity(self):
     portfolio = Portfolio('USD')
     cash_flow = CashFlow(self.date,1000,'USD') 
     trade = Trade(self.date,self.financial_instrument, 10, self.financial_instrument.get_close_value(self.date))
     cash_flow_trade = CashFlow(self.date, -trade.get_value(self.date, 'USD'),'USD')
     
     portfolio.add_transaction(cash_flow)
     portfolio.add_transaction(trade)
     portfolio.add_transaction(cash_flow_trade)
     
     # check the expo
     self.assertEqual(10, portfolio.get_instrument_quantity(self.financial_instrument), 'good quantity')
 def testGetValue(self):
     portfolio = Portfolio('USD')
     cash_flow = CashFlow(self.date,1000,'USD') 
     trade = Trade(self.date,self.financial_instrument, 1, self.financial_instrument.get_close_value(self.date))
     cash_flow_trade = CashFlow(self.date, -trade.get_value(self.date, 'USD'),'USD')
     
     portfolio.add_transaction(cash_flow)
     portfolio.add_transaction(trade)
     portfolio.add_transaction(cash_flow_trade)
     
     # check portfolio value at trading date
     self.assertEqual(portfolio.get_value(self.date), 1000, 'initial value')
     
     # check portfolio value after
     other_date = self.date + timedelta(days=1)
     self.assertEqual(portfolio.get_value(other_date), 1005, 'new value')
     
     # check portfolio value before
     other_date = self.date + timedelta(days=-1)
     self.assertEqual(portfolio.get_value(other_date), 0, 'new value')