# coding: utf-8

"""
    Orbital transfer API

    Orbital transfer API

    The version of the OpenAPI document: 0.0.6
    Generated by OpenAPI Generator (https://openapi-generator.tech)

    Do not edit the class manually.
"""  # noqa: E501


import unittest

from orbital_transfer.models.numerical_orbital_transfer_request import NumericalOrbitalTransferRequest

class TestNumericalOrbitalTransferRequest(unittest.TestCase):
    """NumericalOrbitalTransferRequest unit test stubs"""

    def setUp(self):
        pass

    def tearDown(self):
        pass

    def make_instance(self, include_optional) -> NumericalOrbitalTransferRequest:
        """Test NumericalOrbitalTransferRequest
            include_option is a boolean, when False only required
            params are included, when True both required and
            optional params are included """
        # uncomment below to create an instance of `NumericalOrbitalTransferRequest`
        """
        model = NumericalOrbitalTransferRequest()
        if include_optional:
            return NumericalOrbitalTransferRequest(
                mission_date_time = '',
                maximum_duration = 56,
                propagation_type = 'NUMERICAL',
                spacecraft = orbital_transfer.models.spacecraft.Spacecraft(
                    platform_mass = 1.337, 
                    on_board_average_power = 1.337, 
                    duty_cycle = 1.337, 
                    thrust_duration = 1.337, 
                    drag_coefficient = 1.337, 
                    lift_ratio = 1.337, 
                    absorption_coefficient = 1.337, 
                    reflection_coefficient = 1.337, 
                    platform_power = 1.337, 
                    max_angular_velocity = 1.337, 
                    max_angular_acceleration = 1.337, 
                    thruster = orbital_transfer.models.propulsion_system.propulsionSystem(
                        isp = 1.337, 
                        power = 1.337, 
                        thrust = 1.337, 
                        standby_power = 1.337, 
                        warm_up_power = 1.337, 
                        warm_up_duration = 1.337, 
                        propellant_mass = 1.337, 
                        total_mass = 1.337, 
                        total_impulse = 1.337, 
                        maximum_thrust_duration = 1.337, 
                        propellant_capacity_choice = 'PROPELLANT', 
                        propulsion_system_type = 'CHEMICAL', ), 
                    spacecraft_geometry = orbital_transfer.models.spacecraft_geometry.SpacecraftGeometry(
                        x = 1.337, 
                        y = 1.337, 
                        z = 1.337, 
                        inertial_center_in_spacecraft_frame_x = 1.337, 
                        inertial_center_in_spacecraft_frame_y = 1.337, 
                        inertial_center_in_spacecraft_frame_z = 1.337, 
                        inertia_xx = 1.337, 
                        inertia_xy = 1.337, 
                        inertia_xz = 1.337, 
                        inertia_yy = 1.337, 
                        inertia_yz = 1.337, 
                        inertia_zz = 1.337, 
                        inertia_zy = 1.337, 
                        inertia_zx = 1.337, 
                        inertia_yx = 1.337, 
                        thruster_axis_in_satellite_frame_x = 1.337, 
                        thruster_axis_in_satellite_frame_y = 1.337, 
                        thruster_axis_in_satellite_frame_z = 1.337, 
                        body_solar_array_faces = [
                            'PLUS_X'
                            ], 
                        solar_array_efficiency = 1.337, 
                        solar_array_maximum_power = 1.337, 
                        solar_array_surface = 1.337, 
                        solar_array_axis_in_satellite_frame_x = 1.337, 
                        solar_array_axis_in_satellite_frame_y = 1.337, 
                        solar_array_axis_in_satellite_frame_z = 1.337, 
                        solar_array_normal_in_satellite_frame_x = 1.337, 
                        solar_array_normal_in_satellite_frame_y = 1.337, 
                        solar_array_normal_in_satellite_frame_z = 1.337, 
                        payload_pointing_axis_in_satellite_frame_x = 1.337, 
                        payload_pointing_axis_in_satellite_frame_y = 1.337, 
                        payload_pointing_axis_in_satellite_frame_z = 1.337, 
                        antenna_pointing_axis_in_satellite_frame_x = 1.337, 
                        antenna_pointing_axis_in_satellite_frame_y = 1.337, 
                        antenna_pointing_axis_in_satellite_frame_z = 1.337, 
                        spherical_cross_section = 1.337, 
                        solar_array_definition_type = 'MAXIMUM_POWER', 
                        solar_array_type = 'BODY', 
                        type = 'SPHERE', ), ),
                initial_orbit = orbital_transfer.models.orbit.Orbit(
                    inclination = 1.337, 
                    sma = 1.337, 
                    eccentricity = 1.337, 
                    parameters = orbital_transfer.models.orbit_parameters.OrbitParameters(), 
                    advanced_parameters = orbital_transfer.models.advanced_orbit_parameters.AdvancedOrbitParameters(
                        orbit_date = '', 
                        ascending_node_type = 'RAAN', 
                        raan = 1.337, 
                        mltan = 1.337, 
                        anomaly = 1.337, 
                        anomaly_type = 'TRUE', 
                        orbital_element_type = 'MEAN', 
                        perigee_argument = 1.337, ), ),
                target_orbit = orbital_transfer.models.orbit.Orbit(
                    inclination = 1.337, 
                    sma = 1.337, 
                    eccentricity = 1.337, 
                    parameters = orbital_transfer.models.orbit_parameters.OrbitParameters(), 
                    advanced_parameters = orbital_transfer.models.advanced_orbit_parameters.AdvancedOrbitParameters(
                        orbit_date = '', 
                        ascending_node_type = 'RAAN', 
                        raan = 1.337, 
                        mltan = 1.337, 
                        anomaly = 1.337, 
                        anomaly_type = 'TRUE', 
                        orbital_element_type = 'MEAN', 
                        perigee_argument = 1.337, ), ),
                perturbations = [
                    'DRAG'
                    ],
                ephemerides_requested = [
                    'CARTESIAN'
                    ],
                ephemerides_step_in_seconds = 1.337,
                ephemerides_mean_choice = True,
                ephemerides_osc_choice = True,
                custom_solar_flux = 1.337,
                custom_earth_potential_order = 56,
                custom_earth_potential_degree = 56,
                with_eclipse = True
            )
        else:
            return NumericalOrbitalTransferRequest(
                propagation_type = 'NUMERICAL',
                spacecraft = orbital_transfer.models.spacecraft.Spacecraft(
                    platform_mass = 1.337, 
                    on_board_average_power = 1.337, 
                    duty_cycle = 1.337, 
                    thrust_duration = 1.337, 
                    drag_coefficient = 1.337, 
                    lift_ratio = 1.337, 
                    absorption_coefficient = 1.337, 
                    reflection_coefficient = 1.337, 
                    platform_power = 1.337, 
                    max_angular_velocity = 1.337, 
                    max_angular_acceleration = 1.337, 
                    thruster = orbital_transfer.models.propulsion_system.propulsionSystem(
                        isp = 1.337, 
                        power = 1.337, 
                        thrust = 1.337, 
                        standby_power = 1.337, 
                        warm_up_power = 1.337, 
                        warm_up_duration = 1.337, 
                        propellant_mass = 1.337, 
                        total_mass = 1.337, 
                        total_impulse = 1.337, 
                        maximum_thrust_duration = 1.337, 
                        propellant_capacity_choice = 'PROPELLANT', 
                        propulsion_system_type = 'CHEMICAL', ), 
                    spacecraft_geometry = orbital_transfer.models.spacecraft_geometry.SpacecraftGeometry(
                        x = 1.337, 
                        y = 1.337, 
                        z = 1.337, 
                        inertial_center_in_spacecraft_frame_x = 1.337, 
                        inertial_center_in_spacecraft_frame_y = 1.337, 
                        inertial_center_in_spacecraft_frame_z = 1.337, 
                        inertia_xx = 1.337, 
                        inertia_xy = 1.337, 
                        inertia_xz = 1.337, 
                        inertia_yy = 1.337, 
                        inertia_yz = 1.337, 
                        inertia_zz = 1.337, 
                        inertia_zy = 1.337, 
                        inertia_zx = 1.337, 
                        inertia_yx = 1.337, 
                        thruster_axis_in_satellite_frame_x = 1.337, 
                        thruster_axis_in_satellite_frame_y = 1.337, 
                        thruster_axis_in_satellite_frame_z = 1.337, 
                        body_solar_array_faces = [
                            'PLUS_X'
                            ], 
                        solar_array_efficiency = 1.337, 
                        solar_array_maximum_power = 1.337, 
                        solar_array_surface = 1.337, 
                        solar_array_axis_in_satellite_frame_x = 1.337, 
                        solar_array_axis_in_satellite_frame_y = 1.337, 
                        solar_array_axis_in_satellite_frame_z = 1.337, 
                        solar_array_normal_in_satellite_frame_x = 1.337, 
                        solar_array_normal_in_satellite_frame_y = 1.337, 
                        solar_array_normal_in_satellite_frame_z = 1.337, 
                        payload_pointing_axis_in_satellite_frame_x = 1.337, 
                        payload_pointing_axis_in_satellite_frame_y = 1.337, 
                        payload_pointing_axis_in_satellite_frame_z = 1.337, 
                        antenna_pointing_axis_in_satellite_frame_x = 1.337, 
                        antenna_pointing_axis_in_satellite_frame_y = 1.337, 
                        antenna_pointing_axis_in_satellite_frame_z = 1.337, 
                        spherical_cross_section = 1.337, 
                        solar_array_definition_type = 'MAXIMUM_POWER', 
                        solar_array_type = 'BODY', 
                        type = 'SPHERE', ), ),
                initial_orbit = orbital_transfer.models.orbit.Orbit(
                    inclination = 1.337, 
                    sma = 1.337, 
                    eccentricity = 1.337, 
                    parameters = orbital_transfer.models.orbit_parameters.OrbitParameters(), 
                    advanced_parameters = orbital_transfer.models.advanced_orbit_parameters.AdvancedOrbitParameters(
                        orbit_date = '', 
                        ascending_node_type = 'RAAN', 
                        raan = 1.337, 
                        mltan = 1.337, 
                        anomaly = 1.337, 
                        anomaly_type = 'TRUE', 
                        orbital_element_type = 'MEAN', 
                        perigee_argument = 1.337, ), ),
                target_orbit = orbital_transfer.models.orbit.Orbit(
                    inclination = 1.337, 
                    sma = 1.337, 
                    eccentricity = 1.337, 
                    parameters = orbital_transfer.models.orbit_parameters.OrbitParameters(), 
                    advanced_parameters = orbital_transfer.models.advanced_orbit_parameters.AdvancedOrbitParameters(
                        orbit_date = '', 
                        ascending_node_type = 'RAAN', 
                        raan = 1.337, 
                        mltan = 1.337, 
                        anomaly = 1.337, 
                        anomaly_type = 'TRUE', 
                        orbital_element_type = 'MEAN', 
                        perigee_argument = 1.337, ), ),
        )
        """

    def testNumericalOrbitalTransferRequest(self):
        """Test NumericalOrbitalTransferRequest"""
        # inst_req_only = self.make_instance(include_optional=False)
        # inst_req_and_optional = self.make_instance(include_optional=True)

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