def apply_function(self, function): factor = self.pre_function_handle_to_anchor_scale_factor self.scale_handle_to_anchor_distances(factor) Mobject.apply_function(self, function) self.scale_handle_to_anchor_distances(1. / factor) if self.make_smooth_after_applying_functions: self.make_smooth() return self
def test_apply_function(mocker): mocker.patch.object( mobject.mobject.Mobject, "apply_points_function_about_point", autospec=True, ) mock_func = mocker.Mock() m = Mobject() m.apply_function(mock_func) m.apply_points_function_about_point.assert_called_once() args, kwargs = m.apply_points_function_about_point.call_args assert args[0] is m assert callable(args[1]) assert (inspect.getsource(args[1]).strip() == "lambda points: np.apply_along_axis(function, 1, points),") assert kwargs == {"about_point": const.ORIGIN}