Ejemplo n.º 1
0
class MessageNumberTestSuite(unittest.TestCase):
    """Message number test cases."""
    def setUp(self):
        # Object creation
        self.message_number = MessageNumber(1)
        self.message_number2 = MessageNumber(1)
        self.message_number3 = MessageNumber(3)

    def test_conversion(self):
        # Test for conversions
        self.assertEqual('1', str(self.message_number))

    def test_init(self):
        # Test for init validation
        with self.assertRaises(ValueError):
            MessageNumber(1.0)

    def test_equality(self):
        # Test for equality
        self.assertTrue(self.message_number == self.message_number2)
        self.assertTrue(self.message_number == self.message_number)
        self.assertTrue(self.message_number != self.message_number3)
        self.assertFalse(self.message_number == 6)

    def test_hash(self):
        # Test for hashes
        self.assertEqual(self.message_number.__hash__(),
                         self.message_number2.__hash__())
        self.assertNotEqual(self.message_number.__hash__(),
                            self.message_number3.__hash__())
Ejemplo n.º 2
0
    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)
Ejemplo n.º 3
0
    def setUp(self, annotate=True):
        yield super(PriceTimeStrategyTestSuite, self).setUp(annotate=annotate)
        # Object creation
        self.ask = Ask(MessageId(TraderId('0'), MessageNumber('1')),
                       OrderId(TraderId('0'), OrderNumber(1)),
                       Price(100, 'BTC'), Quantity(30, 'MC'), Timeout(100),
                       Timestamp.now())
        self.ask2 = Ask(MessageId(TraderId('1'), MessageNumber('1')),
                        OrderId(TraderId('1'), OrderNumber(2)),
                        Price(100, 'BTC'), Quantity(30, 'MC'), Timeout(100),
                        Timestamp.now())
        self.ask3 = Ask(MessageId(TraderId('3'), MessageNumber('1')),
                        OrderId(TraderId('0'), OrderNumber(3)),
                        Price(200, 'BTC'), Quantity(200, 'MC'), Timeout(100),
                        Timestamp.now())
        self.ask4 = Ask(MessageId(TraderId('4'), MessageNumber('1')),
                        OrderId(TraderId('1'), OrderNumber(4)),
                        Price(50, 'BTC'), Quantity(200, 'MC'), Timeout(100),
                        Timestamp.now())
        self.ask5 = Ask(MessageId(TraderId('4'), MessageNumber('1')),
                        OrderId(TraderId('1'), OrderNumber(4)),
                        Price(100, 'A'), Quantity(30, 'MC'), Timeout(100),
                        Timestamp.now())
        self.ask6 = Ask(MessageId(TraderId('4'), MessageNumber('1')),
                        OrderId(TraderId('1'), OrderNumber(4)),
                        Price(100, 'BTC'), Quantity(30, 'A'), Timeout(100),
                        Timestamp.now())

        self.bid = Bid(MessageId(TraderId('5'), MessageNumber('2')),
                       OrderId(TraderId('0'), OrderNumber(5)),
                       Price(100, 'BTC'), Quantity(30, 'MC'), Timeout(100),
                       Timestamp.now())
        self.bid2 = Bid(MessageId(TraderId('6'), MessageNumber('2')),
                        OrderId(TraderId('0'), OrderNumber(6)),
                        Price(200, 'BTC'), Quantity(30, 'MC'), Timeout(100),
                        Timestamp.now())
        self.bid3 = Bid(MessageId(TraderId('7'), MessageNumber('2')),
                        OrderId(TraderId('0'), OrderNumber(7)),
                        Price(50, 'BTC'), Quantity(200, 'MC'), Timeout(100),
                        Timestamp.now())
        self.bid4 = Bid(MessageId(TraderId('8'), MessageNumber('2')),
                        OrderId(TraderId('0'), OrderNumber(8)),
                        Price(100, 'BTC'), Quantity(200, 'MC'), Timeout(100),
                        Timestamp.now())

        self.ask_order = Order(OrderId(TraderId('9'), OrderNumber(11)),
                               Price(100, 'BTC'), Quantity(30, 'MC'),
                               Timeout(100), Timestamp.now(), True)
        self.ask_order2 = Order(OrderId(TraderId('9'), OrderNumber(12)),
                                Price(10, 'BTC'), Quantity(60, 'MC'),
                                Timeout(100), Timestamp.now(), True)

        self.bid_order = Order(OrderId(TraderId('9'), OrderNumber(13)),
                               Price(100, 'BTC'), Quantity(30, 'MC'),
                               Timeout(100), Timestamp.now(), False)
        self.bid_order2 = Order(OrderId(TraderId('9'), OrderNumber(14)),
                                Price(100, 'BTC'), Quantity(60, 'MC'),
                                Timeout(100), Timestamp.now(), False)
        self.order_book = OrderBook(MemoryMessageRepository('0'))
        self.price_time_strategy = PriceTimeStrategy(self.order_book)
