# coding: utf-8

"""
    Veeroute.Stock

    Veeroute Stock API  # noqa: E501

    The version of the OpenAPI document: 3.8.171175
    Contact: support@veeroute.com
    Generated by: https://openapi-generator.tech
"""


from __future__ import absolute_import

import unittest
import datetime

import vrt_lss_stock
from vrt_lss_stock.models.plan_task import PlanTask  # noqa: E501
from vrt_lss_stock.rest import ApiException

class TestPlanTask(unittest.TestCase):
    """PlanTask unit test stubs"""

    def setUp(self):
        pass

    def tearDown(self):
        pass

    def make_instance(self, include_optional):
        """Test PlanTask
            include_option is a boolean, when False only required
            params are included, when True both required and
            optional params are included """
        # model = vrt_lss_stock.models.plan_task.PlanTask()  # noqa: E501
        if include_optional :
            return PlanTask(
                storages = [
                    vrt_lss_stock.models.storage.Storage(
                        key = 'storage_01', 
                        balance = vrt_lss_stock.models.balance.Balance(
                            start_amount = 2000, 
                            min_limit = 2000, 
                            max_limit = 2000, ), 
                        forecast = [
                            vrt_lss_stock.models.balance_delta.BalanceDelta(
                                time_index = 10, 
                                delta = 2000, 
                                date = 'Sun Nov 21 03:00:00 MSK 2021', )
                            ], 
                        tariff = vrt_lss_stock.models.storage_tariff.StorageTariff(
                            transfer_cost = 1000, 
                            storage_cost = 0.1, ), 
                        restricted_time_indexes = [
                            10
                            ], )
                    ]
            )
        else :
            return PlanTask(
                storages = [
                    vrt_lss_stock.models.storage.Storage(
                        key = 'storage_01', 
                        balance = vrt_lss_stock.models.balance.Balance(
                            start_amount = 2000, 
                            min_limit = 2000, 
                            max_limit = 2000, ), 
                        forecast = [
                            vrt_lss_stock.models.balance_delta.BalanceDelta(
                                time_index = 10, 
                                delta = 2000, 
                                date = 'Sun Nov 21 03:00:00 MSK 2021', )
                            ], 
                        tariff = vrt_lss_stock.models.storage_tariff.StorageTariff(
                            transfer_cost = 1000, 
                            storage_cost = 0.1, ), 
                        restricted_time_indexes = [
                            10
                            ], )
                    ],
        )

    def testPlanTask(self):
        """Test PlanTask"""
        inst_req_only = self.make_instance(include_optional=False)
        inst_req_and_optional = self.make_instance(include_optional=True)

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