def test_import_mqo_object_with_texture(self): # TODO: because blender crash at bpy.ops.object.material_slot_assign(), # we can not test in Blender 2.8 if common.check_version(2, 80, 0) >= 0: return filepath = "{}/{}/texture.mqo".format( os.path.dirname(os.path.abspath(__file__)), MQO_FILE_DIR) bpy.ops.import_scene.blmqo_ot_import_mqo('EXEC_DEFAULT', filepath=filepath, add_import_prefix=False, import_prefix="") self.assertEqual(len(bpy.data.objects), 1, "Number of imported objects") self.assertEqual(len(bpy.data.materials), 1, "Number of imported materials") self.assertEqual(len(bpy.data.images), 1, "Number of imported images") mqo_file = MqoFile() mqo_file.load(filepath) self._valid_object(mqo_file, "obj1", 8, 6) self._valid_material(mqo_file, "obj1", "mat1") self._valid_uvs(mqo_file, "obj1")
def test_export_mqo_object_with_texture(self): # TODO: because blender crash at bpy.ops.object.material_slot_assign(), # we can not test in Blender 2.8 if common.check_version(2, 80, 0) >= 0: return import_filepath = "{}/{}/texture.mqo".format( os.path.dirname(os.path.abspath(__file__)), MQO_FILE_DIR) bpy.ops.import_scene.blmqo_ot_import_mqo('EXEC_DEFAULT', filepath=import_filepath, add_import_prefix=False, import_prefix="") export_filepath = "{}/texture.mqo".format(EXPORTED_DIR, MQO_FILE_DIR) bpy.ops.export_scene.blmqo_ot_export_mqo('EXEC_DEFAULT', filepath=export_filepath, add_export_prefix=False, export_prefix="") export_mqo_file = MqoFile() export_mqo_file.load(export_filepath) import_mqo_file = MqoFile() import_mqo_file.load(import_filepath) self._is_same_mqo_file(export_mqo_file, import_mqo_file)
def test_import_mqo_single_object(self): filepath = "{}/{}/single_object.mqo".format( os.path.dirname(os.path.abspath(__file__)), MQO_FILE_DIR) bpy.ops.import_scene.blmqo_ot_import_mqo('EXEC_DEFAULT', filepath=filepath, add_import_prefix=False, import_prefix="") self.assertEqual(len(bpy.data.objects), 1, "Number of imported objects") self.assertEqual(len(bpy.data.materials), 0, "Number of imported materials") self.assertEqual(len(bpy.data.images), 0, "Number of imported images") mqo_file = MqoFile() mqo_file.load(filepath) self._valid_object(mqo_file, "obj1", 8, 6)
def test_export_no_object(self): export_filepath = "{}/no_object.mqo".format(EXPORTED_DIR, MQO_FILE_DIR) bpy.ops.export_scene.blmqo_ot_export_mqo('EXEC_DEFAULT', filepath=export_filepath) export_mqo_file = MqoFile() export_mqo_file.load(export_filepath) import_filepath = "{}/{}/scene.mqo".format( os.path.dirname(os.path.abspath(__file__)), MQO_FILE_DIR) import_mqo_file = MqoFile() import_mqo_file.load(import_filepath) self._is_same_mqo_file(export_mqo_file, import_mqo_file)
def test_export_single_object(self): import_filepath = "{}/{}/single_object.mqo".format( os.path.dirname(os.path.abspath(__file__)), MQO_FILE_DIR) bpy.ops.import_scene.blmqo_ot_import_mqo('EXEC_DEFAULT', filepath=import_filepath, add_import_prefix=False, import_prefix="") export_filepath = "{}/single_object.mqo".format(EXPORTED_DIR, MQO_FILE_DIR) bpy.ops.export_scene.blmqo_ot_export_mqo('EXEC_DEFAULT', filepath=export_filepath, add_export_prefix=False, export_prefix="") export_mqo_file = MqoFile() export_mqo_file.load(export_filepath) import_mqo_file = MqoFile() import_mqo_file.load(import_filepath) self._is_same_mqo_file(export_mqo_file, import_mqo_file)
def test_export_mqo_object_with_mirrored(self): import_filepath = "{}/{}/mirrored.mqo".format( os.path.dirname(os.path.abspath(__file__)), MQO_FILE_DIR) bpy.ops.import_scene.blmqo_ot_import_mqo('EXEC_DEFAULT', filepath=import_filepath, add_import_prefix=False, import_prefix="") export_filepath = "{}/mirrored.mqo".format(EXPORTED_DIR, MQO_FILE_DIR) bpy.ops.export_scene.blmqo_ot_export_mqo('EXEC_DEFAULT', filepath=export_filepath, add_export_prefix=False, export_prefix="") export_mqo_file = MqoFile() export_mqo_file.load(export_filepath) import_mqo_file = MqoFile() import_mqo_file.load(import_filepath) self.assertTrue(common.is_same(export_mqo_file.header, import_mqo_file.header)) self.assertTrue(common.is_same(export_mqo_file.version, import_mqo_file.version)) self.assertTrue(common.is_same(export_mqo_file.format, import_mqo_file.format)) self.assertEqual(len(export_mqo_file.get_materials()), len(import_mqo_file.get_materials())) for exp_mtrl, imp_mtrl in zip(export_mqo_file.get_materials(), import_mqo_file.get_materials()): self._is_same_mtrl(exp_mtrl, imp_mtrl) self.assertEqual(len(export_mqo_file.get_objects()), len(import_mqo_file.get_objects())) for exp_obj, imp_obj in zip(export_mqo_file.get_objects(), import_mqo_file.get_objects()): self.assertTrue(common.is_same(exp_obj.name, imp_obj.name)) self.assertTrue(common.is_same(exp_obj.scale, imp_obj.scale)) self.assertTrue(common.is_same(exp_obj.rotation, imp_obj.rotation)) self.assertTrue(common.is_same(exp_obj.translation, imp_obj.translation)) self.assertEqual(len(exp_obj.get_vertices()), 12) for exp_vert, imp_vert in zip(exp_obj.get_vertices(), imp_obj.get_vertices()[0:4]): self.assertTrue(common.is_same(exp_vert, imp_vert)) self.assertEqual(len(exp_obj.get_faces(uniq=True)), 10) self.assertTrue(exp_obj.get_faces(uniq=True)[0] .is_same(imp_obj.get_faces(uniq=True)[0]))