Ejemplo n.º 4
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)
Ejemplo n.º 5
0
 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))))
Ejemplo n.º 6
0
    def test_from_network(self):
        # Test for from network
        data = StartTransaction.from_network(
            type(
                'Data', (object, ), {
                    "trader_id": TraderId('0'),
                    "message_number": MessageNumber("1"),
                    "transaction_trader_id": TraderId('0'),
                    "transaction_number": TransactionNumber(1),
                    "order_trader_id": TraderId('0'),
                    "order_number": OrderNumber(1),
                    "recipient_trader_id": TraderId('1'),
                    "recipient_order_number": OrderNumber(2),
                    "proposal_id": 1235,
                    "price": Price(300, 'BTC'),
                    "quantity": Quantity(20, 'MC'),
                    "timestamp": Timestamp(0.0)
                }))

        self.assertEquals(MessageId(TraderId("0"), MessageNumber("1")),
                          data.message_id)
        self.assertEquals(TransactionId(TraderId("0"), TransactionNumber(1)),
                          data.transaction_id)
        self.assertEquals(OrderId(TraderId('0'), OrderNumber(1)),
                          data.order_id)
        self.assertEquals(OrderId(TraderId('1'), OrderNumber(2)),
                          data.recipient_order_id)
        self.assertEquals(1235, data.proposal_id)
        self.assertEquals(Timestamp(0.0), data.timestamp)
Ejemplo n.º 7
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)
Ejemplo 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)
Ejemplo n.º 9
0
 def setUp(self):
     # Object creation
     self.proposed_trade = Trade.propose(MessageId(TraderId('0'), MessageNumber('message_number')),
                                         OrderId(TraderId('0'), OrderNumber(1)),
                                         OrderId(TraderId('1'), OrderNumber(2)),
                                         Price(63400, 'BTC'), Quantity(30, 'MC'), Timestamp(1462224447.117))
     self.declined_trade = Trade.decline(MessageId(TraderId('0'), MessageNumber('message_number')),
                                         Timestamp(1462224447.117), self.proposed_trade)
Ejemplo n.º 10
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)
Ejemplo n.º 11
0
    def setUp(self):
        # Object creation

        self.tick = Tick(
            MessageId(TraderId('0'), MessageNumber('message_number')),
            OrderId(TraderId('0'), OrderNumber(1)), Price(400, 'BTC'),
            Quantity(30, 'MC'), Timeout(float("inf")), Timestamp(float("inf")),
            True)
        self.tick2 = Tick(
            MessageId(TraderId('1'), MessageNumber('message_number')),
            OrderId(TraderId('1'), OrderNumber(2)), Price(800, 'BTC'),
            Quantity(30, 'MC'), Timeout(float("inf")), Timestamp(float("inf")),
            True)
        self.side = Side()
