def test_noExtruders(self, build_volume: BuildVolume): mocked_stack = MagicMock() mocked_stack.getProperty = MagicMock(side_effect=self.getPropertySideEffect) build_volume._global_container_stack = mocked_stack # No extruders, so still expect that we get no area assert build_volume._computeDisallowedAreasPrimeBlob(12, []) == {}
def test_unknownAdhesion(self, build_volume: BuildVolume): build_volume._global_container_stack = self.createMockedStack() with patch("cura.Settings.ExtruderManager.ExtruderManager.getInstance"): #with pytest.raises(Exception): # Since we don't have any adhesion set, this should break. build_volume.getEdgeDisallowedSize()
def test_computeDisallowedAreasStaticNoExtruder(self, build_volume: BuildVolume): mocked_stack = MagicMock() mocked_stack.getProperty = MagicMock( side_effect=self.getPropertySideEffect) build_volume._global_container_stack = mocked_stack assert build_volume._computeDisallowedAreasStatic(0, []) == {}
def test_oneAtATime(self, build_volume: BuildVolume): build_volume._global_container_stack = self.createMockedStack() with patch( "cura.Settings.ExtruderManager.ExtruderManager.getInstance"): with patch.dict(self.setting_property_dict, {"print_sequence": { "value": "one_at_a_time" }}): assert build_volume.getEdgeDisallowedSize() == 0.1
def test_happy(self, build_volume: BuildVolume): mocked_global_stack = MagicMock(name="mocked_global_stack") mocked_global_stack.getProperty = MagicMock(side_effect=self.getPropertySideEffect) build_volume._global_container_stack = mocked_global_stack build_volume._updateMachineSizeProperties() assert build_volume._width == 50 assert build_volume._height == 200 assert build_volume._depth == 100 assert build_volume._shape == "DERP!"
def test_simple(self, build_volume: BuildVolume): build_volume.raftThicknessChanged = MagicMock() mocked_global_stack = self.createMockedStack() build_volume._global_container_stack = mocked_global_stack assert build_volume.getRaftThickness() == 0 build_volume._updateRaftThickness() assert build_volume.getRaftThickness() == 3 assert build_volume.raftThicknessChanged.emit.call_count == 1
def test_simple(self, build_volume: BuildVolume): build_volume.raftThicknessChanged = MagicMock() mocked_global_stack = self.createMockedStack() build_volume._global_container_stack = mocked_global_stack assert build_volume.getRaftThickness() == 0 build_volume._updateRaftThickness() assert build_volume.getRaftThickness( ) == 6 # 1 base layer of 1mm, 2 interface layers of 1mm each, 3 surface layer of 1mm. assert build_volume.raftThicknessChanged.emit.call_count == 1
def test_withRetractionHop(self, build_volume: BuildVolume): mocked_global_stack = MagicMock(name="mocked_global_stack") mocked_extruder = MagicMock() mocked_extruder.getProperty = MagicMock(side_effect=self.getPropertySideEffect) build_volume._global_container_stack = mocked_global_stack # It should be 12 because we have the hop enabled and the hop distance is set to 12 assert build_volume._calculateExtraZClearance([mocked_extruder]) == 12
def test_adhesionIsNotRaft(self, build_volume: BuildVolume): patched_dictionary = self.setting_property_dict.copy() patched_dictionary["adhesion_type"] = {"value": "not_raft"} mocked_global_stack = self.createMockedStack() build_volume._global_container_stack = mocked_global_stack assert build_volume.getRaftThickness() == 0 with patch.dict(self.setting_property_dict, patched_dictionary): build_volume._updateRaftThickness() assert build_volume.getRaftThickness() == 0
def test_computeDisalowedAreasStaticSingleExtruder(self, build_volume: BuildVolume): mocked_stack = MagicMock() mocked_stack.getProperty = MagicMock(side_effect=self.getPropertySideEffect) mocked_extruder = MagicMock() mocked_extruder.getProperty = MagicMock(side_effect=self.getPropertySideEffect) mocked_extruder.getId = MagicMock(return_value = "zomg") build_volume._global_container_stack = mocked_stack with patch("cura.Settings.ExtruderManager.ExtruderManager.getInstance"): result = build_volume._computeDisallowedAreasStatic(0, [mocked_extruder]) assert result == {"zomg": [Polygon([[-84.0, 102.5], [-115.0, 102.5], [-200.0, 112.5], [-82.0, 112.5]])]}
def test_withoutRetractionHop(self, build_volume: BuildVolume): mocked_global_stack = MagicMock(name="mocked_global_stack") mocked_extruder = MagicMock() mocked_extruder.getProperty = MagicMock(side_effect=self.getPropertySideEffect) build_volume._global_container_stack = mocked_global_stack patched_dictionary = self.setting_property_dict.copy() patched_dictionary["retraction_hop_enabled"] = {"value": False} with patch.dict(self.setting_property_dict, patched_dictionary): # It should be 12 because we have the hop enabled and the hop distance is set to 12 assert build_volume._calculateExtraZClearance([mocked_extruder]) == 0
def test_updateBoundingBox(self, build_volume: BuildVolume): build_volume.setWidth(10) build_volume.setHeight(10) build_volume.setDepth(10) mocked_global_stack = MagicMock() build_volume._global_container_stack = mocked_global_stack build_volume.getEdgeDisallowedSize = MagicMock(return_value = 0) build_volume.updateNodeBoundaryCheck = MagicMock() # Fake the the "engine is created callback" build_volume._onEngineCreated() build_volume.rebuild() bounding_box = build_volume.getBoundingBox() assert bounding_box.minimum == Vector(-5.0, -1.0, -5.0) assert bounding_box.maximum == Vector(5.0, 10.0, 5.0)
def test_singleExtruder(self, build_volume: BuildVolume): mocked_global_stack = MagicMock(name = "mocked_global_stack") mocked_global_stack.getProperty = MagicMock(side_effect=self.getPropertySideEffect) mocked_extruder_stack = MagicMock(name = "mocked_extruder_stack") mocked_extruder_stack.getId = MagicMock(return_value = "0") mocked_extruder_stack.getProperty = MagicMock(side_effect=self.getPropertySideEffect) build_volume._global_container_stack = mocked_global_stack # Create a polygon that should be the result resulting_polygon = Polygon.approximatedCircle(PRIME_CLEARANCE) # Since we want a blob of size 12; resulting_polygon = resulting_polygon.getMinkowskiHull(Polygon.approximatedCircle(12)) # In the The translation result is 25, -50 (due to the settings used) resulting_polygon = resulting_polygon.translate(25, -50) assert build_volume._computeDisallowedAreasPrimeBlob(12, [mocked_extruder_stack]) == {"0": [resulting_polygon]}