Exemplo n.º 1
0
    def setUp(self, annotate=True):
        yield super(TestDatabase, self).setUp(annotate=annotate)

        path = os.path.join(self.getStateDir(), 'sqlite')
        if not os.path.exists(path):
            os.makedirs(path)

        self.database = MarketDB(self.getStateDir())

        self.order_id1 = OrderId(TraderId('3'), OrderNumber(4))
        self.order_id2 = OrderId(TraderId('4'), OrderNumber(5))
        self.order1 = Order(self.order_id1, Price(5,
                                                  'EUR'), Quantity(6, 'BTC'),
                            Timeout(3600), Timestamp.now(), True)
        self.order2 = Order(self.order_id2, Price(5,
                                                  'EUR'), Quantity(6, 'BTC'),
                            Timeout(3600), Timestamp.now(), False)

        self.transaction_id1 = TransactionId(TraderId("0"),
                                             TransactionNumber(4))
        self.transaction1 = Transaction(self.transaction_id1,
                                        Price(100, 'BTC'), Quantity(30, 'MC'),
                                        OrderId(TraderId("0"), OrderNumber(1)),
                                        OrderId(TraderId("1"), OrderNumber(2)),
                                        Timestamp(20.0))

        self.payment1 = Payment(MessageId(TraderId("0"), MessageNumber("4")),
                                self.transaction_id1, Quantity(5, 'MC'),
                                Price(6, 'BTC'), WalletAddress('abc'),
                                WalletAddress('def'), PaymentId("abc"),
                                Timestamp(20.0), False)

        self.transaction1.add_payment(self.payment1)
Exemplo n.º 2
0
    def test_from_network(self):
        # Test for from network
        now = Timestamp.now()
        data = Bid.from_network(
            type(
                'Data', (object, ), {
                    "trader_id": TraderId('0'),
                    "order_number": OrderNumber(2),
                    "message_number": MessageNumber('message_number'),
                    "price": Price(63400, 'BTC'),
                    "quantity": Quantity(40, 'MC'),
                    "timeout": Timeout(30),
                    "timestamp": now,
                    "public_key": 'a',
                    "signature": 'b'
                }))

        self.assertEquals(
            MessageId(TraderId('0'), MessageNumber('message_number')),
            data.message_id)
        self.assertEquals(Price(63400, 'BTC'), data.price)
        self.assertEquals(Quantity(40, 'MC'), data.quantity)
        self.assertEquals(float(Timeout(30)), float(data.timeout))
        self.assertEquals(now, data.timestamp)
        self.assertEquals('a', data._public_key)
        self.assertEquals('b', data._signature)
Exemplo n.º 3
0
    def test_proposed_trade_cache_timeout(self):
        """
        Test the timeout method of a proposed trade request in the cache
        """
        ask = Ask(
            OrderId(TraderId(self.market_community.mid), OrderNumber(24)),
            Price(63400, 'DUM1'), Quantity(30, 'DUM2'), Timeout(3600),
            Timestamp.now())
        order = Order(OrderId(TraderId("0"), OrderNumber(23)),
                      Price(20, 'DUM1'), Quantity(30, 'DUM2'), Timeout(3600.0),
                      Timestamp.now(), False)
        self.market_community.order_book.insert_ask(ask)
        self.assertEqual(len(self.market_community.order_book.asks), 1)
        self.market_community.order_manager.order_repository.add(order)
        order.reserve_quantity_for_tick(self.proposed_trade.recipient_order_id,
                                        Quantity(30, 'DUM2'))
        self.market_community.order_manager.order_repository.update(order)

        mocked_match_message = MockObject()
        mocked_match_message.payload = MockObject()
        mocked_match_message.payload.matchmaker_trader_id = 'a'
        self.market_community.incoming_match_messages[
            'a'] = mocked_match_message

        def mocked_send_decline(*_):
            mocked_send_decline.called = True

        mocked_send_decline.called = False
        self.market_community.send_decline_match_message = mocked_send_decline

        cache = ProposedTradeRequestCache(self.market_community,
                                          self.proposed_trade, 'a')
        cache.on_timeout()
        self.assertTrue(mocked_send_decline.called)