Ejemplo n.º 12
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())
Ejemplo n.º 13
0
    def test_from_network(self):
        # Test for from network
        data = DeclinedTrade.from_network(type('Data', (object,), {"trader_id": TraderId('0'),
                                                                   "message_number": MessageNumber('message_number'),
                                                                   "order_number": OrderNumber(1),
                                                                   "recipient_trader_id": TraderId('1'),
                                                                   "recipient_order_number": OrderNumber(2),
                                                                   "proposal_id": 1235,
                                                                   "timestamp": Timestamp(1462224447.117),}))

        self.assertEquals(MessageId(TraderId('0'), MessageNumber('message_number')), data.message_id)
        self.assertEquals(OrderId(TraderId('1'), OrderNumber(2)),
                          data.recipient_order_id)
        self.assertEquals(1235, data.proposal_id)
        self.assertEquals(Timestamp(1462224447.117), data.timestamp)
Ejemplo n.º 14
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)
Ejemplo n.º 15
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)
Ejemplo n.º 16
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))
Ejemplo n.º 17
0
 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())
Ejemplo n.º 18
0
    def test_encode_match(self):
        """
        Test encoding and decoding of a match message
        """
        message = MockObject()
        meta_msg = self.market_community.get_meta_message(u"match")

        match_payload = MatchPayload.Implementation(meta_msg, TraderId('abc'),
                                                    MessageNumber('3'),
                                                    OrderNumber(4),
                                                    Price(1, 'BTC'),
                                                    Quantity(2, 'MC'),
                                                    Timeout(3600),
                                                    Timestamp.now(),
                                                    '192.168.1.1', 1234,
                                                    OrderNumber(3),
                                                    Quantity(2, 'MC'),
                                                    TraderId('abc'),
                                                    TraderId('def'),
                                                    'match_id')
        message.payload = match_payload
        packet, = self.conversion._encode_match(message)
        self.assertTrue(packet)

        _, decoded = self.conversion._decode_match(
            self.get_placeholder_msg(u"match"), 0, packet)

        self.assertTrue(decoded)
        self.assertEqual(decoded.match_id, 'match_id')
Ejemplo n.º 19
0
 def from_unpack_list(cls, trader_id, message_number, timestamp, order_number, recipient_trader_id,
                      recipient_order_number, proposal_id, price, price_type, quantity, quantity_type, ip, port):
     return TradePayload(MessageId(TraderId(trader_id), MessageNumber(message_number)), Timestamp(timestamp),
                         OrderNumber(order_number),
                         OrderId(TraderId(recipient_trader_id), OrderNumber(recipient_order_number)),
                         proposal_id, Price(price, price_type),
                         Quantity(quantity, quantity_type), SocketAddress(ip, port))
Ejemplo n.º 20
0
 def setUp(self):
     # Object creation
     self.trade = Trade(
         MessageId(TraderId('0'), MessageNumber('message_number')),
         OrderId(TraderId('0'), OrderNumber(3)),
         OrderId(TraderId('0'), OrderNumber(4)), 1234,
         Timestamp(1462224447.117))
Ejemplo n.º 21
0
 def test_to_network(self):
     # Test for to network
     self.assertEquals((TraderId('1'), (TraderId('0'), MessageNumber('message_number'),
                                        OrderNumber(1), TraderId('1'),
                                        OrderNumber(2), self.proposed_trade.proposal_id,
                                        Price(63400, 'BTC'), Quantity(30, 'MC'),
                                        Timestamp(1462224447.117))), self.proposed_trade.to_network())
Ejemplo n.º 22
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)
Ejemplo n.º 23
0
 def setUp(self):
     # Object creation
     self.offer_payload = OfferPayload.Implementation(
         MetaObject(), TraderId('0'), MessageNumber('message_number'),
         OrderNumber(1), Price(63400, 'BTC'), Quantity(30, 'MC'),
         Timeout(1470004447.117), Timestamp(1462224447.117), 'a', 'b',
         Ttl(2), "1.1.1.1", 1)
