# 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.viewpoint import Viewpoint  # noqa: E501
from bimdata_api_client.rest import ApiException

class TestViewpoint(unittest.TestCase):
    """Viewpoint unit test stubs"""

    def setUp(self):
        pass

    def tearDown(self):
        pass

    def make_instance(self, include_optional):
        """Test Viewpoint
            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.viewpoint.Viewpoint()  # noqa: E501
        if include_optional :
            return 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
            )
        else :
            return Viewpoint(
        )

    def testViewpoint(self):
        """Test Viewpoint"""
        inst_req_only = self.make_instance(include_optional=False)
        inst_req_and_optional = self.make_instance(include_optional=True)


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