Exemplo n.º 4
0
 def test_bid_side_depth(self):
     # Test for bid side depth
     self.order_book.insert_bid(self.bid)
     self.order_book.insert_bid(self.bid2)
     self.assertEquals(Quantity(30, 'MC'), self.order_book.bid_side_depth(Price(300, 'BTC')))
     self.assertEquals([(Price(200, 'BTC'), Quantity(30, 'MC')), (Price(300, 'BTC'), Quantity(30, 'MC'))],
                       self.order_book.get_bid_side_depth_profile('BTC', 'MC'))
Exemplo n.º 5
0
    def test_from_network(self):
        # Test for from network
        data = ProposedTrade.from_network(
            type(
                'Data', (object, ), {
                    "trader_id": TraderId('0'),
                    "message_id": MessageId(TraderId('0'), MessageNumber(1)),
                    "order_number": OrderNumber(1),
                    "recipient_order_id": OrderId(TraderId('1'),
                                                  OrderNumber(2)),
                    "proposal_id": 1234,
                    "timestamp": Timestamp(1462224447.117),
                    "price": Price(63400, 'BTC'),
                    "quantity": Quantity(30, 'MC')
                }))

        self.assertEquals(MessageId(TraderId('0'), MessageNumber(1)),
                          data.message_id)
        self.assertEquals(OrderId(TraderId('0'), OrderNumber(1)),
                          data.order_id)
        self.assertEquals(OrderId(TraderId('1'), OrderNumber(2)),
                          data.recipient_order_id)
        self.assertEquals(1234, data.proposal_id)
        self.assertEquals(Price(63400, 'BTC'), data.price)
        self.assertEquals(Quantity(30, 'MC'), data.quantity)
        self.assertEquals(Timestamp(1462224447.117), data.timestamp)
Exemplo n.º 6
0
 def test_ask_side_depth(self):
     # Test for ask side depth
     self.order_book.insert_ask(self.ask)
     self.order_book.insert_ask(self.ask2)
     self.assertEquals(Quantity(30, 'MC'), self.order_book.ask_side_depth(Price(100, 'BTC')))
     self.assertEquals([(Price(100, 'BTC'), Quantity(30, 'MC')), (Price(400, 'BTC'), Quantity(30, 'MC'))],
                       self.order_book.get_ask_side_depth_profile('BTC', 'MC'))
Exemplo n.º 7
0
    def from_database(cls, data, payments):
        """
        Create a Transaction object based on information in the database.
        """
        trader_id, transaction_number, order_trader_id, order_number, partner_trader_id, partner_order_number, price,\
        price_type, transferred_price, quantity, quantity_type, transferred_quantity, transaction_timestamp,\
        sent_wallet_info, received_wallet_info, incoming_address, outgoing_address, partner_incoming_address,\
        partner_outgoing_address, match_id = data

        transaction_id = TransactionId(TraderId(str(trader_id)),
                                       TransactionNumber(transaction_number))
        transaction = cls(
            transaction_id, Price(price, str(price_type)),
            Quantity(quantity, str(quantity_type)),
            OrderId(TraderId(str(order_trader_id)), OrderNumber(order_number)),
            OrderId(TraderId(str(partner_trader_id)),
                    OrderNumber(partner_order_number)),
            Timestamp(float(transaction_timestamp)))

        transaction._transferred_price = Price(transferred_price,
                                               str(price_type))
        transaction._transferred_quantity = Quantity(transferred_quantity,
                                                     str(quantity_type))
        transaction.sent_wallet_info = sent_wallet_info
        transaction.received_wallet_info = received_wallet_info
        transaction.incoming_address = WalletAddress(str(incoming_address))
        transaction.outgoing_address = WalletAddress(str(outgoing_address))
        transaction.partner_incoming_address = WalletAddress(
            str(partner_incoming_address))
        transaction.partner_outgoing_address = WalletAddress(
            str(partner_outgoing_address))
        transaction.match_id = str(match_id)
        transaction._payments = payments

        return transaction
