Пример #1
0
 def test_reset(self):
     wallet = Wallet(initial_balance)
     transaction1 = Transaction('SPCE', 'buy', 10, 10.14)
     wallet.push(transaction1)
     transaction2 = Transaction('TSLA', 'buy', 2, 100.14)
     wallet.push(transaction2)
     wallet.reset()
     self.assertEqual(initial_balance, wallet.balance)
     self.assertTrue(len(wallet._portfolio) == 0)
     self.assertTrue(len(wallet._ledger) == 0)
Пример #2
0
 def test_profit(self):
     wallet = Wallet(initial_balance)
     wallet.push(BUY_tr)
     wallet.push(SELL_tr)
     self.assertEqual(wallet.balance, initial_balance + 1)
     wallet.reset()
     wallet.push(BUY_tr)
     wallet.push(BUY_tr)
     wallet.push(SELL_tr)
     self.assertEqual(wallet.balance, initial_balance + 1)
Пример #3
0
    def test_balances(self):
        wallet = Wallet(initial_balance)
        tickers = ['SPCE', 'TSLA', 'BCART', 'AA', 'AAA']
        for t in tickers:
            i = random.uniform(0.00, 25.00)
            wallet.push(Transaction(t, 'buy', 10, i))
            self.assertEqual(wallet.balance,
                             wallet.free_balance + wallet.locked_balance)
            # print(wallet)
        self.assertTrue(len(wallet._ledger._transactions) == len(tickers))

        self.assertTrue(wallet.balance == wallet.free_balance +
                        wallet.locked_balance)

        #Checking whether quantities are right whilst selling higher
        i = 0
        for t in tickers:
            n = random.uniform(25.00, 50.00)
            wallet.push(Transaction(t, 'sell', 5, n))
            self.assertEqual(wallet._portfolio._portfolio[i].quantity, 5)
            i += 1
        self.assertTrue(wallet.balance >= initial_balance)
Пример #4
0
 def test_groupement_portfolio(self):
     wallet = Wallet(initial_balance)
     transaction1 = Transaction('SPCE', 'buy', 10, 10.00)
     wallet.push(transaction1)
     transaction2 = Transaction('TSLA', 'buy', 2, 100.00)
     wallet.push(transaction2)
     transaction3 = Transaction('TSLA', 'sell', 1, 200.00)
     wallet.push(transaction3)
     df = wallet._ledger.as_frame()
     self.assertTrue(True)
     self.assertTrue(df['ticker_name'].values[0] == 'SPCE')
     self.assertTrue(df['ticker_name'].values[1] == 'TSLA')
     self.assertTrue(wallet._portfolio._portfolio[0].quantity == 10)
     self.assertTrue(wallet._portfolio._portfolio[1].quantity == 1)
     wallet.push(transaction3)
     self.assertEqual(len(wallet._portfolio._portfolio), 1)