tests/testthat/test-dep-fit-dcm.R

test_that("measr_dcm is deprecated", {
  err <- rlang::catch_cnd(
    measr_dcm(
      data = dcmdata::mdm_data,
      missing = NA,
      qmatrix = dcmdata::mdm_data,
      resp_id = "respondent",
      item_id = "item",
      type = "lcdm",
      attribute_structure = "unconstrained",
      method = "optim"
    )
  )
  expect_match(err$message[1], "was deprecated")
  expect_match(err$message[2], "limited version of dcm_estimate()")
})

test_that("measr_dcm works", {
  skip_on_cran()

  suppressWarnings(
    mod1 <- measr_dcm(
      data = dcmdata::mdm_data,
      missing = NA,
      qmatrix = dcmdata::mdm_qmatrix,
      resp_id = "respondent",
      item_id = "item",
      type = "lcdm",
      attribute_structure = "unconstrained",
      method = "optim"
    )
  )

  suppressWarnings(
    mod2 <- measr_dcm(
      data = dcmdata::mdm_data,
      missing = NA,
      qmatrix = dcmdata::mdm_qmatrix,
      resp_id = "respondent",
      item_id = "item",
      type = "dina",
      attribute_structure = "independent",
      method = "optim"
    )
  )

  suppressWarnings(
    mod3 <- measr_dcm(
      data = dcmdata::mdm_data,
      missing = NA,
      qmatrix = dcmdata::mdm_qmatrix,
      resp_id = "respondent",
      item_id = "item",
      type = "dino",
      attribute_structure = "unconstrained",
      method = "optim"
    )
  )

  suppressWarnings(
    mod4 <- measr_dcm(
      data = dcmdata::mdm_data,
      missing = NA,
      qmatrix = dcmdata::mdm_qmatrix,
      resp_id = "respondent",
      item_id = "item",
      type = "crum",
      attribute_structure = "independent",
      method = "optim"
    )
  )

  expect_s7_class(mod1, measrfit)
  expect_s7_class(mod1, measrdcm)
  expect_s7_class(mod2, measrfit)
  expect_s7_class(mod2, measrdcm)
  expect_s7_class(mod3, measrfit)
  expect_s7_class(mod3, measrdcm)
  expect_s7_class(mod4, measrfit)
  expect_s7_class(mod4, measrdcm)
})

Try the measr package in your browser

Any scripts or data that you put into this service are public.

measr documentation built on Jan. 14, 2026, 5:08 p.m.