Пример #1
0
    def test_get_currency_balance_success(self):
        """
        Test :meth:`Strategy.get_currency_balance`

        Assert the correct currency balance is returned.
        """

        strategy = Strategy()

        TEST_CURRENCY = 'USD'
        TEST_BALANCE = 1.0

        strategy.accounts = [
            {
                'currency': TEST_CURRENCY,
                'balance': TEST_BALANCE,
            },
        ]

        balance = strategy.get_currency_balance(TEST_CURRENCY)

        self.assertEqual(TEST_BALANCE, balance)
Пример #2
0
    def test_get_currency_balance_with_error(self):
        """
        Test :meth:`Strategy.get_currency_balance`

        Assert the account that throws the `KeyError` is skipped and the
        correct balance is returned.
        """

        strategy = Strategy()

        TEST_CURRENCY = 'USD'
        TEST_BALANCE = 1.0

        strategy.accounts = [
            { 'error': 'Error retrieving account.', },
            {
                'currency': TEST_CURRENCY,
                'balance': TEST_BALANCE,
            },
        ]

        balance = strategy.get_currency_balance(TEST_CURRENCY)

        self.assertEqual(TEST_BALANCE, balance)
Пример #3
0
    def test_get_currency_balance_with_invalid_currency(self):
        """
        Test :meth:`Strategy.get_currency_balance`

        Assert `None` is returned.
        """

        strategy = Strategy()

        TEST_CURRENCY = 'USD'
        TEST_BALANCE = 1.0

        strategy.accounts = [
            {
                'currency': TEST_CURRENCY,
                'balance': TEST_BALANCE,
            },
        ]

        FAKE_CURRENCY = 'FAK'

        balance = strategy.get_currency_balance(FAKE_CURRENCY)

        self.assertEqual(None, balance)