# 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.sol_data_criterion import SolDataCriterion

class TestSolDataCriterion(unittest.TestCase):
    """SolDataCriterion unit test stubs"""

    def setUp(self):
        pass

    def tearDown(self):
        pass

    def make_instance(self, include_optional) -> SolDataCriterion:
        """Test SolDataCriterion
            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 `SolDataCriterion`
        """
        model = SolDataCriterion()
        if include_optional:
            return SolDataCriterion(
                type = 'solData',
                idls = ["SystemProgram","TokenProgram",{"address":"TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA","instructions":[{"name":"transfer_checked","discriminator":[119,250,202,24,253,135,244,121],"args":[{"name":"amount","type":"u64"},{"name":"decimals","type":"u8"}]}]}],
                conditions = [{"instruction":"transfer_checked","params":[{"name":"lamports","operator":"<=","value":"1000000"},{"name":"space","operator":"==","value":"64"}]}]
            )
        else:
            return SolDataCriterion(
                type = 'solData',
                idls = ["SystemProgram","TokenProgram",{"address":"TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA","instructions":[{"name":"transfer_checked","discriminator":[119,250,202,24,253,135,244,121],"args":[{"name":"amount","type":"u64"},{"name":"decimals","type":"u8"}]}]}],
                conditions = [{"instruction":"transfer_checked","params":[{"name":"lamports","operator":"<=","value":"1000000"},{"name":"space","operator":"==","value":"64"}]}],
        )
        """

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

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