Exemplo n.º 8
0
    def test_from_network(self):
        # Test for from network
        data = Payment.from_network(
            type(
                'Data', (object, ), {
                    "message_id":
                    MessageId(TraderId("0"), MessageNumber(1)),
                    "transaction_id":
                    TransactionId(TraderId('2'), TransactionNumber(2)),
                    "transferee_quantity":
                    Quantity(3, 'MC'),
                    "transferee_price":
                    Price(2, 'BTC'),
                    "address_from":
                    WalletAddress('a'),
                    "address_to":
                    WalletAddress('b'),
                    "payment_id":
                    PaymentId('aaa'),
                    "timestamp":
                    Timestamp(4.0),
                    "success":
                    True
                }))

        self.assertEquals(MessageId(TraderId("0"), MessageNumber(1)),
                          data.message_id)
        self.assertEquals(TransactionId(TraderId('2'), TransactionNumber(2)),
                          data.transaction_id)
        self.assertEquals(Quantity(3, 'MC'), data.transferee_quantity)
        self.assertEquals(Price(2, 'BTC'), data.transferee_price)
        self.assertEquals(Timestamp(4.0), data.timestamp)
        self.assertTrue(data.success)
Exemplo n.º 9
0
 def test_tick_price(self):
     # Test for tick price
     self.order_book.insert_ask(self.ask2)
     self.order_book.insert_bid(self.bid2)
     self.assertEquals(Price(300, 'BTC'),
                       self.order_book.relative_tick_price(self.ask))
     self.assertEquals(Price(100, 'BTC'),
                       self.order_book.relative_tick_price(self.bid))
Exemplo n.º 10
0
 def test_properties(self):
     # Test for properties
     self.order_book.insert_ask(self.ask2)
     self.order_book.insert_bid(self.bid2)
     self.assertEquals(Price(0.0875, 'MB', 'BTC'),
                       self.order_book.get_mid_price('MB', 'BTC'))
     self.assertEquals(Price(-0.025, 'MB', 'BTC'),
                       self.order_book.get_bid_ask_spread('MB', 'BTC'))
Exemplo n.º 11
0
 def test_init(self):
     """
     Test the initialization of a price
     """
     with self.assertRaises(ValueError):
         Price('1', 'MC')
     with self.assertRaises(ValueError):
         Price(1, 2)
Exemplo n.º 12
0
 def test_properties(self):
     # Test for properties
     self.order_book.insert_ask(self.ask2)
     self.order_book.insert_bid(self.bid2)
     self.assertEquals(Price(350, 'BTC'),
                       self.order_book.get_mid_price('BTC', 'MC'))
     self.assertEquals(Price(100, 'BTC'),
                       self.order_book.get_bid_ask_spread('BTC', 'MC'))
Exemplo n.º 13
0
 def test_pagerank_2(self):
     """
     Test isolated nodes during a Temporal Pagerank computation
     """
     self.insert_transaction('a', 'b', Quantity(1, 'BTC'), Price(1, 'MC'))
     self.insert_transaction('c', 'd', Quantity(1, 'BTC'), Price(1, 'MC'))
     rep_dict = self.compute_reputations()
     self.assertTrue('c' in rep_dict)
     self.assertTrue('d' in rep_dict)
Exemplo n.º 14
0
    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()
