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

class TestRawElements(unittest.TestCase):
    """RawElements unit test stubs"""

    def setUp(self):
        pass

    def tearDown(self):
        pass

    def make_instance(self, include_optional):
        """Test RawElements
            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.raw_elements.RawElements()  # noqa: E501
        if include_optional :
            return RawElements(
                units = [
                    bimdata_api_client.models.raw_unit.RawUnit(
                        id = 56, 
                        name = '0', 
                        type = '0', 
                        unit_type = '0', 
                        prefix = '0', 
                        elements = bimdata_api_client.models.elements.Elements(), 
                        conversion_factor = 1.337, 
                        dimensions = [
                            1.337
                            ], 
                        conversion_baseunit_index = 56, 
                        is_default = True, )
                    ], 
                definitions = [
                    bimdata_api_client.models.raw_definition.RawDefinition(
                        id = 56, 
                        description = '0', 
                        name = '0', 
                        type = '0', 
                        value_type = '0', 
                        unit_id = 56, )
                    ], 
                property_sets = [
                    bimdata_api_client.models.raw_property_set.RawPropertySet(
                        id = 56, 
                        description = '0', 
                        name = '0', 
                        type = '0', 
                        properties = [
                            bimdata_api_client.models.raw_property.RawProperty(
                                id = 56, 
                                value = bimdata_api_client.models.value.Value(), 
                                def_id = 56, )
                            ], )
                    ], 
                classifications = [
                    bimdata_api_client.models.raw_classification.RawClassification(
                        id = 56, 
                        type = '0', 
                        notation = '0', 
                        description = '0', )
                    ], 
                layers = [
                    bimdata_api_client.models.raw_layer.RawLayer(
                        id = 56, 
                        name = '0', 
                        description = '0', 
                        identifier = '0', )
                    ], 
                systems = [
                    bimdata_api_client.models.raw_system.RawSystem(
                        uuid = '0', 
                        name = '0', 
                        description = '0', 
                        object_type = '0', )
                    ], 
                materials = bimdata_api_client.models.raw_material_list.RawMaterialList(
                    materials_data = [
                        bimdata_api_client.models.raw_material.RawMaterial(
                            id = 56, 
                            step_id = 56, 
                            name = '0', 
                            description = '0', 
                            category = '0', 
                            psets = [
                                56
                                ], )
                        ], 
                    list_components = [
                        bimdata_api_client.models.raw_material_list_components.RawMaterialListComponents(
                            id = 56, 
                            material = 56, 
                            material_option = 56, )
                        ], 
                    options = [
                        bimdata_api_client.models.raw_material_options.RawMaterialOptions(
                            id = 56, 
                            thickness = 1.337, 
                            material_list = [
                                56
                                ], )
                        ], ), 
                elements = [
                    bimdata_api_client.models.raw_element.RawElement(
                        uuid = '0', 
                        type = '0', 
                        attributes = 56, 
                        material_list = [
                            56
                            ], 
                        psets = [
                            56
                            ], 
                        classifications = [
                            56
                            ], 
                        layers = [
                            56
                            ], 
                        systems = [
                            56
                            ], )
                    ]
            )
        else :
            return RawElements(
                elements = [
                    bimdata_api_client.models.raw_element.RawElement(
                        uuid = '0', 
                        type = '0', 
                        attributes = 56, 
                        material_list = [
                            56
                            ], 
                        psets = [
                            56
                            ], 
                        classifications = [
                            56
                            ], 
                        layers = [
                            56
                            ], 
                        systems = [
                            56
                            ], )
                    ],
        )

    def testRawElements(self):
        """Test RawElements"""
        inst_req_only = self.make_instance(include_optional=False)
        inst_req_and_optional = self.make_instance(include_optional=True)


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