def METHOD_NAME(
    self,
    modifier_lambda,
    model_lambda,
    optim_lambda,
    test_steps_per_epoch,  # noqa: F811
):
    modifier = modifier_lambda()
    model = model_lambda()
    optimizer = optim_lambda(model)
    self.initialize_helper(modifier, model, distillation_teacher=model_lambda())
    for epoch in range(int(modifier.start_epoch)):
        assert not modifier.update_ready(epoch, test_steps_per_epoch)
    assert modifier.update_ready(modifier.start_epoch, test_steps_per_epoch)
    modifier.scheduled_update(
        model, optimizer, modifier.start_epoch, test_steps_per_epoch
    )
    if modifier.end_epoch > modifier.start_epoch:
        assert not modifier.update_ready(
            (modifier.start_epoch + modifier.end_epoch) / 2, test_steps_per_epoch
        )
        assert modifier.update_ready(modifier.end_epoch, test_steps_per_epoch)