Exemplo n.º 15
0
 def test_bid_side_depth(self):
     # Test for bid side depth
     self.order_book.insert_bid(self.bid)
     self.order_book.insert_bid(self.bid2)
     self.assertEquals(
         300, self.order_book.bid_side_depth(Price(0.1, 'MB', 'BTC')))
     self.assertEquals([(Price(0.1, 'MB', 'BTC'), 300),
                        (Price(0.15, 'MB', 'BTC'), 200)],
                       self.order_book.get_bid_side_depth_profile(
                           'MB', 'BTC'))
Exemplo n.º 16
0
 def test_match_order_divided(self):
     # Test for match order divided over two ticks
     self.order_book.insert_ask(self.ask)
     self.order_book.insert_ask(self.ask2)
     proposed_trades = self.price_time_strategy.match_order(self.bid_order2)
     self.assertEquals(2, len(proposed_trades))
     self.assertEquals(Price(100, 'BTC'), proposed_trades[0].price)
     self.assertEquals(Quantity(30, 'MC'), proposed_trades[0].quantity)
     self.assertEquals(Price(100, 'BTC'), proposed_trades[1].price)
     self.assertEquals(Quantity(30, 'MC'), proposed_trades[1].quantity)
Exemplo n.º 17
0
 def test_ask_side_depth(self):
     # Test for ask side depth
     self.order_book.insert_ask(self.ask)
     self.order_book.insert_ask(self.ask2)
     self.assertEquals(
         100, self.order_book.ask_side_depth(Price(0.3, 'MB', 'BTC')))
     self.assertEquals([(Price(0.075, 'MB', 'BTC'), 400),
                        (Price(0.3, 'MB', 'BTC'), 100)],
                       self.order_book.get_ask_side_depth_profile(
                           'MB', 'BTC'))
Exemplo n.º 18
0
 def setUp(self):
     # Object creation
     self.memory_order_repository = MemoryOrderRepository("0")
     self.order_id = OrderId(TraderId("0"), OrderNumber(1))
     self.order = Order(self.order_id, Price(100,
                                             'BTC'), Quantity(30, 'MC'),
                        Timeout(0.0), Timestamp(10.0), False)
     self.order2 = Order(self.order_id, Price(1000, 'BTC'),
                         Quantity(30, 'MC'), Timeout(0.0), Timestamp(10.0),
                         False)
Exemplo n.º 19
0
 def test_create_bid_order(self):
     # Test for create bid order
     bid_order = self.order_manager.create_bid_order(
         Price(100, 'BTC'), Quantity(10, 'MC'), Timeout(0.0))
     self.assertFalse(bid_order.is_ask())
     self.assertEquals(OrderId(TraderId("0"), OrderNumber(1)),
                       bid_order.order_id)
     self.assertEquals(Price(100, 'BTC'), bid_order.price)
     self.assertEquals(Quantity(10, 'MC'), bid_order.total_quantity)
     self.assertEquals(0.0, float(bid_order.timeout))
