# coding: utf-8

"""
    VeeRoute.UD

    VeeRoute.UD API  # noqa: E501

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


from __future__ import absolute_import

import unittest
import datetime

import vrt_ud
from vrt_ud.models.trip import Trip  # noqa: E501
from vrt_ud.rest import ApiException

class TestTrip(unittest.TestCase):
    """Trip unit test stubs"""

    def setUp(self):
        pass

    def tearDown(self):
        pass

    def make_instance(self, include_optional):
        """Test Trip
            include_option is a boolean, when False only required
            params are included, when True both required and
            optional params are included """
        # model = vrt_ud.models.trip.Trip()  # noqa: E501
        if include_optional :
            return Trip(
                key = 'TRIP0001', 
                trip_id = 'e42c94eb-4628-4131-9180-c931dfa50ed1', 
                assigned_shifts = [
                    vrt_ud.models.assigned_shift.AssignedShift(
                        shift_key = 'performer01', 
                        shift_time = vrt_ud.models.time_window.TimeWindow(
                            from = '2020-10-21T09:30+03:00', 
                            to = '2020-10-21T19:45Z', ), )
                    ], 
                actions = [
                    vrt_ud.models.trip_action.TripAction(
                        order_key = 'order01', 
                        demand_key = 'demand01.1', 
                        location_key = 'location01', 
                        todolist = [
                            vrt_ud.models.trip_job.TripJob(
                                job_type = 'START_WORK', 
                                job_time = '2020-10-21T09:30+03:00', )
                            ], 
                        cargo_placements = [
                            vrt_ud.models.cargo_placement.CargoPlacement(
                                box_key = 'box01', 
                                cargo_key = 'cargo01', )
                            ], )
                    ], 
                waitlist = ["order02"]
            )
        else :
            return Trip(
                key = 'TRIP0001',
                assigned_shifts = [
                    vrt_ud.models.assigned_shift.AssignedShift(
                        shift_key = 'performer01', 
                        shift_time = vrt_ud.models.time_window.TimeWindow(
                            from = '2020-10-21T09:30+03:00', 
                            to = '2020-10-21T19:45Z', ), )
                    ],
        )

    def testTrip(self):
        """Test Trip"""
        inst_req_only = self.make_instance(include_optional=False)
        inst_req_and_optional = self.make_instance(include_optional=True)


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