def setUp(self): # Object creation self.transaction_id = TransactionId(TraderId("0"), TransactionNumber(1)) self.transaction = Transaction(self.transaction_id, Price(100, 'BTC'), Quantity(30, 'MC'), OrderId(TraderId('0'), OrderNumber(2)), OrderId(TraderId('1'), OrderNumber(1)), Timestamp(0.0)) self.proposed_trade = Trade.propose( MessageId(TraderId('0'), MessageNumber('1')), OrderId(TraderId('0'), OrderNumber(2)), OrderId(TraderId('1'), OrderNumber(3)), Price(100, 'BTC'), Quantity(30, 'MC'), Timestamp(0.0)) self.tick = Tick( MessageId(TraderId('0'), MessageNumber('message_number')), OrderId(TraderId('0'), OrderNumber(1)), Price(100, 'BTC'), Quantity(5, 'MC'), Timeout(0.0), Timestamp(float("inf")), True) self.tick2 = Tick( MessageId(TraderId('0'), MessageNumber('message_number')), OrderId(TraderId('0'), OrderNumber(2)), Price(100, 'BTC'), Quantity(100, 'MC'), Timeout(0.0), Timestamp(float("inf")), True) self.order = Order(OrderId(TraderId("0"), OrderNumber(3)), Price(100, 'BTC'), Quantity(30, 'MC'), Timeout(5000), Timestamp(time.time()), False) self.order2 = Order(OrderId(TraderId("0"), OrderNumber(4)), Price(100, 'BTC'), Quantity(30, 'MC'), Timeout(5), Timestamp(time.time() - 1000), True)
def setUp(self): # Object creation self.transaction_id = TransactionId(TraderId("0"), TransactionNumber(1)) self.transaction = Transaction( self.transaction_id, AssetPair(AssetAmount(100, 'BTC'), AssetAmount(30, 'MC')), OrderId(TraderId('0'), OrderNumber(2)), OrderId(TraderId('1'), OrderNumber(1)), Timestamp(0.0)) self.proposed_trade = Trade.propose( TraderId('0'), OrderId(TraderId('0'), OrderNumber(2)), OrderId(TraderId('1'), OrderNumber(3)), AssetPair(AssetAmount(100, 'BTC'), AssetAmount(30, 'MC')), Timestamp(0.0)) self.tick = Tick( OrderId(TraderId('0'), OrderNumber(1)), AssetPair(AssetAmount(5, 'BTC'), AssetAmount(5, 'MC')), Timeout(0), Timestamp(float("inf")), True) self.tick2 = Tick( OrderId(TraderId('0'), OrderNumber(2)), AssetPair(AssetAmount(500, 'BTC'), AssetAmount(5, 'MC')), Timeout(0), Timestamp(float("inf")), True) self.order_timestamp = Timestamp.now() self.order = Order( OrderId(TraderId("0"), OrderNumber(3)), AssetPair(AssetAmount(50, 'BTC'), AssetAmount(5, 'MC')), Timeout(5000), self.order_timestamp, False) self.order.set_verified() self.order2 = Order( OrderId(TraderId("0"), OrderNumber(4)), AssetPair(AssetAmount(50, 'BTC'), AssetAmount(5, 'MC')), Timeout(5), Timestamp(time.time() - 1000), True) self.order2.set_verified()
def setUp(self): # Object creation self.tick = Tick(OrderId(TraderId('0'), OrderNumber(1)), Price(400, 'BTC'), Quantity(30, 'MC'), Timeout(float("inf")), Timestamp(float("inf")), True) self.tick2 = Tick(OrderId(TraderId('1'), OrderNumber(2)), Price(800, 'BTC'), Quantity(30, 'MC'), Timeout(float("inf")), Timestamp(float("inf")), True) self.side = Side()
def setUp(self): # Object creation self.tick = Tick(OrderId(TraderId('0'), OrderNumber(1)), AssetPair(AssetAmount(60, 'BTC'), AssetAmount(30, 'MB')), Timeout(100), Timestamp.now(), True) self.tick2 = Tick(OrderId(TraderId('1'), OrderNumber(2)), AssetPair(AssetAmount(120, 'BTC'), AssetAmount(30, 'MB')), Timeout(100), Timestamp.now(), True) self.side = Side()
def setUp(self): # Object creation self.timestamp_now = Timestamp.now() self.tick = Tick(OrderId(TraderId(b'0'), OrderNumber(1)), AssetPair(AssetAmount(30, 'BTC'), AssetAmount(30, 'MB')), Timeout(30), Timestamp(0.0), True) self.tick2 = Tick(OrderId(TraderId(b'0'), OrderNumber(2)), AssetPair(AssetAmount(30, 'BTC'), AssetAmount(30, 'MB')), Timeout(0), Timestamp(0.0), False) self.order_ask = Order(OrderId(TraderId(b'0'), OrderNumber(2)), AssetPair(AssetAmount(30, 'BTC'), AssetAmount(30, 'MB')), Timeout(0), Timestamp(0.0), True) self.order_bid = Order(OrderId(TraderId(b'0'), OrderNumber(2)), AssetPair(AssetAmount(30, 'BTC'), AssetAmount(30, 'MB')), Timeout(0), Timestamp(0.0), False)
def setUp(self): # Object creation self.timestamp_now = Timestamp.now() self.tick = Tick(OrderId(TraderId('0'), OrderNumber(1)), AssetPair(AssetAmount(30, 'BTC'), AssetAmount(30, 'MB')), Timeout(30), Timestamp(0.0), True) self.tick2 = Tick(OrderId(TraderId('0'), OrderNumber(2)), AssetPair(AssetAmount(30, 'BTC'), AssetAmount(30, 'MB')), Timeout(0), Timestamp(0.0), False) self.order_ask = Order(OrderId(TraderId('0'), OrderNumber(2)), AssetPair(AssetAmount(30, 'BTC'), AssetAmount(30, 'MB')), Timeout(0), Timestamp(0.0), True) self.order_bid = Order(OrderId(TraderId('0'), OrderNumber(2)), AssetPair(AssetAmount(30, 'BTC'), AssetAmount(30, 'MB')), Timeout(0), Timestamp(0.0), False)
def test_add_remove_tick(self): """ Test addition, retrieval and deletion of ticks in the database """ ask = Tick.from_order(self.order1) self.database.add_tick(ask) bid = Tick.from_order(self.order2) self.database.add_tick(bid) self.assertEqual(len(self.database.get_ticks()), 2) self.database.delete_all_ticks() self.assertEqual(len(self.database.get_ticks()), 0)
def setUp(self, annotate=True): yield super(TickEntryTestSuite, self).setUp(annotate=annotate) # Object creation tick = Tick(OrderId(TraderId('0'), OrderNumber(1)), Price(63400, 'BTC'), Quantity(30, 'MC'), Timeout(0.0), Timestamp(0.0), True) tick2 = Tick(OrderId(TraderId('0'), OrderNumber(2)), Price(63400, 'BTC'), Quantity(30, 'MC'), Timeout(100), Timestamp.now(), True) self.price_level = PriceLevel('MC') self.tick_entry = TickEntry(tick, self.price_level) self.tick_entry2 = TickEntry(tick2, self.price_level)
def setUp(self): # Object creation tick = Tick(MessageId(TraderId('0'), MessageNumber('message_number')), OrderId(TraderId('0'), OrderNumber(1)), Price(63400, 'BTC'), Quantity(30, 'MC'), Timeout(0.0), Timestamp(0.0), True) tick2 = Tick(MessageId(TraderId('0'), MessageNumber('message_number')), OrderId(TraderId('0'), OrderNumber(2)), Price(63400, 'BTC'), Quantity(30, 'MC'), Timeout(100), Timestamp.now(), True) self.price_level = PriceLevel('MC') self.tick_entry = TickEntry(tick, self.price_level) self.tick_entry2 = TickEntry(tick2, self.price_level)
def setUp(self): # Object creation tick = Tick(OrderId(TraderId(b'0'), OrderNumber(1)), AssetPair(AssetAmount(60, 'BTC'), AssetAmount(30, 'MC')), Timeout(100), Timestamp.now(), True) tick2 = Tick(OrderId(TraderId(b'0'), OrderNumber(2)), AssetPair(AssetAmount(30, 'BTC'), AssetAmount(30, 'MC')), Timeout(100), Timestamp.now(), True) self.price_level = PriceLevel(Price(10, 'MC', 'BTC')) self.tick_entry1 = TickEntry(tick, self.price_level) self.tick_entry2 = TickEntry(tick, self.price_level) self.tick_entry3 = TickEntry(tick, self.price_level) self.tick_entry4 = TickEntry(tick, self.price_level) self.tick_entry5 = TickEntry(tick2, self.price_level)
def setUp(self): # Object creation self.timestamp_now = Timestamp.now() self.tick = Tick(OrderId(TraderId('0'), OrderNumber(1)), Price(63400, 'BTC'), Quantity(30, 'MC'), Timeout(30), self.timestamp_now, True) self.tick2 = Tick(OrderId(TraderId('0'), OrderNumber(2)), Price(63400, 'BTC'), Quantity(30, 'MC'), Timeout(0.0), Timestamp(0.0), False) self.order_ask = Order(OrderId(TraderId('0'), OrderNumber(2)), Price(63400, 'BTC'), Quantity(30, 'MC'), Timeout(0.0), Timestamp(0.0), True) self.order_bid = Order(OrderId(TraderId('0'), OrderNumber(2)), Price(63400, 'BTC'), Quantity(30, 'MC'), Timeout(0.0), Timestamp(0.0), False)
def setUp(self): yield super(TickEntryTestSuite, self).setUp() # Object creation tick = Tick(OrderId(TraderId(b'0'), OrderNumber(1)), AssetPair(AssetAmount(60, 'BTC'), AssetAmount(30, 'MB')), Timeout(0), Timestamp(0.0), True) tick2 = Tick( OrderId(TraderId(b'0'), OrderNumber(2)), AssetPair(AssetAmount(63400, 'BTC'), AssetAmount(30, 'MB')), Timeout(100), Timestamp.now(), True) self.price_level = PriceLevel(Price(100, 'MB', 'BTC')) self.tick_entry = TickEntry(tick, self.price_level) self.tick_entry2 = TickEntry(tick2, self.price_level)
def setUp(self): # Object creation tick = Tick(OrderId(TraderId('0'), OrderNumber(1)), Price(63400, 'BTC'), Quantity(30, 'MC'), Timeout(float("inf")), Timestamp(float("inf")), True) tick2 = Tick(OrderId(TraderId('0'), OrderNumber(2)), Price(30, 'MC'), Quantity(30, 'BTC'), Timeout(float("inf")), Timestamp(float("inf")), True) self.price_level = PriceLevel('MC') self.tick_entry1 = TickEntry(tick, self.price_level) self.tick_entry2 = TickEntry(tick, self.price_level) self.tick_entry3 = TickEntry(tick, self.price_level) self.tick_entry4 = TickEntry(tick, self.price_level) self.tick_entry5 = TickEntry(tick2, self.price_level)
def test_add_remove_tick(self): """ Test addition, retrieval and deletion of ticks in the database """ ask = Tick.from_order( self.order1, MessageId(TraderId('0'), MessageNumber('message_number'))) self.database.add_tick(ask) bid = Tick.from_order( self.order2, MessageId(TraderId('0'), MessageNumber('message_number'))) self.database.add_tick(bid) self.assertEqual(len(self.database.get_ticks()), 2) self.database.delete_all_ticks() self.assertEqual(len(self.database.get_ticks()), 0)
def test_from_order_ask(self): # Test for from order ask = Tick.from_order(self.order_ask) self.assertIsInstance(ask, Ask) self.assertEqual(self.tick2.price, ask.price) self.assertEqual(self.tick2.quantity, ask.quantity) self.assertEqual(self.tick2.timestamp, ask.timestamp) self.assertEqual(self.tick2.order_id, ask.order_id)
def get_ticks(self): """ Get all ticks present in the database. """ return [ Tick.from_database(db_tick) for db_tick in self.execute(u"SELECT * FROM ticks") ]
def test_from_order_bid(self): # Test for from order bid = Tick.from_order(self.order_bid) self.assertIsInstance(bid, Bid) self.assertEqual(self.tick2.price, bid.price) self.assertEqual(self.tick2.quantity, bid.quantity) self.assertEqual(self.tick2.timestamp, bid.timestamp) self.assertEqual(self.tick2.order_id, bid.order_id)
def test_from_order_bid(self): # Test for from order bid = Tick.from_order(self.order_bid) self.assertIsInstance(bid, Bid) self.assertEqual(self.tick2.price, bid.price) self.assertEqual(self.tick2.assets, bid.assets) self.assertEqual(self.tick2.timestamp, bid.timestamp) self.assertEqual(self.tick2.order_id, bid.order_id) self.assertEqual(self.tick2.traded, 0)
def test_from_order_ask(self): # Test for from order ask = Tick.from_order(self.order_ask) self.assertIsInstance(ask, Ask) self.assertEqual(self.tick2.price, ask.price) self.assertEqual(self.tick2.assets, ask.assets) self.assertEqual(self.tick2.timestamp, ask.timestamp) self.assertEqual(self.tick2.order_id, ask.order_id) self.assertEqual(self.tick2.traded, 0)
def test_from_order_ask(self): # Test for from order ask = Tick.from_order( self.order_ask, MessageId(TraderId('0'), MessageNumber('message_number'))) self.assertIsInstance(ask, Ask) self.assertEqual(self.tick2.price, ask.price) self.assertEqual(self.tick2.quantity, ask.quantity) self.assertEqual(self.tick2.timestamp, ask.timestamp) self.assertEqual(self.tick2.order_id, ask.order_id) self.assertEqual(self.tick2.message_id, ask.message_id)
def test_from_order_bid(self): # Test for from order bid = Tick.from_order( self.order_bid, MessageId(TraderId('0'), MessageNumber('message_number'))) self.assertIsInstance(bid, Bid) self.assertEqual(self.tick2.price, bid.price) self.assertEqual(self.tick2.quantity, bid.quantity) self.assertEqual(self.tick2.timestamp, bid.timestamp) self.assertEqual(self.tick2.order_id, bid.order_id) self.assertEqual(self.tick2.message_id, bid.message_id)
class TickTestSuite(unittest.TestCase): """ This class contains tests for the Tick object. """ def setUp(self): # Object creation self.timestamp_now = Timestamp.now() self.tick = Tick( MessageId(TraderId('0'), MessageNumber('message_number')), OrderId(TraderId('0'), OrderNumber(1)), Price(63400, 'BTC'), Quantity(30, 'MC'), Timeout(30), self.timestamp_now, True, 'a', 'b') self.tick2 = Tick( MessageId(TraderId('0'), MessageNumber('message_number')), OrderId(TraderId('0'), OrderNumber(2)), Price(63400, 'BTC'), Quantity(30, 'MC'), Timeout(0.0), Timestamp(0.0), False, 'a', 'b') self.order_ask = Order(OrderId(TraderId('0'), OrderNumber(2)), Price(63400, 'BTC'), Quantity(30, 'MC'), Timeout(0.0), Timestamp(0.0), True) self.order_bid = Order(OrderId(TraderId('0'), OrderNumber(2)), Price(63400, 'BTC'), Quantity(30, 'MC'), Timeout(0.0), Timestamp(0.0), False) def test_is_ask(self): # Test 'is ask' function self.assertTrue(self.tick.is_ask()) self.assertFalse(self.tick2.is_ask()) def test_is_valid(self): # Test for is valid self.assertTrue(self.tick.is_valid()) self.assertFalse(self.tick2.is_valid()) def test_signature(self): """ Test signing a tick """ eccrypto = ECCrypto() keypair = eccrypto.generate_key(u"curve25519") sign_member = MockObject() sign_member.public_key = eccrypto.key_to_bin(keypair.pub()) sign_member.private_key = keypair self.tick.sign(sign_member) self.assertFalse(self.tick.has_valid_signature() ) # Trader ID does not match public key self.tick._order_id = OrderId( TraderId( hashlib.sha1(sign_member.public_key).digest().encode('hex')), OrderNumber(1)) self.assertTrue(self.tick.has_valid_signature()) self.tick._signature = 'a' * 64 self.assertFalse(self.tick.has_valid_signature()) def test_update_timestamp(self): """ Test the update_timestamp method of a Tick object """ self.tick.update_timestamp() self.assertGreater(float(self.tick.timestamp), float(self.timestamp_now)) def test_to_network(self): # Test for to network self.assertEquals( (TraderId('0'), MessageNumber('message_number'), OrderNumber(1), Price(63400, 'BTC'), Quantity( 30, 'MC'), self.tick.timeout, self.tick.timestamp, 'a', 'b'), self.tick.to_network()) def test_quantity_setter(self): # Test for quantity setter self.tick.quantity = Quantity(60, 'MC') self.assertEqual(Quantity(60, 'MC'), self.tick.quantity) def test_from_order_ask(self): # Test for from order ask = Tick.from_order( self.order_ask, MessageId(TraderId('0'), MessageNumber('message_number'))) self.assertIsInstance(ask, Ask) self.assertEqual(self.tick2.price, ask.price) self.assertEqual(self.tick2.quantity, ask.quantity) self.assertEqual(self.tick2.timestamp, ask.timestamp) self.assertEqual(self.tick2.order_id, ask.order_id) self.assertEqual(self.tick2.message_id, ask.message_id) def test_from_order_bid(self): # Test for from order bid = Tick.from_order( self.order_bid, MessageId(TraderId('0'), MessageNumber('message_number'))) self.assertIsInstance(bid, Bid) self.assertEqual(self.tick2.price, bid.price) self.assertEqual(self.tick2.quantity, bid.quantity) self.assertEqual(self.tick2.timestamp, bid.timestamp) self.assertEqual(self.tick2.order_id, bid.order_id) self.assertEqual(self.tick2.message_id, bid.message_id) def test_to_dictionary(self): """ Test the to dictionary method of a tick """ self.assertDictEqual( self.tick.to_dictionary(), { "trader_id": '0', "message_id": "0.message_number", "order_number": 1, "price": 63400.0, "price_type": "BTC", "quantity": 30.0, "quantity_type": "MC", "timeout": 30.0, "timestamp": float(self.timestamp_now), })
def get_ticks(self): """ Get all ticks present in the database. """ return [Tick.from_database(db_tick) for db_tick in self.execute(u"SELECT * FROM ticks")]
class TickTestSuite(unittest.TestCase): """ This class contains tests for the Tick object. """ def setUp(self): # Object creation self.timestamp_now = Timestamp.now() self.tick = Tick(OrderId(TraderId('0'), OrderNumber(1)), Price(63400, 'BTC'), Quantity(30, 'MC'), Timeout(30), self.timestamp_now, True) self.tick2 = Tick(OrderId(TraderId('0'), OrderNumber(2)), Price(63400, 'BTC'), Quantity(30, 'MC'), Timeout(0.0), Timestamp(0.0), False) self.order_ask = Order(OrderId(TraderId('0'), OrderNumber(2)), Price(63400, 'BTC'), Quantity(30, 'MC'), Timeout(0.0), Timestamp(0.0), True) self.order_bid = Order(OrderId(TraderId('0'), OrderNumber(2)), Price(63400, 'BTC'), Quantity(30, 'MC'), Timeout(0.0), Timestamp(0.0), False) def test_is_ask(self): # Test 'is ask' function self.assertTrue(self.tick.is_ask()) self.assertFalse(self.tick2.is_ask()) def test_to_network(self): # Test for to network self.assertEquals( (MessageId(TraderId('0'), MessageNumber(1)), self.tick.timestamp, OrderNumber(1), Price(63400, 'BTC'), Quantity( 30, 'MC'), self.tick.timeout), self.tick.to_network(MessageId(TraderId('0'), MessageNumber(1)))) def test_quantity_setter(self): # Test for quantity setter self.tick.quantity = Quantity(60, 'MC') self.assertEqual(Quantity(60, 'MC'), self.tick.quantity) def test_from_order_ask(self): # Test for from order ask = Tick.from_order(self.order_ask) self.assertIsInstance(ask, Ask) self.assertEqual(self.tick2.price, ask.price) self.assertEqual(self.tick2.quantity, ask.quantity) self.assertEqual(self.tick2.timestamp, ask.timestamp) self.assertEqual(self.tick2.order_id, ask.order_id) def test_from_order_bid(self): # Test for from order bid = Tick.from_order(self.order_bid) self.assertIsInstance(bid, Bid) self.assertEqual(self.tick2.price, bid.price) self.assertEqual(self.tick2.quantity, bid.quantity) self.assertEqual(self.tick2.timestamp, bid.timestamp) self.assertEqual(self.tick2.order_id, bid.order_id) def test_to_dictionary(self): """ Test the to dictionary method of a tick """ self.assertDictEqual( self.tick.to_dictionary(), { "trader_id": '0', "order_number": 1, "price": 63400.0, "price_type": "BTC", "quantity": 30.0, "quantity_type": "MC", "timeout": 30.0, "timestamp": float(self.timestamp_now), "block_hash": ('0' * 32).encode('hex') })
class TickTestSuite(unittest.TestCase): """ This class contains tests for the Tick object. """ def setUp(self): # Object creation self.timestamp_now = Timestamp.now() self.tick = Tick( OrderId(TraderId('0'), OrderNumber(1)), AssetPair(AssetAmount(30, 'BTC'), AssetAmount(30, 'MB')), Timeout(30), Timestamp(0.0), True) self.tick2 = Tick( OrderId(TraderId('0'), OrderNumber(2)), AssetPair(AssetAmount(30, 'BTC'), AssetAmount(30, 'MB')), Timeout(0), Timestamp(0.0), False) self.order_ask = Order( OrderId(TraderId('0'), OrderNumber(2)), AssetPair(AssetAmount(30, 'BTC'), AssetAmount(30, 'MB')), Timeout(0), Timestamp(0.0), True) self.order_bid = Order( OrderId(TraderId('0'), OrderNumber(2)), AssetPair(AssetAmount(30, 'BTC'), AssetAmount(30, 'MB')), Timeout(0), Timestamp(0.0), False) def test_is_ask(self): # Test 'is ask' function self.assertTrue(self.tick.is_ask()) self.assertFalse(self.tick2.is_ask()) def test_to_network(self): # Test for to network self.assertEquals( (TraderId('0'), self.tick.timestamp, OrderNumber(1), AssetPair(AssetAmount(30, 'BTC'), AssetAmount( 30, 'MB')), self.tick.timeout, 0), self.tick.to_network()) def test_traded_setter(self): # Test for traded setter self.tick.traded = 10 self.assertEqual(10, self.tick.traded) def test_from_order_ask(self): # Test for from order ask = Tick.from_order(self.order_ask) self.assertIsInstance(ask, Ask) self.assertEqual(self.tick2.price, ask.price) self.assertEqual(self.tick2.assets, ask.assets) self.assertEqual(self.tick2.timestamp, ask.timestamp) self.assertEqual(self.tick2.order_id, ask.order_id) self.assertEqual(self.tick2.traded, 0) def test_from_order_bid(self): # Test for from order bid = Tick.from_order(self.order_bid) self.assertIsInstance(bid, Bid) self.assertEqual(self.tick2.price, bid.price) self.assertEqual(self.tick2.assets, bid.assets) self.assertEqual(self.tick2.timestamp, bid.timestamp) self.assertEqual(self.tick2.order_id, bid.order_id) self.assertEqual(self.tick2.traded, 0) def test_to_dictionary(self): """ Test the to dictionary method of a tick """ self.assertDictEqual( self.tick.to_dictionary(), { "trader_id": '0', "order_number": 1, "assets": self.tick.assets.to_dictionary(), "timeout": 30, "timestamp": 0.0, "traded": 0, "block_hash": ('0' * 32).encode('hex') })
class TickTestSuite(unittest.TestCase): """ This class contains tests for the Tick object. """ def setUp(self): # Object creation self.timestamp_now = Timestamp.now() self.tick = Tick(OrderId(TraderId('0'), OrderNumber(1)), AssetPair(AssetAmount(30, 'BTC'), AssetAmount(30, 'MB')), Timeout(30), Timestamp(0.0), True) self.tick2 = Tick(OrderId(TraderId('0'), OrderNumber(2)), AssetPair(AssetAmount(30, 'BTC'), AssetAmount(30, 'MB')), Timeout(0), Timestamp(0.0), False) self.order_ask = Order(OrderId(TraderId('0'), OrderNumber(2)), AssetPair(AssetAmount(30, 'BTC'), AssetAmount(30, 'MB')), Timeout(0), Timestamp(0.0), True) self.order_bid = Order(OrderId(TraderId('0'), OrderNumber(2)), AssetPair(AssetAmount(30, 'BTC'), AssetAmount(30, 'MB')), Timeout(0), Timestamp(0.0), False) def test_is_ask(self): # Test 'is ask' function self.assertTrue(self.tick.is_ask()) self.assertFalse(self.tick2.is_ask()) def test_to_network(self): # Test for to network self.assertEquals((TraderId('0'), self.tick.timestamp, OrderNumber(1), AssetPair(AssetAmount(30, 'BTC'), AssetAmount(30, 'MB')), self.tick.timeout, 0), self.tick.to_network()) def test_traded_setter(self): # Test for traded setter self.tick.traded = 10 self.assertEqual(10, self.tick.traded) def test_from_order_ask(self): # Test for from order ask = Tick.from_order(self.order_ask) self.assertIsInstance(ask, Ask) self.assertEqual(self.tick2.price, ask.price) self.assertEqual(self.tick2.assets, ask.assets) self.assertEqual(self.tick2.timestamp, ask.timestamp) self.assertEqual(self.tick2.order_id, ask.order_id) self.assertEqual(self.tick2.traded, 0) def test_from_order_bid(self): # Test for from order bid = Tick.from_order(self.order_bid) self.assertIsInstance(bid, Bid) self.assertEqual(self.tick2.price, bid.price) self.assertEqual(self.tick2.assets, bid.assets) self.assertEqual(self.tick2.timestamp, bid.timestamp) self.assertEqual(self.tick2.order_id, bid.order_id) self.assertEqual(self.tick2.traded, 0) def test_to_dictionary(self): """ Test the to dictionary method of a tick """ self.assertDictEqual(self.tick.to_dictionary(), { "trader_id": '0', "order_number": 1, "assets": self.tick.assets.to_dictionary(), "timeout": 30, "timestamp": 0.0, "traded": 0, "block_hash": ('0' * 32).encode('hex') })