Exemplo n.º 20
0
    def update_ticks(self, ask_order_dict, bid_order_dict, traded_quantity, unreserve=True):
        """
        Update ticks according to a TradeChain block containing the status of the ask/bid orders.

        :type ask_order_dict: dict
        :type bid_order_dict: dict
        :type traded_quantity: Quantity
        :type unreserve: bool
        """
        assert isinstance(ask_order_dict, dict), type(ask_order_dict)
        assert isinstance(bid_order_dict, dict), type(bid_order_dict)
        assert isinstance(traded_quantity, Quantity), type(traded_quantity)
        assert isinstance(unreserve, bool), type(unreserve)

        ask_order_id = OrderId(TraderId(ask_order_dict["trader_id"]), OrderNumber(ask_order_dict["order_number"]))
        bid_order_id = OrderId(TraderId(bid_order_dict["trader_id"]), OrderNumber(bid_order_dict["order_number"]))

        self._logger.debug("Updating ticks in order book: %s and %s (traded quantity: %s)",
                           str(ask_order_id), str(bid_order_id), str(traded_quantity))

        # Update ask tick
        new_ask_quantity = Quantity(ask_order_dict["quantity"] - ask_order_dict["traded_quantity"],
                                    ask_order_dict["quantity_type"])
        if self.tick_exists(ask_order_id) and new_ask_quantity <= self.get_tick(ask_order_id).quantity:
            tick = self.get_tick(ask_order_id)
            tick.quantity = new_ask_quantity
            if unreserve:
                tick.release_for_matching(traded_quantity)
            if tick.quantity <= Quantity(0, ask_order_dict["quantity_type"]):
                self.remove_tick(tick.order_id)
                self.completed_orders.append(tick.order_id)
        elif not self.tick_exists(ask_order_id) and new_ask_quantity > Quantity(0, ask_order_dict["quantity_type"]):
            ask = Ask(ask_order_id, Price(ask_order_dict["price"], ask_order_dict["price_type"]),
                      new_ask_quantity, Timeout(ask_order_dict["timeout"]), Timestamp(ask_order_dict["timestamp"]))
            self.insert_ask(ask)

        # Update bid tick
        new_bid_quantity = Quantity(bid_order_dict["quantity"] - bid_order_dict["traded_quantity"],
                                    bid_order_dict["quantity_type"])
        if self.tick_exists(bid_order_id) and new_bid_quantity <= self.get_tick(bid_order_id).quantity:
            tick = self.get_tick(bid_order_id)
            tick.quantity = new_bid_quantity
            if unreserve:
                tick.release_for_matching(traded_quantity)
            if tick.quantity <= Quantity(0, bid_order_dict["quantity_type"]):
                self.remove_tick(tick.order_id)
                self.completed_orders.append(tick.order_id)
        elif not self.tick_exists(bid_order_id) and new_bid_quantity > Quantity(0, bid_order_dict["quantity_type"]):
            bid = Bid(bid_order_id, Price(bid_order_dict["price"], bid_order_dict["price_type"]),
                      new_bid_quantity, Timeout(bid_order_dict["timeout"]), Timestamp(bid_order_dict["timestamp"]))
            self.insert_bid(bid)
Exemplo n.º 21
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)
Exemplo n.º 22
0
    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)
Exemplo n.º 23
0
    def setUp(self, annotate=True):
        yield super(CommunityTestSuite, self).setUp(annotate=annotate)

        dummy1_wallet = DummyWallet1()
        dummy2_wallet = DummyWallet2()

        self.market_community = MarketCommunity(self.dispersy,
                                                self.master_member,
                                                self.member)
        self.market_community.initialize(wallets={
            dummy1_wallet.get_identifier():
            dummy1_wallet,
            dummy2_wallet.get_identifier():
            dummy2_wallet
        },
                                         use_database=False)
        self.market_community.use_local_address = True
        self.dispersy._lan_address = ("127.0.0.1", 1234)
        self.dispersy._endpoint.open(self.dispersy)

        self.dispersy.attach_community(self.market_community)

        eccrypto = ECCrypto()
        ec = eccrypto.generate_key(u"curve25519")
        member = Member(self.dispersy, ec, 1)

        trader_id = hashlib.sha1(member.public_key).digest().encode('hex')
        self.ask = Ask(
            MessageId(TraderId('0'), MessageNumber('message_number')),
            OrderId(TraderId(trader_id), OrderNumber(1234)),
            Price(63400, 'DUM1'), Quantity(30, 'DUM2'), Timeout(3600),
            Timestamp.now())
        self.ask.sign(member)

        self.bid = Bid(
            MessageId(TraderId('1'), MessageNumber('message_number')),
            OrderId(TraderId(trader_id), OrderNumber(1235)),
            Price(343, 'DUM1'), Quantity(22, 'DUM2'), Timeout(3600),
            Timestamp.now())
        self.bid.sign(member)
        self.order = Order(
            OrderId(TraderId(self.market_community.mid), OrderNumber(24)),
            Price(20, 'DUM1'), Quantity(30, 'DUM2'), Timeout(3600.0),
            Timestamp.now(), False)
        self.proposed_trade = Trade.propose(
            MessageId(TraderId('0'), MessageNumber('message_number')),
            OrderId(TraderId('0'), OrderNumber(23)),
            OrderId(TraderId(self.market_community.mid), OrderNumber(24)),
            Price(20, 'DUM1'), Quantity(30, 'DUM2'), Timestamp.now())
