def test_everything_missing_parachute_3d(self): aero_file = AeroFile(test_path / "data_files" / "3d_aero.aero") with self.assertRaises(AttributeError): aero_file.setup_aerodynamic_forces_moments_calculation( input_parameters={"mach"}, output_dimensions=3, default_alpha=None)
def test_coefficient_model_is_missing_aerodynamic_input_parameters_parachute_1d( self): aero_file = AeroFile(test_path / "data_files" / "Missing_aerodynamic_input_1D.yaml") with self.assertRaises(AttributeError): aero_file.setup_aerodynamic_forces_moments_calculation( input_parameters={"mach"}, output_dimensions=1)
def test_alpha_dcm_missing_default_alpha_missing_parachute_2d(self): aero_file = AeroFile(test_path / "data_files" / "3d_aero.aero") with self.assertRaisesRegex( AttributeError, r"2d aerodynamic calculations require either 'alpha' or 'dcm_ab' to be input parameters\." ): aero_file.setup_aerodynamic_forces_moments_calculation( input_parameters={"beta", "mach"}, output_dimensions=2, default_alpha=None)
def test_invalid_dimension(self): aero_file = AeroFile(test_path / "data_files" / "3d_aero.aero") for i in range(4, 8): with self.subTest(k=i): with self.assertRaisesRegex( ValueError, f"'{i}' is an invalid value for 'output_dimensions'\." ): aero_file.setup_aerodynamic_forces_moments_calculation( {'alpha', 'mach', 'beta'}, i)
def test_setup_aerodynamic_forces_moments_calculation_simple(self): aero_file = AeroFile(test_path / "data_files" / "3d_aero.aero") code = aero_file.setup_aerodynamic_forces_moments_calculation( input_parameters={"alpha"}, output_dimensions=3, )
def test_dcm_missing_parachute_2d(self): aero_file = AeroFile(test_path / "data_files" / "3d_aero.aero") code = aero_file.setup_aerodynamic_forces_moments_calculation( input_parameters={"alpha", "beta", "mach"}, output_dimensions=2) # print("test_dcm_missing") # code_print(code) self.assert_md5(code, "07da3fc6f5c192cd91eb0da7dc6cd5e8")
def test_alpha_dcm_missing_use_defeault_alpha_parachute_2d(self): aero_file = AeroFile(test_path / "data_files" / "3d_aero.aero") code = aero_file.setup_aerodynamic_forces_moments_calculation( input_parameters={"beta", "mach"}, output_dimensions=2) # print("test_alpha_dcm_missing") # code_print(code) self.assert_md5(code, "0aa6f2fe6e787a56aab2ae47898186b1")
def test_alpha_and_beta_missing_parachute_3d(self): aero_file = AeroFile(test_path / "data_files" / "3d_aero.aero") code = aero_file.setup_aerodynamic_forces_moments_calculation( input_parameters={"mach", "dcm_ab"}, output_dimensions=3) # print("test_alpha_beta_missing") # code_print(code) self.assert_md5(code, "4fc7d5906af7f7e5734d413fd1665b3c")
def test_calculate_dcm_from_default_alpha_and_beta_parachute_3d(self): aero_file = AeroFile(test_path / "data_files" / "3d_aero.aero") code = aero_file.setup_aerodynamic_forces_moments_calculation( input_parameters={"beta", "mach"}, output_dimensions=3) # print("test_calculate_dcm_from_default_alpha_and_beta_3d") # code_print(code) self.assert_md5(code, "fa32af0ac4240f54ba57cae075027cfb")
def test_discard_dcm_parachute_3d(self): aero_file = AeroFile(test_path / "data_files" / "3d_aero.aero") code = aero_file.setup_aerodynamic_forces_moments_calculation( input_parameters={"alpha", "beta", "mach", "dcm_ab"}, output_dimensions=3) self.assertEqual(aero_file.aero_parameter_names, {"alpha", "beta", "mach"})
def test_calculate_dcm_from_alpha_and_default_beta_parachute_3d(self): aero_file = AeroFile(test_path / "data_files" / "3d_aero.aero") code = aero_file.setup_aerodynamic_forces_moments_calculation( input_parameters={"alpha", "mach"}, output_dimensions=3) # print("test_calculate_dcm_from_alpha_default_beta_3d") # code_print(code) self.assert_md5(code, "1be66bf6b65e1ef7646ff1d75f362323")
def test_dcm_missing_parachute_3d(self): aero_file = AeroFile(test_path / "data_files" / "3d_aero.aero") code = aero_file.setup_aerodynamic_forces_moments_calculation( input_parameters={"mach", "alpha", "beta"}, output_dimensions=3) # print("test_dcm_missing") # code_print(code) self.assert_md5(code, "966128c6c4c27d523baa9fa22721a233")
def test_alpha_missing_parachute_2d(self): aero_file = AeroFile(test_path / "data_files" / "3d_aero.aero") code = aero_file.setup_aerodynamic_forces_moments_calculation( input_parameters={"dcm_ab", "beta", "mach"}, output_dimensions=2) # print("test_alpha_missing") # code_print(code) self.assert_md5(code, "3ee941c7cb34d83af6acced41038fa50")
def test_calculate_dcm_from_default_alpha_and_default_beta_parachute_3d( self): aero_file = AeroFile(test_path / "data_files" / "3d_aero.aero") code = aero_file.setup_aerodynamic_forces_moments_calculation( input_parameters={"mach"}, output_dimensions=3) # print("test_calculate_dcm_from_default_alpha_and_default_beta_3d") # code_print(code) self.assert_md5(code, "374ffe1ba1b6f65df8a745fbd892956a")
def test_nothing_missing_parachute_3d(self): aero_file = AeroFile(test_path / "data_files" / "3d_aero.aero") code = aero_file.setup_aerodynamic_forces_moments_calculation( input_parameters={"alpha", "beta", "mach", "dcm_ab"}, output_dimensions=3) # print("test_nothing_missing") # code_print(code) self.assert_md5(code, "c3d3e420bee34e1f240c7865ca08b1a2")
def test_alpha_dcm_available_parachute_2d(self): aero_file = AeroFile(test_path / "data_files" / "3d_aero.aero") code = aero_file.setup_aerodynamic_forces_moments_calculation( input_parameters={"alpha", "beta", "mach", "dcm_ab"}, output_dimensions=2) # print("test_alpha_dcm_available") # code_print(code) self.assert_md5(code, "995ce2376db78884bc4ecf7106792ae3")
def test_aerodynamic_model_missing_required_coefficient(self): aero_file = AeroFile(test_path / "data_files" / "aero_para_simple.yaml") code = aero_file.setup_aerodynamic_forces_moments_calculation( input_parameters={"alpha", "beta", "mach"}, output_dimensions=2) # print("") # print(code) # code_print(code) self.assert_md5(code, "ff4d6f485e1c0e42b662e57f082ce907")
def test_no_aerodynamics_parachute_1d(self): aero_file = AeroFile(test_path / "data_files" / "no_aero_dynamics_parachute_1D.yaml") code = aero_file.setup_aerodynamic_forces_moments_calculation( input_parameters={"mach"}, output_dimensions=1) # print("test_no_aerodynamics_parachute_1D") # print("test_no_aerodynamics_parachute_1D") # print(code) # code_print(code) self.assert_md5(code, "8255a47a2a62c10f16a45426a0d4fd01")
def test_setup_aerodynamic_forces_moments_calculation_parachute_3d(self): aero_file = AeroFile(test_path / "data_files" / "aero_para_simple.yaml") code = aero_file.setup_aerodynamic_forces_moments_calculation( input_parameters={"alpha", "beta", "mach"}, output_dimensions=3, # default_alpha=1.0 ) print("test_setup_aerodynamic_forces_moments_calculation_parachute_3d") code_print(code) md5_obj = md5() md5_obj.update(code.encode("utf-8")) hash = md5_obj.hexdigest() self.assertEqual(hash, "da4b66f5119ad6a87aeb3a2fed675fd1")
def test_setup_aerodynamic_forces_moments_calculation_parachute_2d(self): aero_file = AeroFile(test_path / "data_files" / "aero_para_simple.yaml") code = aero_file.setup_aerodynamic_forces_moments_calculation( input_parameters={"alpha", "beta", "mach"}, output_dimensions=2, # default_alpha=1.0 ) print("test_setup_aerodynamic_forces_moments_calculation_parachute_2d") code_print(code) md5_obj = md5() md5_obj.update(code.encode("utf-8")) hash = md5_obj.hexdigest() self.assertEqual(hash, "ff4d6f485e1c0e42b662e57f082ce907")