# 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.sound_settings import SoundSettings  # noqa: E501
from mozart_api.rest import ApiException


class TestSoundSettings(unittest.TestCase):
    """SoundSettings unit test stubs"""

    def setUp(self):
        pass

    def tearDown(self):
        pass

    def make_instance(self, include_optional):
        """Test SoundSettings
        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.sound_settings.SoundSettings()  # noqa: E501
        if include_optional:
            return SoundSettings(
                adjustments=mozart_api.models.sound_adjustments.SoundAdjustments(
                    ambience=1.337,
                    bass=56,
                    directivity="0",
                    eco_mode=True,
                    fadein=True,
                    loudness=True,
                    treble=56,
                ),
                room_compensation=mozart_api.models.room_compensation_info.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,
                    ),
                ),
                tone_touch=mozart_api.models.sound_tone_touch.SoundToneTouch(
                    x=1.337,
                    y=1.337,
                    z=1.337,
                ),
            )
        else:
            return SoundSettings()

    def testSoundSettings(self):
        """Test SoundSettings"""
        inst_req_only = self.make_instance(include_optional=False)
        inst_req_and_optional = self.make_instance(include_optional=True)


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