def METHOD_NAME():
    col, row, flux, bgflux = 1, 2, 3, 4
    shape = (7, 8)
    model = TPFModel(
        star_priors=[
            StarPrior(
                col=GaussianPrior(mean=col, var=2 ** 2),
                row=GaussianPrior(mean=row, var=2 ** 2),
                flux=UniformPrior(lb=flux - 0.5, ub=flux + 0.5),
                targetid="TESTSTAR",
            )
        ],
        background_prior=BackgroundPrior(flux=GaussianPrior(mean=bgflux, var=bgflux)),
        focus_prior=FocusPrior(
            scale_col=GaussianPrior(mean=1, var=0.0001),
            scale_row=GaussianPrior(mean=1, var=0.0001),
            rotation_angle=UniformPrior(lb=-3.1415, ub=3.1415),
        ),
        motion_prior=MotionPrior(
            shift_col=GaussianPrior(mean=0.0, var=0.01),
            shift_row=GaussianPrior(mean=0.0, var=0.01),
        ),
        prfmodel=KeplerPRF(channel=40, shape=shape, column=30, row=20),
        fit_background=True,
        fit_focus=False,
        fit_motion=False,
    )
    # Sanity checks
    assert model.star_priors[0].col.mean == col
    assert model.star_priors[0].targetid == "TESTSTAR"
    # Test initial guesses
    params = model.get_initial_guesses()
    assert params.stars[0].col == col
    assert params.stars[0].row == row
    assert params.stars[0].flux == flux
    assert params.background.flux == bgflux
    assert len(params.to_array()) == 4  # The model has 4 free parameters
    assert_allclose([col, row, flux, bgflux], params.to_array(), rtol=1e-5)
    # Predict should return an image
    assert model.predict().shape == shape
    # Test __repr__
    assert "TESTSTAR" in str(model)