# coding: utf-8

"""
    Mozart platform API

    API for interacting with the Mozart platform.  # noqa: E501

    The version of the OpenAPI document: 0.2.0
    Contact: support@bang-olufsen.dk
    Generated by: https://openapi-generator.tech
"""


from __future__ import absolute_import

import unittest
import datetime

import mozart_api
from mozart_api.models.room_compensation_info import RoomCompensationInfo  # noqa: E501
from mozart_api.rest import ApiException


class TestRoomCompensationInfo(unittest.TestCase):
    """RoomCompensationInfo unit test stubs"""

    def setUp(self):
        pass

    def tearDown(self):
        pass

    def make_instance(self, include_optional):
        """Test RoomCompensationInfo
        include_option is a boolean, when False only required
        params are included, when True both required and
        optional params are included"""
        # model = mozart_api.models.room_compensation_info.RoomCompensationInfo()  # noqa: E501
        if include_optional:
            return RoomCompensationInfo(
                debug=mozart_api.models.room_compensation_debug.RoomCompensationDebug(
                    value=True,
                ),
                enabled=mozart_api.models.room_compensation_enabled.RoomCompensationEnabled(
                    value=True,
                ),
                last_result=mozart_api.models.room_compensation_result.RoomCompensationResult(
                    compensation=[
                        mozart_api.models.room_compensation_response.RoomCompensationResponse(
                            frequency=56,
                            gain=1.337,
                        )
                    ],
                    measured_response=[
                        mozart_api.models.room_compensation_response.RoomCompensationResponse(
                            frequency=56,
                            gain=1.337,
                        )
                    ],
                    placement="free",
                    reference_response=[
                        mozart_api.models.room_compensation_response.RoomCompensationResponse(
                            frequency=56,
                            gain=1.337,
                        )
                    ],
                    speaker_group_suggestion=mozart_api.models.speaker_group.SpeakerGroup(
                        crossover_frequency=20,
                        enable_phase_compensation=True,
                        friendly_name="0",
                        id="0",
                        is_deleteable=True,
                        items=[
                            mozart_api.models.speaker_group_member.SpeakerGroupMember(
                                distance=0,
                                friendly_name="0",
                                gain=-24,
                                id="0",
                                location=mozart_api.models.speaker_group_member_location.SpeakerGroupMember_location(
                                    x=56,
                                    y=56,
                                    z=56,
                                ),
                                redirection_level=-100,
                                role="0",
                                type="0",
                            )
                        ],
                        room_compensation_id="0",
                        speaker_preset=0,
                    ),
                    time_stamp=datetime.datetime.strptime(
                        "2013-10-20 19:20:30.00", "%Y-%m-%d %H:%M:%S.%f"
                    ),
                ),
                last_run=null,
                type=mozart_api.models.room_compensation_type.RoomCompensationType(
                    value="simple",
                ),
                version=mozart_api.models.room_compensation_version.RoomCompensationVersion(
                    algorithm=0,
                    coefficients=0,
                ),
            )
        else:
            return RoomCompensationInfo()

    def testRoomCompensationInfo(self):
        """Test RoomCompensationInfo"""
        inst_req_only = self.make_instance(include_optional=False)
        inst_req_and_optional = self.make_instance(include_optional=True)


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