Exemplo n.º 24
0
 def test_pagerank_3(self):
     """
     Test a more involved example of a Temporal Pagerank computation
     """
     self.insert_transaction('a', 'b', Quantity(1, 'BTC'), Price(1, 'MC'))
     self.insert_transaction('b', 'c', Quantity(100, 'BTC'),
                             Price(100, 'MC'))
     self.insert_transaction('b', 'd', Quantity(100, 'BTC'),
                             Price(100, 'MC'))
     self.insert_transaction('b', 'e', Quantity(100, 'BTC'),
                             Price(100, 'MC'))
     rep_dict = self.compute_reputations()
     self.assertEqual(len(rep_dict.keys()), 5)
     for _, rep in rep_dict.iteritems():
         self.assertGreater(rep, 0)
Exemplo n.º 25
0
 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)
Exemplo n.º 26
0
    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)
Exemplo n.º 27
0
 def setUp(self):
     # Object creation
     self.proposed_trade_payload = TradePayload.Implementation(
         MetaObject(), TraderId('0'), MessageNumber('message_number'),
         OrderNumber(1), TraderId('1'), OrderNumber(2), 1235,
         Price(63400, 'BTC'), Quantity(30, 'MC'), Timestamp(1462224447.117),
         '192.168.1.1', 1234)
Exemplo n.º 28
0
 def setUp(self):
     # Object creation
     self.payment_payload = PaymentPayload.Implementation(
         MetaObject(), TraderId('0'), MessageNumber('1'), TraderId('2'),
         TransactionNumber(2), Quantity(20, 'MC'), Price(10, 'BTC'),
         WalletAddress('a'), WalletAddress('b'), PaymentId('3'),
         Timestamp(0.0), True)
Exemplo n.º 29
0
 def test_properties(self):
     """
     Test the start transaction payload
     """
     self.assertEquals(MessageNumber('1'),
                       self.start_transaction_payload.message_number)
     self.assertEquals(TransactionNumber(2),
                       self.start_transaction_payload.transaction_number)
     self.assertEquals(Timestamp(0.0),
                       self.start_transaction_payload.timestamp)
     self.assertEquals(TraderId('2'),
                       self.start_transaction_payload.transaction_trader_id)
     self.assertEquals(TraderId('2'),
                       self.start_transaction_payload.order_trader_id)
     self.assertEquals(OrderNumber(3),
                       self.start_transaction_payload.order_number)
     self.assertEquals(TraderId('0'),
                       self.start_transaction_payload.recipient_trader_id)
     self.assertEquals(
         OrderNumber(4),
         self.start_transaction_payload.recipient_order_number)
     self.assertEquals(1236, self.start_transaction_payload.proposal_id)
     self.assertEquals(Price(2, 'BTC'),
                       self.start_transaction_payload.price)
     self.assertEquals(Quantity(3, 'MC'),
                       self.start_transaction_payload.quantity)
Exemplo n.º 30
0
 def setUp(self):
     # Object creation
     self.start_transaction_payload = StartTransactionPayload.Implementation(
         MetaObject(), TraderId('0'), MessageNumber('1'), TraderId('2'),
         TransactionNumber(2), TraderId('2'), OrderNumber(3), TraderId('0'),
         OrderNumber(4), 1236, Price(2, 'BTC'), Quantity(3, 'MC'),
         Timestamp(0.0))