# coding: utf-8

"""
    VeeRoute.LSS Clustering

    VeeRoute.LSS Clustering API  # noqa: E501

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


from __future__ import absolute_import

import unittest
import datetime

import vrt_lss_clustering
from vrt_lss_clustering.models.cluster_result import ClusterResult  # noqa: E501
from vrt_lss_clustering.rest import ApiException

class TestClusterResult(unittest.TestCase):
    """ClusterResult unit test stubs"""

    def setUp(self):
        pass

    def tearDown(self):
        pass

    def make_instance(self, include_optional):
        """Test ClusterResult
            include_option is a boolean, when False only required
            params are included, when True both required and
            optional params are included """
        # model = vrt_lss_clustering.models.cluster_result.ClusterResult()  # noqa: E501
        if include_optional :
            return ClusterResult(
                tracedata = vrt_lss_clustering.models.trace_data.TraceData(
                    code = 'client_server_service_time_id', ), 
                clusters = [
                    vrt_lss_clustering.models.cluster.Cluster(
                        performer_key = 'performer01', 
                        points_keys = [
                            'point01'
                            ], 
                        representer_key = 'point01', )
                    ], 
                validations = [
                    vrt_lss_clustering.models.validation.Validation(
                        type = 'info', 
                        entity_key = 'ord0001', 
                        entity_type = 'order', 
                        info = 'bad time windows', )
                    ], 
                unclustered_points = [
                    vrt_lss_clustering.models.unclustered_point.UnclusteredPoint(
                        point = vrt_lss_clustering.models.cluster_point.ClusterPoint(
                            key = 'location01', 
                            location = vrt_lss_clustering.models.location.Location(
                                latitude = 55.692789, 
                                longitude = 37.554554, 
                                arrival_duration = 15, 
                                departure_duration = 5, ), 
                            duration = 30, ), 
                        reason = 'undefined', )
                    ], 
                progress = 50, 
                info = vrt_lss_clustering.models.plan_info.PlanInfo(
                    status = 'FINISHED_IN_TIME', 
                    result_version = 13, 
                    planning_time = 10, 
                    waiting_time = 5, )
            )
        else :
            return ClusterResult(
        )

    def testClusterResult(self):
        """Test ClusterResult"""
        inst_req_only = self.make_instance(include_optional=False)
        inst_req_and_optional = self.make_instance(include_optional=True)


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