# coding: utf-8

"""
    BIMData API

    BIMData API is a tool to interact with your models stored on BIMData’s servers.     Through the API, you can manage your projects, the clouds, upload your IFC files and manage them through endpoints.  # noqa: E501

    The version of the OpenAPI document: v1
    Contact: support@bimdata.io
    Generated by: https://openapi-generator.tech
"""


from __future__ import absolute_import

import unittest
import datetime

import bimdata_api_client
from bimdata_api_client.models.full_topic import FullTopic  # noqa: E501
from bimdata_api_client.rest import ApiException

class TestFullTopic(unittest.TestCase):
    """FullTopic unit test stubs"""

    def setUp(self):
        pass

    def tearDown(self):
        pass

    def make_instance(self, include_optional):
        """Test FullTopic
            include_option is a boolean, when False only required
            params are included, when True both required and
            optional params are included """
        # model = bimdata_api_client.models.full_topic.FullTopic()  # noqa: E501
        if include_optional :
            return FullTopic(
                guid = '0', 
                creation_date = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), 
                creation_author = '0', 
                modified_date = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), 
                modified_author = '0', 
                title = '0', 
                description = '0', 
                reference_links = [
                    '0'
                    ], 
                ifcs = [
                    56
                    ], 
                models = [
                    56
                    ], 
                labels = [
                    '0'
                    ], 
                topic_type = '0', 
                topic_status = '0', 
                stage = '0', 
                priority = '0', 
                index = 0, 
                assigned_to = '0', 
                format = '0', 
                due_date = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), 
                comments = [
                    bimdata_api_client.models.comment.Comment(
                        guid = '0', 
                        date = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), 
                        author = '0', 
                        comment = '0', 
                        viewpoint_guid = '0', 
                        reply_to_comment_guid = '0', 
                        topic_guid = '0', 
                        modified_author = '0', 
                        modified_date = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), 
                        viewpoint_temp_id = 56, )
                    ], 
                viewpoints = [
                    bimdata_api_client.models.viewpoint.Viewpoint(
                        index = 0, 
                        guid = '0', 
                        orthogonal_camera = bimdata_api_client.models.orthogonal_camera.OrthogonalCamera(
                            view_to_world_scale = 1.337, 
                            camera_direction = bimdata_api_client.models.direction.Direction(
                                x = 1.337, 
                                y = 1.337, 
                                z = 1.337, ), 
                            camera_up_vector = bimdata_api_client.models.direction.Direction(
                                x = 1.337, 
                                y = 1.337, 
                                z = 1.337, ), 
                            camera_view_point = bimdata_api_client.models.point.Point(
                                x = 1.337, 
                                y = 1.337, 
                                z = 1.337, ), ), 
                        perspective_camera = bimdata_api_client.models.perspective_camera.PerspectiveCamera(
                            field_of_view = 1.337, 
                            camera_direction = bimdata_api_client.models.direction.Direction(
                                x = 1.337, 
                                y = 1.337, 
                                z = 1.337, ), 
                            camera_up_vector = bimdata_api_client.models.direction.Direction(
                                x = 1.337, 
                                y = 1.337, 
                                z = 1.337, ), 
                            camera_view_point = bimdata_api_client.models.point.Point(
                                x = 1.337, 
                                y = 1.337, 
                                z = 1.337, ), 
                            bimdata_camera_direction = bimdata_api_client.models.direction.Direction(
                                x = 1.337, 
                                y = 1.337, 
                                z = 1.337, ), ), 
                        lines = [
                            bimdata_api_client.models.line.Line(
                                end_point = bimdata_api_client.models.point.Point(
                                    x = 1.337, 
                                    y = 1.337, 
                                    z = 1.337, ), 
                                start_point = bimdata_api_client.models.point.Point(
                                    x = 1.337, 
                                    y = 1.337, 
                                    z = 1.337, ), )
                            ], 
                        clipping_planes = [
                            bimdata_api_client.models.clipping_plane.ClippingPlane(
                                location = bimdata_api_client.models.point.Point(
                                    x = 1.337, 
                                    y = 1.337, 
                                    z = 1.337, ), 
                                direction = bimdata_api_client.models.direction.Direction(
                                    x = 1.337, 
                                    y = 1.337, 
                                    z = 1.337, ), )
                            ], 
                        snapshot = bimdata_api_client.models.snapshot.Snapshot(
                            snapshot_type = '0', 
                            snapshot_data = '0', ), 
                        components = bimdata_api_client.models.components_parent.ComponentsParent(
                            coloring = [
                                bimdata_api_client.models.coloring.Coloring(
                                    color = '0', 
                                    components = [
                                        bimdata_api_client.models.component.Component(
                                            ifc_guid = '0', 
                                            originating_system = '0', 
                                            authoring_tool_id = '0', )
                                        ], )
                                ], 
                            visibility = bimdata_api_client.models.visibility.Visibility(
                                default_visibility = True, 
                                exceptions = [
                                    bimdata_api_client.models.component.Component(
                                        ifc_guid = '0', 
                                        originating_system = '0', 
                                        authoring_tool_id = '0', )
                                    ], 
                                view_setup_hints = bimdata_api_client.models.view_setup_hints.ViewSetupHints(
                                    spaces_visible = True, 
                                    space_boundaries_visible = True, 
                                    openings_visible = True, ), ), 
                            selection = [
                                bimdata_api_client.models.component.Component(
                                    ifc_guid = '0', 
                                    originating_system = '0', 
                                    authoring_tool_id = '0', )
                                ], ), 
                        temp_id = 56, )
                    ], 
                project = 56
            )
        else :
            return FullTopic(
                title = '0',
                project = 56,
        )

    def testFullTopic(self):
        """Test FullTopic"""
        inst_req_only = self.make_instance(include_optional=False)
        inst_req_and_optional = self.make_instance(include_optional=True)


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