tests/testthat/test-test-createSimulatedCodeSet.R

library(testthat)
context("Testing createSimulatedCodeSet")

test_that("verify error checks", {
  len <- 100
  br <- 0.2
  kmin <- 0.6
  kmax <- 0.9
  pmin <- 0.1
  pmax <- 0.9
  tries <- 50
  
  expect_error(createSimulatedCodeSet(-len, br, kmin, kmax, pmin, pmax, tries), regexp = "length.*?positive")
  expect_error(createSimulatedCodeSet(len, -br, kmin, kmax, pmin, pmax, tries), regexp = "baserate.*?positive")
  expect_error(createSimulatedCodeSet(len, br, kmin - 1, kmax, pmin, pmax, tries), regexp = "kappaMin.*?0 and 1")
  expect_error(createSimulatedCodeSet(len, br, kmin + 1, kmax, pmin, pmax, tries), regexp = "kappaMin.*?0 and 1")
  expect_error(createSimulatedCodeSet(len, br, kmin, kmax - 1, pmin, pmax, tries), regexp = "kappaMax.*?0 and 1")
  expect_error(createSimulatedCodeSet(len, br, kmin, kmax + 1, pmin, pmax, tries), regexp = "kappaMax.*?0 and 1")
  expect_error(createSimulatedCodeSet(len, br, kappaMin = 0.9, kappaMax = 0.7, pmin, pmax, tries), regexp = "kappaMin.*?less.*?Max")
  expect_error(createSimulatedCodeSet(len, br, kmin, kmax, pmin - 1, pmax, tries), regexp = "precisionMin.*?0 and 1")
  expect_error(createSimulatedCodeSet(len, br, kmin, kmax, pmin + 1, pmax, tries), regexp = "precisionMin.*?0 and 1")
  expect_error(createSimulatedCodeSet(len, br, kmin, kmax, pmin, pmax - 1, tries), regexp = "precisionMax.*?0 and 1")
  expect_error(createSimulatedCodeSet(len, br, kmin, kmax, pmin, pmax + 1, tries), regexp = "precisionMax.*?0 and 1")
  expect_error(createSimulatedCodeSet(len, br, kmin, kmax, precisionMin = 0.9, precisionMax = 0.7, tries), regexp = "precisionMin.*less.*?Max")
  expect_error(createSimulatedCodeSet(len, br, kmin, kmax, pmin, pmax, tries = 0), regexp = "tries.*?1")
})

test_that("verify good set", {
  len <- 100
  br <- 0.2
  kmin <- 0.6
  kmax <- 0.9
  pmin <- 0.1
  pmax <- 0.9
  tries <- 50
  
  set <- createSimulatedCodeSet(len, br, kmin, kmax, pmin, pmax, tries)
  set_br <- baserate(set)
  set_k  <- kappa(set)
    
  expect_gte(set_br$firstBaserate, br)
  expect_gte(set_k, kmin)
  expect_lte(set_k, kmax)
})


test_that("impossible set", {
  len <- 100
  br <- 0.05
  kmin <- 0.10
  kmax <- 0.11
  pmin <- 0.6
  pmax <- 0.8
  tries <- 500
  
  expect_error(createSimulatedCodeSet(len, br, kmin, kmax, pmin, pmax, tries), regexp = "Unable to create.*26471")
})

test_that("explicit any_equal checks", {
  expect_false(any_equal(c(1.1001, 2.2), 11/10))
  expect_true(any_equal(c(1.1000000001, 2.2), 11/10))
  expect_true(any_equal(c(1.1, 2.2), 11/10))
  expect_true(any_equal(c(1.1, 2.2), 22/10))
})

Try the rhoR package in your browser

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

rhoR documentation built on Sept. 13, 2020, 5:07 p.m.