test_that("MLE fitting and methods work accurately", { set.seed(42) sim <- rbitl(60, xi1 = 1.5, xi2 = 1.2, delta = 0.4) fit <- mle_bitl(sim[, "x"], sim[, "y"]) expect_s3_class(fit, "mle_bitl") expect_equal(length(fit$par), 3) expect_true(all(fit$par[1:2] > 0)) expect_true(fit$par[3] >= -1 && fit$par[3] <= 1) expect_true(is.finite(fit$loglik)) expect_true(is.finite(fit$aic)) expect_true(is.finite(fit$bic)) expect_true(is.finite(fit$aicc)) expect_true(is.finite(fit$hqic)) expect_equal(length(coef(fit)), 3) expect_s3_class(logLik(fit), "logLik") expect_equal(dim(vcov(fit)), c(3, 3)) expect_equal(AIC(fit), fit$aic) expect_equal(BIC(fit), fit$bic) })