Ejemplo n.º 24
0
 def setUp(self):
     # Object creation
     self.payment = Payment(
         MessageId(TraderId("0"), MessageNumber(1)),
         TransactionId(TraderId('2'), TransactionNumber(2)),
         Quantity(3, 'MC'), Price(2, 'BTC'), WalletAddress('a'),
         WalletAddress('b'), PaymentId('aaa'), Timestamp(4.0), True)
Ejemplo n.º 25
0
 def setUp(self, annotate=True):
     yield super(AbstractTestOrderBook, self).setUp(annotate=annotate)
     # Object creation
     self.ask = Ask(OrderId(TraderId('0'), OrderNumber(1)),
                    Price(100, 'BTC'), Quantity(30, 'MC'),
                    Timeout(1462224447.117), Timestamp(1462224447.117))
     self.invalid_ask = Ask(OrderId(TraderId('0'), OrderNumber(1)),
                            Price(100, 'BTC'), Quantity(30, 'MC'),
                            Timeout(0), Timestamp(0.0))
     self.ask2 = Ask(OrderId(TraderId('1'), OrderNumber(1)),
                     Price(400, 'BTC'), Quantity(30, 'MC'),
                     Timeout(1462224447.117), Timestamp(1462224447.117))
     self.bid = Bid(OrderId(TraderId('2'), OrderNumber(1)),
                    Price(200, 'BTC'), Quantity(30, 'MC'),
                    Timeout(1462224447.117), Timestamp(1462224447.117))
     self.invalid_bid = Bid(OrderId(TraderId('0'), OrderNumber(1)),
                            Price(100, 'BTC'), Quantity(30, 'MC'),
                            Timeout(0), Timestamp(0.0))
     self.bid2 = Bid(OrderId(TraderId('3'), OrderNumber(1)),
                     Price(300, 'BTC'), Quantity(30, 'MC'),
                     Timeout(1462224447.117), Timestamp(1462224447.117))
     self.trade = Trade.propose(MessageId(TraderId('0'), MessageNumber(1)),
                                OrderId(TraderId('0'), OrderNumber(1)),
                                OrderId(TraderId('0'), OrderNumber(1)),
                                Price(100, 'BTC'), Quantity(30, 'MC'),
                                Timestamp(1462224447.117))
     self.order_book = OrderBook()
Ejemplo n.º 26
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)
Ejemplo n.º 27
0
 def setUp(self):
     # Object creation
     self.match_payload = MatchPayload.Implementation(
         MetaObject(), TraderId('0'), MessageNumber('message_number'),
         OrderNumber(1), Price(63400, 'BTC'), Quantity(30, 'MC'),
         Timeout(1470004447.117), Timestamp(1462224447.117), "1.1.1.1", 1,
         OrderNumber(2), Quantity(20, 'MC'), TraderId('1'), TraderId('2'),
         'a')
Ejemplo n.º 28
0
    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)
Ejemplo n.º 29
0
 def setUp(self):
     # Object creation
     self.start_transaction = StartTransaction(
         MessageId(TraderId('0'), MessageNumber('1')),
         TransactionId(TraderId("0"), TransactionNumber(1)),
         OrderId(TraderId('0'), OrderNumber(1)),
         OrderId(TraderId('1'), OrderNumber(1)), 1234, Price(30, 'BTC'),
         Quantity(40, 'MC'), Timestamp(0.0))
Ejemplo n.º 30
0
 def from_unpack_list(cls, trader_id, message_number, timestamp, order_number, price, price_type, quantity,
                      quantity_type, timeout, ip, port, recipient_order_number, match_quantity, match_quantity_type,
                      match_trader_id, matchmaker_trader_id, match_id):
     return MatchPayload(MessageId(TraderId(trader_id), MessageNumber(message_number)), Timestamp(timestamp),
                         OrderNumber(order_number), Price(price, price_type), Quantity(quantity, quantity_type),
                         Timeout(timeout), SocketAddress(ip, port), OrderNumber(recipient_order_number),
                         Quantity(match_quantity, match_quantity_type), TraderId(match_trader_id),
                         TraderId(matchmaker_trader_id), match_id)