tests/testthat/test_p2p.R

context('check equating')

library(dplyr)
library(tidyr)



test_that('complete case works',{
  
  db = open_project('../verbAggression.db')

  ref_items = get_items(db) %>% filter(behavior == 'Scold') %>% pull(item_id)
  
  f = fit_enorm(db,method='Bayes')
  
  p2p = probability_to_pass(db,f,ref_items,pass_fail=7)
  
  expect_true(!anyNA(coef(p2p)),'no NA values')
  expect_true(all(between(as.matrix(select(coef(p2p),-(1:2))),0,1)), 'coef contains probabilities')
  
  pass = get_testscores(db, behavior == 'Scold') %>%
    mutate(pass=booklet_score>=7) %>%
    select(person_id,pass) %>%
    inner_join(get_testscores(db)) %>%
    group_by(booklet_score) %>%
    summarise(mean_pass=mean(pass))
  
  tst = inner_join(pass, coef(p2p), by=c('booklet_score'='score_new'))
  
  expect_gt(cor(tst$probability_to_pass,tst$mean_pass),.9, 'relation between manifest prob pass and model prob pass')
  expect_lt(mean(abs(tst$probability_to_pass-tst$mean_pass)),.1, 'manifest prob pass estimated reasonably accurately')
  

})
  

Try the dexter package in your browser

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

dexter documentation built on Nov. 10, 2022, 5:15 p.m.