# coding: utf-8

"""
    Zarban API

    API for Zarban services.  # noqa: E501

    The version of the OpenAPI document: 2.0.0
    Contact: info@zarban.io
    Generated by: https://openapi-generator.tech
"""


from __future__ import absolute_import

import unittest
import datetime

import zarban.service.openapi_client
from zarban.service.openapi_client.models.account import Account  # noqa: E501
from zarban.service.openapi_client.rest import ApiException

class TestAccount(unittest.TestCase):
    """Account unit test stubs"""

    def setUp(self):
        pass

    def tearDown(self):
        pass

    def make_instance(self, include_optional):
        """Test Account
            include_option is a boolean, when False only required
            params are included, when True both required and
            optional params are included """
        # model = zarban.service.openapi_client.models.account.Account()  # noqa: E501
        if include_optional :
            return Account(
                points = 100, 
                address = '0x1234567890123456789012345678901234567890', 
                wallet_balance = zarban.service.openapi_client.models.wallet_balance.WalletBalance(
                    balances = [
                        zarban.service.openapi_client.models.balance.Balance(
                            token = zarban.service.openapi_client.models.token.Token(
                                name = 'Zar Stablecoin', 
                                symbol = 'USD', 
                                decimals = 18, 
                                address = '0x1234567890123456789012345678901234567890', 
                                logo_uri = '/assets/logos/dai.svg', 
                                chain_id = 1, 
                                persian_name = 'زر', ), 
                            balance = {"USD":"1.23","TMN":"45.67","ZAR":"89.01","ETH":"0.02"}, )
                        ], ), 
                net_worth = {"USD":"1.23","TMN":"45.67","ZAR":"89.01","ETH":"0.02"}, 
                total_debt = {"USD":"1.23","TMN":"45.67","ZAR":"89.01","ETH":"0.02"}, 
                total_deposits = {"USD":"1.23","TMN":"45.67","ZAR":"89.01","ETH":"0.02"}, 
                lendingpool_summary = zarban.service.openapi_client.models.account_lendingpool_summary.AccountLendingpoolSummary(
                    total_debt = {"USD":"1.23","TMN":"45.67","ZAR":"89.01","ETH":"0.02"}, 
                    total_deposits = {"USD":"1.23","TMN":"45.67","ZAR":"89.01","ETH":"0.02"}, 
                    total_collateral = {"USD":"1.23","TMN":"45.67","ZAR":"89.01","ETH":"0.02"}, 
                    health_factor = '1.5', 
                    net_apy = '0.12', 
                    total_supply_apy = '0.12', 
                    total_borrow_apy = '0.12', 
                    available_to_borrow = {"USD":"1.23","TMN":"45.67","ZAR":"89.01","ETH":"0.02"}, 
                    borrow_power_used = '0.30', 
                    current_liquidation_threshold = '0.30', 
                    loan_to_value = '0.30', ), 
                stabelcoin_system_summary = zarban.service.openapi_client.models.account_stablecoin_system_summary.AccountStablecoinSystemSummary(
                    total_debt = {"USD":"1.23","TMN":"45.67","ZAR":"89.01","ETH":"0.02"}, 
                    total_deposits = {"USD":"1.23","TMN":"45.67","ZAR":"89.01","ETH":"0.02"}, 
                    net_apy = '0.30', ), 
                staking_summary = zarban.service.openapi_client.models.account_staking_summary.AccountStakingSummary(
                    total_stake = {"USD":"1.23","TMN":"45.67","ZAR":"89.01","ETH":"0.02"}, 
                    unclaimed_reward = {"USD":"1.23","TMN":"45.67","ZAR":"89.01","ETH":"0.02"}, 
                    net_apy = '0.30', )
            )
        else :
            return Account(
                points = 100,
                address = '0x1234567890123456789012345678901234567890',
                wallet_balance = zarban.service.openapi_client.models.wallet_balance.WalletBalance(
                    balances = [
                        zarban.service.openapi_client.models.balance.Balance(
                            token = zarban.service.openapi_client.models.token.Token(
                                name = 'Zar Stablecoin', 
                                symbol = 'USD', 
                                decimals = 18, 
                                address = '0x1234567890123456789012345678901234567890', 
                                logo_uri = '/assets/logos/dai.svg', 
                                chain_id = 1, 
                                persian_name = 'زر', ), 
                            balance = {"USD":"1.23","TMN":"45.67","ZAR":"89.01","ETH":"0.02"}, )
                        ], ),
                net_worth = {"USD":"1.23","TMN":"45.67","ZAR":"89.01","ETH":"0.02"},
                total_debt = {"USD":"1.23","TMN":"45.67","ZAR":"89.01","ETH":"0.02"},
                total_deposits = {"USD":"1.23","TMN":"45.67","ZAR":"89.01","ETH":"0.02"},
                lendingpool_summary = zarban.service.openapi_client.models.account_lendingpool_summary.AccountLendingpoolSummary(
                    total_debt = {"USD":"1.23","TMN":"45.67","ZAR":"89.01","ETH":"0.02"}, 
                    total_deposits = {"USD":"1.23","TMN":"45.67","ZAR":"89.01","ETH":"0.02"}, 
                    total_collateral = {"USD":"1.23","TMN":"45.67","ZAR":"89.01","ETH":"0.02"}, 
                    health_factor = '1.5', 
                    net_apy = '0.12', 
                    total_supply_apy = '0.12', 
                    total_borrow_apy = '0.12', 
                    available_to_borrow = {"USD":"1.23","TMN":"45.67","ZAR":"89.01","ETH":"0.02"}, 
                    borrow_power_used = '0.30', 
                    current_liquidation_threshold = '0.30', 
                    loan_to_value = '0.30', ),
                stabelcoin_system_summary = zarban.service.openapi_client.models.account_stablecoin_system_summary.AccountStablecoinSystemSummary(
                    total_debt = {"USD":"1.23","TMN":"45.67","ZAR":"89.01","ETH":"0.02"}, 
                    total_deposits = {"USD":"1.23","TMN":"45.67","ZAR":"89.01","ETH":"0.02"}, 
                    net_apy = '0.30', ),
                staking_summary = zarban.service.openapi_client.models.account_staking_summary.AccountStakingSummary(
                    total_stake = {"USD":"1.23","TMN":"45.67","ZAR":"89.01","ETH":"0.02"}, 
                    unclaimed_reward = {"USD":"1.23","TMN":"45.67","ZAR":"89.01","ETH":"0.02"}, 
                    net_apy = '0.30', ),
        )

    def testAccount(self):
        """Test Account"""
        inst_req_only = self.make_instance(include_optional=False)
        inst_req_and_optional = self.make_instance(include_optional=True)


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