def test_can_calculate_free_equity_when_zero(self): # Arrange event = AccountStateEvent( AccountId.py_from_string('FXCM-123456-SIMULATED'), Currency.AUD, Money(20000, Currency.AUD), Money(100000, Currency.AUD), Money(0, Currency.AUD), Money(0, Currency.AUD), Money(20000, Currency.AUD), Decimal(0), ValidString('N'), GUID(uuid.uuid4()), UNIX_EPOCH) # Act account = Account(event) # Assert self.assertEqual(AccountId.py_from_string('FXCM-123456-SIMULATED'), account.id) self.assertEqual(Brokerage('FXCM'), account.broker) self.assertEqual(AccountNumber('123456'), account.account_number) self.assertEqual(Currency.AUD, account.currency) self.assertEqual(Money(0, Currency.AUD), account.free_equity) self.assertEqual(Money(100000, Currency.AUD), account.cash_start_day) self.assertEqual(Money(0, Currency.AUD), account.cash_activity_day) self.assertEqual(Money(0, Currency.AUD), account.margin_used_liquidation) self.assertEqual(Money(20000, Currency.AUD), account.margin_used_maintenance) self.assertEqual(Decimal(0), account.margin_ratio) self.assertEqual('N', account.margin_call_status.value) self.assertEqual(UNIX_EPOCH, account.last_updated)
def test_account_identifier(self): # Arrange # Act account_id1 = AccountId('FXCM', '02851908', AccountType.DEMO) account_id2 = AccountId('FXCM', '09999999', AccountType.DEMO) # Assert self.assertEqual(account_id1, account_id1) self.assertNotEqual(account_id1, account_id2) self.assertEqual('FXCM-02851908-DEMO', account_id1.value) self.assertEqual(Brokerage('FXCM'), account_id1.broker) self.assertEqual(account_id1, AccountId.py_from_string('FXCM-02851908-DEMO'))
def test_can_add_account(self): # Arrange event = AccountStateEvent( AccountId.py_from_string('SIMULATED-123456-SIMULATED'), Currency.USD, Money(1000000, Currency.USD), Money(1000000, Currency.USD), Money(0, Currency.USD), Money(0, Currency.USD), Money(0, Currency.USD), Decimal(0), ValidString('N'), GUID(uuid.uuid4()), UNIX_EPOCH) account = Account(event) # Act self.database.add_account(account) # Assert self.assertTrue(True) # Did not raise exception