# 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.sign_evm_typed_data_criteria_inner import SignEvmTypedDataCriteriaInner

class TestSignEvmTypedDataCriteriaInner(unittest.TestCase):
    """SignEvmTypedDataCriteriaInner unit test stubs"""

    def setUp(self):
        pass

    def tearDown(self):
        pass

    def make_instance(self, include_optional) -> SignEvmTypedDataCriteriaInner:
        """Test SignEvmTypedDataCriteriaInner
            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 `SignEvmTypedDataCriteriaInner`
        """
        model = SignEvmTypedDataCriteriaInner()
        if include_optional:
            return SignEvmTypedDataCriteriaInner(
                type = 'evmTypedDataField',
                types = {"primaryType":"Mail","types":{"Person":[{"name":"name","type":"string"},{"name":"wallet","type":"address"},{"name":"score","type":"uint256"}],"Mail":[{"name":"from","type":"Person"},{"name":"to","type":"Person"},{"name":"contents","type":"string"}]}},
                conditions = [{addresses=[0x742d35Cc6634C0532925a3b844Bc454e4438f44e], operator=in, path=to.wallet}, {value=50, operator=>=, path=to.score}, {match=^hello ([a-z]+)$, path=contents}],
                addresses = [0x742d35Cc6634C0532925a3b844Bc454e4438f44e, 0x1234567890123456789012345678901234567890],
                operator = 'in'
            )
        else:
            return SignEvmTypedDataCriteriaInner(
                type = 'evmTypedDataField',
                types = {"primaryType":"Mail","types":{"Person":[{"name":"name","type":"string"},{"name":"wallet","type":"address"},{"name":"score","type":"uint256"}],"Mail":[{"name":"from","type":"Person"},{"name":"to","type":"Person"},{"name":"contents","type":"string"}]}},
                conditions = [{addresses=[0x742d35Cc6634C0532925a3b844Bc454e4438f44e], operator=in, path=to.wallet}, {value=50, operator=>=, path=to.score}, {match=^hello ([a-z]+)$, path=contents}],
                addresses = [0x742d35Cc6634C0532925a3b844Bc454e4438f44e, 0x1234567890123456789012345678901234567890],
                operator = 'in',
        )
        """

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

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