def test_removing_an_unused_mapped_representation(self, ifc, geometry): ifc.get_entity("obj").should_be_called().will_return("element") geometry.is_mapped_representation("mapped_rep").should_be_called().will_return(True) geometry.get_element_type("element").should_be_called().will_return("type") geometry.resolve_mapped_representation("mapped_rep").should_be_called().will_return("representation") geometry.get_representation_data("representation").should_be_called().will_return(None) ifc.run("geometry.unassign_representation", product="type", representation="representation").should_be_called() ifc.run("geometry.remove_representation", representation="representation").should_be_called() subject.remove_representation(ifc, geometry, obj="obj", representation="mapped_rep")
def test_switching_to_non_dynamic_baked_voids(self, geometry): geometry.is_edited("obj").should_be_called().will_return(False) geometry.resolve_mapped_representation("mapped_rep").should_be_called().will_return("representation") geometry.get_representation_data("representation").should_be_called().will_return("data") geometry.change_object_data("obj", "data", is_global=False).should_be_called() geometry.clear_modifiers("obj").should_be_called() subject.switch_representation( geometry, obj="obj", representation="mapped_rep", should_reload=False, enable_dynamic_voids=False, is_global=False, should_sync_changes_first=True, )
def test_removing_an_actively_used_mapped_representation_by_remapping_usages_to_an_empty(self, ifc, geometry): ifc.get_entity("obj").should_be_called().will_return("element") geometry.is_mapped_representation("mapped_rep").should_be_called().will_return(False) geometry.is_type_product("element").should_be_called().will_return(True) geometry.get_element_type("element").should_be_called().will_return("type") geometry.resolve_mapped_representation("mapped_rep").should_be_called().will_return("representation") geometry.get_representation_data("representation").should_be_called().will_return("data") geometry.has_data_users("data").should_be_called().will_return(True) geometry.get_elements_of_type("type").should_be_called().will_return(["element"]) ifc.get_object("element").should_be_called().will_return("obj") geometry.replace_object_with_empty("obj").should_be_called() ifc.get_object("type").should_be_called().will_return("type_obj") geometry.replace_object_with_empty("type_obj").should_be_called() ifc.run("geometry.unassign_representation", product="type", representation="representation").should_be_called() ifc.run("geometry.remove_representation", representation="representation").should_be_called() subject.remove_representation(ifc, geometry, obj="obj", representation="mapped_rep")
def test_updating_a_representation_if_the_blender_object_has_been_edited_prior_to_switching(self, geometry): geometry.is_edited("obj").should_be_called().will_return(True) geometry.is_box_representation("mapped_rep").should_be_called().will_return(False) geometry.get_representation_id("mapped_rep").should_be_called().will_return("representation_id") geometry.run_geometry_update_representation(obj="obj").should_be_called() geometry.does_representation_id_exist("representation_id").should_be_called().will_return(True) geometry.resolve_mapped_representation("mapped_rep").should_be_called().will_return("representation") geometry.get_representation_data("representation").should_be_called().will_return("data") geometry.change_object_data("obj", "data", is_global=False).should_be_called() geometry.clear_modifiers("obj").should_be_called() subject.switch_representation( geometry, obj="obj", representation="mapped_rep", should_reload=False, enable_dynamic_voids=False, is_global=False, should_sync_changes_first=True, )
def test_switching_to_a_freshly_loaded_representation(self, geometry): geometry.is_edited("obj").should_be_called().will_return(False) geometry.resolve_mapped_representation("mapped_rep").should_be_called().will_return("representation") geometry.get_representation_data("representation").should_be_called().will_return(None) geometry.import_representation( "obj", "representation", enable_dynamic_voids=True ).should_be_called().will_return("new_data") geometry.get_representation_name("representation").should_be_called().will_return("name") geometry.rename_object("new_data", "name").should_be_called() geometry.link("representation", "new_data").should_be_called() geometry.change_object_data("obj", "new_data", is_global=True).should_be_called() geometry.clear_modifiers("obj").should_be_called() geometry.is_body_representation("representation").should_be_called().will_return(True) geometry.create_dynamic_voids("obj").should_be_called() subject.switch_representation( geometry, obj="obj", representation="mapped_rep", should_reload=True, enable_dynamic_voids=True, is_global=True, should_sync_changes_first=True, )