# coding: utf-8

"""
    Bluefin API

    Bluefin API

    The version of the OpenAPI document: 1.0.0
    Generated by OpenAPI Generator (https://openapi-generator.tech)

    Do not edit the class manually.
"""  # noqa: E501


import unittest

from bluefin_pro_api_client.models.account_stream_message_payload import AccountStreamMessagePayload

class TestAccountStreamMessagePayload(unittest.TestCase):
    """AccountStreamMessagePayload unit test stubs"""

    def setUp(self):
        pass

    def tearDown(self):
        pass

    def make_instance(self, include_optional) -> AccountStreamMessagePayload:
        """Test AccountStreamMessagePayload
            include_optional is a boolean, when False only required
            params are included, when True both required and
            optional params are included """
        # uncomment below to create an instance of `AccountStreamMessagePayload`
        """
        model = AccountStreamMessagePayload()
        if include_optional:
            return AccountStreamMessagePayload(
                fee_tier = bluefin_pro_api_client.models.fee_tier.FeeTier(
                    maker_fee_e9 = '', 
                    taker_fee_e9 = '', 
                    is_applied = True, ),
                can_trade = True,
                can_deposit = True,
                can_withdraw = True,
                total_effective_balance_e9 = '',
                total_initial_margin_required_e9 = '',
                total_open_order_initial_margin_required_e9 = '',
                initial_margin_available_e9 = '',
                total_maintenance_margin_required_e9 = '',
                maintenance_margin_available_e9 = '',
                account_maintenance_margin_ratio_e9 = '',
                account_leverage_e9 = '',
                total_unrealized_pnl_e9 = '',
                total_cross_unrealized_pnl_e9 = '',
                updated_at_utc_millis = 56,
                assets = [
                    bluefin_pro_api_client.models.asset_2.Asset_2(
                        bank_address = '', 
                        quantity_e9 = '', 
                        effective_balance_e9 = '', 
                        max_withdraw_quantity_e9 = '', 
                        updated_at_utc_millis = 56, )
                    ],
                trade_id = '',
                client_order_id = '',
                market_address = '',
                order_hash = '',
                type = 'LIMIT',
                order_side = 'LONG',
                is_maker = True,
                price_e9 = '',
                quantity_e9 = '',
                quote_quantity_e9 = '',
                realized_pnl_e9 = '',
                position_side = 'LONG',
                trading_fee_e9 = '',
                trading_fee_asset_market_address = '',
                gas_fee_e9 = '',
                gas_fee_asset_market_address = '',
                executed_at_utc_millis = 56,
                account_address = '',
                side = 'LONG',
                leverage_e9 = '',
                is_isolated = True,
                salt = '',
                expires_at_utc_millis = 56,
                signed_at_utc_millis = 56,
                reduce_only = True,
                post_only = True,
                time_in_force = 'GTT',
                trigger_price_e9 = '',
                status = 'OPEN',
                self_trade_prevention_type = 'TAKER',
                created_at_utc_millis = 56,
                cancellation_reason = 'USER_CANCELLED',
                failure_to_cancel_reason = 'ORDER_NOT_FOUND',
                remaining_quantity_e9 = '',
                transaction_type = 'DEPOSIT',
                amount_e9 = '',
                asset_bank_address = '',
                avg_entry_price_e9 = '',
                liquidation_price_e9 = '',
                mark_price_e9 = '',
                notional_value_e9 = '',
                max_notional_value_e9 = '',
                size_e9 = '',
                unrealized_pnl_e9 = '',
                initial_margin_e9 = '',
                maintenance_margin_e9 = '',
                isolated_margin_e9 = ''
            )
        else:
            return AccountStreamMessagePayload(
                can_trade = True,
                can_deposit = True,
                can_withdraw = True,
                total_effective_balance_e9 = '',
                total_initial_margin_required_e9 = '',
                total_open_order_initial_margin_required_e9 = '',
                initial_margin_available_e9 = '',
                total_maintenance_margin_required_e9 = '',
                maintenance_margin_available_e9 = '',
                account_maintenance_margin_ratio_e9 = '',
                account_leverage_e9 = '',
                total_unrealized_pnl_e9 = '',
                total_cross_unrealized_pnl_e9 = '',
                updated_at_utc_millis = 56,
                assets = [
                    bluefin_pro_api_client.models.asset_2.Asset_2(
                        bank_address = '', 
                        quantity_e9 = '', 
                        effective_balance_e9 = '', 
                        max_withdraw_quantity_e9 = '', 
                        updated_at_utc_millis = 56, )
                    ],
                trade_id = '',
                market_address = '',
                order_hash = '',
                type = 'LIMIT',
                order_side = 'LONG',
                is_maker = True,
                price_e9 = '',
                quantity_e9 = '',
                quote_quantity_e9 = '',
                realized_pnl_e9 = '',
                position_side = 'LONG',
                trading_fee_e9 = '',
                trading_fee_asset_market_address = '',
                gas_fee_e9 = '',
                gas_fee_asset_market_address = '',
                executed_at_utc_millis = 56,
                account_address = '',
                side = 'LONG',
                leverage_e9 = '',
                is_isolated = True,
                salt = '',
                expires_at_utc_millis = 56,
                signed_at_utc_millis = 56,
                reduce_only = True,
                post_only = True,
                time_in_force = 'GTT',
                status = 'OPEN',
                self_trade_prevention_type = 'TAKER',
                created_at_utc_millis = 56,
                cancellation_reason = 'USER_CANCELLED',
                remaining_quantity_e9 = '',
                transaction_type = 'DEPOSIT',
                amount_e9 = '',
                asset_bank_address = '',
                avg_entry_price_e9 = '',
                liquidation_price_e9 = '',
                mark_price_e9 = '',
                notional_value_e9 = '',
                max_notional_value_e9 = '',
                size_e9 = '',
                unrealized_pnl_e9 = '',
                initial_margin_e9 = '',
                maintenance_margin_e9 = '',
                isolated_margin_e9 = '',
        )
        """

    def testAccountStreamMessagePayload(self):
        """Test AccountStreamMessagePayload"""
        # inst_req_only = self.make_instance(include_optional=False)
        # inst_req_and_optional = self.make_instance(include_optional=True)

if __name__ == '__main__':
    unittest.main()
