# coding: utf-8

"""
    VeeRoute.LSS Lastmile

    VeeRoute.LSS Lastmile API  # noqa: E501

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


from __future__ import absolute_import

import unittest
import datetime

import vrt_lss_lastmile
from vrt_lss_lastmile.models.statistics import Statistics  # noqa: E501
from vrt_lss_lastmile.rest import ApiException

class TestStatistics(unittest.TestCase):
    """Statistics unit test stubs"""

    def setUp(self):
        pass

    def tearDown(self):
        pass

    def make_instance(self, include_optional):
        """Test Statistics
            include_option is a boolean, when False only required
            params are included, when True both required and
            optional params are included """
        # model = vrt_lss_lastmile.models.statistics.Statistics()  # noqa: E501
        if include_optional :
            return Statistics(
                cost = 1231.1, 
                reward = 2343.3, 
                measurements = vrt_lss_lastmile.models.measurements.Measurements(
                    driving_time = 15, 
                    waiting_time = 5, 
                    working_time = 50, 
                    arriving_time = 30, 
                    departure_time = 20, 
                    total_time = 120, 
                    distance = 5200, 
                    time_window = vrt_lss_lastmile.models.time_window.TimeWindow(
                        from = '2020-10-21T09:30+03:00', 
                        to = '2020-10-21T19:45Z', ), ), 
                orders_count = 1700, 
                performers_count = 257, 
                capacity_utilization = vrt_lss_lastmile.models.capacity.Capacity(
                    mass = 10, 
                    volume = 2, 
                    capacity_x = 1, 
                    capacity_y = 2, 
                    capacity_z = 3, ), 
                capacity_max = vrt_lss_lastmile.models.capacity.Capacity(
                    mass = 10, 
                    volume = 2, 
                    capacity_x = 1, 
                    capacity_y = 2, 
                    capacity_z = 3, ), 
                quality = vrt_lss_lastmile.models.quality_statistics.QualityStatistics(
                    soft_time_window_violations = vrt_lss_lastmile.models.time_window_violation.TimeWindowViolation(
                        before = vrt_lss_lastmile.models.objects_metrics.ObjectsMetrics(
                            keys = ["obj1"], 
                            count = 1700, ), 
                        after = vrt_lss_lastmile.models.objects_metrics.ObjectsMetrics(
                            keys = ["obj1"], 
                            count = 1700, ), ), 
                    hard_time_window_violations = vrt_lss_lastmile.models.time_window_violation.TimeWindowViolation(), )
            )
        else :
            return Statistics(
                cost = 1231.1,
                reward = 2343.3,
                measurements = vrt_lss_lastmile.models.measurements.Measurements(
                    driving_time = 15, 
                    waiting_time = 5, 
                    working_time = 50, 
                    arriving_time = 30, 
                    departure_time = 20, 
                    total_time = 120, 
                    distance = 5200, 
                    time_window = vrt_lss_lastmile.models.time_window.TimeWindow(
                        from = '2020-10-21T09:30+03:00', 
                        to = '2020-10-21T19:45Z', ), ),
                orders_count = 1700,
                performers_count = 257,
        )

    def testStatistics(self):
        """Test Statistics"""
        inst_req_only = self.make_instance(include_optional=False)
        inst_req_and_optional = self.make_instance(include_optional=True)


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