Ejemplo n.º 1
0
class PaymentTestSuite(unittest.TestCase):
    """Payment test cases."""

    def setUp(self):
        # Object creation
        self.payment = Payment(TraderId("0"),
                               TransactionId(TraderId('2'), TransactionNumber(2)),
                               AssetAmount(3, 'BTC'),
                               WalletAddress('a'), WalletAddress('b'),
                               PaymentId('aaa'), Timestamp(4.0), True)

    def test_from_network(self):
        # Test for from network
        data = Payment.from_network(
            type('Data', (object,), {"trader_id": TraderId("0"),
                                     "transaction_id": TransactionId(TraderId('2'), TransactionNumber(2)),
                                     "transferred_assets": AssetAmount(3, 'BTC'),
                                     "address_from": WalletAddress('a'),
                                     "address_to": WalletAddress('b'),
                                     "payment_id": PaymentId('aaa'),
                                     "timestamp": Timestamp(4.0),
                                     "success": True}))

        self.assertEquals(TraderId("0"), data.trader_id)
        self.assertEquals(TransactionId(TraderId('2'), TransactionNumber(2)), data.transaction_id)
        self.assertEquals(AssetAmount(3, 'BTC'), data.transferred_assets)
        self.assertEquals(Timestamp(4.0), data.timestamp)
        self.assertTrue(data.success)

    def test_to_network(self):
        # Test for to network
        data = self.payment.to_network()

        self.assertEquals(data[0], TraderId("0"))
        self.assertEquals(data[1], Timestamp(4.0))
        self.assertEquals(data[2], TransactionId(TraderId("2"), TransactionNumber(2)))
        self.assertEquals(data[3], AssetAmount(3, 'BTC'))
        self.assertEquals(data[4], WalletAddress('a'))
        self.assertEquals(data[5], WalletAddress('b'))
        self.assertEquals(data[6], PaymentId('aaa'))
        self.assertEquals(data[7], True)

    def test_to_dictionary(self):
        """
        Test the dictionary representation of a payment
        """
        self.assertDictEqual(self.payment.to_dictionary(), {
            "trader_id": '2',
            "transaction_number": 2,
            "transferred": {
                "amount": 3,
                "type": "BTC"
            },
            "payment_id": 'aaa',
            "address_from": 'a',
            "address_to": 'b',
            "timestamp": 4.0,
            "success": True
        })
Ejemplo n.º 2
0
class PaymentTestSuite(unittest.TestCase):
    """Payment test cases."""
    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)

    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)

    def test_to_network(self):
        # Test for to network
        data = self.payment.to_network()

        self.assertEquals(data[0], MessageId(TraderId("0"), MessageNumber(1)))
        self.assertEquals(data[1], Timestamp(4.0))
        self.assertEquals(data[2],
                          TransactionId(TraderId("2"), TransactionNumber(2)))
        self.assertEquals(data[3], Quantity(3, 'MC'))
        self.assertEquals(data[4], Price(2, 'BTC'))
        self.assertEquals(data[5], WalletAddress('a'))
        self.assertEquals(data[6], WalletAddress('b'))
        self.assertEquals(data[7], PaymentId('aaa'))
        self.assertEquals(data[8], True)

    def test_to_dictionary(self):
        """
        Test the dictionary representation of a payment
        """
        self.assertDictEqual(
            self.payment.to_dictionary(), {
                "trader_id": '2',
                "transaction_number": 2,
                "price": 2.0,
                "price_type": 'BTC',
                "quantity": 3.0,
                "quantity_type": 'MC',
                "payment_id": 'aaa',
                "address_from": 'a',
                "address_to": 'b',
                "timestamp": 4.0,
                "success": True
            })