# coding: utf-8

"""
    ****************************************************************************
    Copyright (c) 2016-present,
    Jaguar0625, gimre, BloodyRookie, Tech Bureau, Corp. All rights reserved.

    This file is part of Catapult.

    Catapult is free software: you can redistribute it and/or modify
    it under the terms of the GNU Lesser General Public License as published by
    the Free Software Foundation, either version 3 of the License, or
    (at your option) any later version.

    Catapult is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
    GNU Lesser General Public License for more details.

    You should have received a copy of the GNU Lesser General Public License
    along with Catapult. If not, see <http://www.gnu.org/licenses/>.
    ****************************************************************************
    
    Catapult REST Endpoints
    OpenAPI Specification of catapult-rest 1.1.2  # noqa: E501
    The version of the OpenAPI document: 0.9.3
    Contact: contact@nem.foundation

    NOTE: This file is auto generated by Symbol OpenAPI Generator:
    https://github.com/nemtech/symbol-openapi-generator
    Do not edit this file manually.
"""


from __future__ import absolute_import

import unittest
import datetime

import symbol_openapi_client
from symbol_openapi_client.models.chain_properties_dto import ChainPropertiesDTO  # noqa: E501
from symbol_openapi_client.rest import ApiException

class TestChainPropertiesDTO(unittest.TestCase):
    """ChainPropertiesDTO unit test stubs"""

    def setUp(self):
        pass

    def tearDown(self):
        pass

    def make_instance(self, include_optional):
        """Test ChainPropertiesDTO
            include_option is a boolean, when False only required
            params are included, when True both required and
            optional params are included """
        # model = symbol_openapi_client.models.chain_properties_dto.ChainPropertiesDTO()  # noqa: E501
        if include_optional :
            return ChainPropertiesDTO(
                enable_verifiable_state = True, 
                enable_verifiable_receipts = True, 
                currency_mosaic_id = '0x24F4'26B8'D549'3D4B', 
                harvesting_mosaic_id = '0x1D9C'DC7E'218C'A88D', 
                block_generation_target_time = '30s', 
                block_time_smoothing_factor = '3000', 
                block_finalization_interval = '30', 
                importance_grouping = '39', 
                importance_activity_percentage = '5', 
                max_rollback_blocks = '40', 
                max_difficulty_blocks = '60', 
                default_dynamic_fee_multiplier = '10000', 
                max_transaction_lifetime = '24h', 
                max_block_future_time = '500ms', 
                initial_currency_atomic_units = '8998999998000000', 
                max_mosaic_atomic_units = '9000000000000000', 
                total_chain_importance = '15000000', 
                min_harvester_balance = '500', 
                max_harvester_balance = '4000000', 
                min_voter_balance = '50000', 
                harvest_beneficiary_percentage = '10', 
                harvest_network_percentage = '5', 
                harvest_network_fee_sink_address = 'SAAA244WMCB2JXGNQTQHQOS45TGBFF4V2MJBVOQ', 
                block_prune_interval = '360', 
                max_transactions_per_block = '200000'
            )
        else :
            return ChainPropertiesDTO(
        )

    def testChainPropertiesDTO(self):
        """Test ChainPropertiesDTO"""
        inst_req_only = self.make_instance(include_optional=False)
        inst_req_and_optional = self.make_instance(include_optional=True)


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