# 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.analytical_orbital_transfer_request import AnalyticalOrbitalTransferRequest

class TestAnalyticalOrbitalTransferRequest(unittest.TestCase):
    """AnalyticalOrbitalTransferRequest unit test stubs"""

    def setUp(self):
        pass

    def tearDown(self):
        pass

    def make_instance(self, include_optional) -> AnalyticalOrbitalTransferRequest:
        """Test AnalyticalOrbitalTransferRequest
            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 `AnalyticalOrbitalTransferRequest`
        """
        model = AnalyticalOrbitalTransferRequest()
        if include_optional:
            return AnalyticalOrbitalTransferRequest(
                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, ), ),
                final_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, ), ),
                spacecraft = orbital_transfer.models.parametric_spacecraft.ParametricSpacecraft(
                    platform_mass = 1.337, 
                    orbital_average_power = 1.337, 
                    custom_orbital_duty_cycle = True, 
                    orbital_duty_cycle = 1.337, 
                    drag_area = 1.337, 
                    drag_coefficient = 1.337, 
                    solar_radiation_pressure_center_in_spacecraft_frame_x = 1.337, 
                    solar_radiation_pressure_center_in_spacecraft_frame_y = 1.337, 
                    solar_radiation_pressure_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_zx = 1.337, 
                    inertia_zy = 1.337, 
                    inertia_yx = 1.337, 
                    max_angular_rate = 1.337, 
                    min_angular_rate = 1.337, 
                    thruster = orbital_transfer.models.parametric_propulsion_system.ParametricPropulsionSystem(
                        total_impulse = 1.337, 
                        position_in_spacecraft_frame_x = 1.337, 
                        position_in_spacecraft_frame_y = 1.337, 
                        position_in_spacecraft_frame_z = 1.337, 
                        direction_in_spacecraft_frame_x = 1.337, 
                        direction_in_spacecraft_frame_y = 1.337, 
                        direction_in_spacecraft_frame_z = 1.337, 
                        thrust = 1.337, 
                        isp = 1.337, 
                        power = 1.337, 
                        propellant_mass = 1.337, 
                        total_mass = 1.337, 
                        standby_power = 1.337, 
                        warm_up_power = 1.337, 
                        warm_up_duration = 1.337, 
                        propellant_capacity_choice = 'PROPELLANT', ), ),
                drag_perturbation_enabled = True
            )
        else:
            return AnalyticalOrbitalTransferRequest(
        )
        """

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

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