mango-explorer/tests/test_tradeexecutor.py

40 lines
1.1 KiB
Python
Raw Normal View History

from .context import mango
from .fakes import fake_context
from decimal import Decimal
def test_trade_executor_constructor():
succeeded = False
try:
mango.TradeExecutor()
except TypeError:
# Can't instantiate the abstract base class.
succeeded = True
assert succeeded
def test_null_trade_executor_constructor():
def reporter(x):
return None
actual = mango.NullTradeExecutor(reporter)
assert actual is not None
assert actual.logger is not None
assert actual.reporter == reporter
def test_serum_trade_executor_constructor():
context: mango.Context = fake_context()
wallet: mango.Wallet = {"fake": "Wallet"}
price_adjustment_factor: Decimal = Decimal(0.05)
def reporter(x):
return None
actual = mango.ImmediateTradeExecutor(context, wallet, None, price_adjustment_factor, reporter)
assert actual is not None
assert actual.logger is not None
assert actual.context == context
assert actual.wallet == wallet
assert actual.price_adjustment_factor == price_adjustment_factor
assert actual.reporter is not None