# coding: utf-8

"""
    Coinbase Developer Platform APIs

    The Coinbase Developer Platform APIs - leading the world's transition onchain.

    The version of the OpenAPI document: 2.0.0
    Contact: cdp@coinbase.com
    Generated by OpenAPI Generator (https://openapi-generator.tech)

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


import unittest

from cdp.openapi_client.models.eip712_message import EIP712Message

class TestEIP712Message(unittest.TestCase):
    """EIP712Message unit test stubs"""

    def setUp(self):
        pass

    def tearDown(self):
        pass

    def make_instance(self, include_optional) -> EIP712Message:
        """Test EIP712Message
            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 `EIP712Message`
        """
        model = EIP712Message()
        if include_optional:
            return EIP712Message(
                domain = {name=Permit2, chainId=1, verifyingContract=0x000000000022D473030F116dDEE9F6B43aC78BA3},
                types = {EIP712Domain=[{name=name, type=string}, {name=chainId, type=uint256}, {name=verifyingContract, type=address}], PermitTransferFrom=[{name=permitted, type=TokenPermissions}, {name=spender, type=address}, {name=nonce, type=uint256}, {name=deadline, type=uint256}], TokenPermissions=[{name=token, type=address}, {name=amount, type=uint256}]},
                primary_type = 'PermitTransferFrom',
                message = {permitted={token=0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48, amount=1000000}, spender=0x1111111254EEB25477B68fb85Ed929f73A960582, nonce=0, deadline=1716239020}
            )
        else:
            return EIP712Message(
                domain = {name=Permit2, chainId=1, verifyingContract=0x000000000022D473030F116dDEE9F6B43aC78BA3},
                types = {EIP712Domain=[{name=name, type=string}, {name=chainId, type=uint256}, {name=verifyingContract, type=address}], PermitTransferFrom=[{name=permitted, type=TokenPermissions}, {name=spender, type=address}, {name=nonce, type=uint256}, {name=deadline, type=uint256}], TokenPermissions=[{name=token, type=address}, {name=amount, type=uint256}]},
                primary_type = 'PermitTransferFrom',
                message = {permitted={token=0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48, amount=1000000}, spender=0x1111111254EEB25477B68fb85Ed929f73A960582, nonce=0, deadline=1716239020},
        )
        """

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

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