tests/testthat/test_plot.R

test_that("Test plotting", {
  skip_on_cran()  
  x = 1:4
  ##Discrete power-law
  mt = displ$new(x); mt$setPars(3); mt$setXmin(2)
  
  d_exact = data.frame(x=1:4, y=4:1/4)
  expect_equal(plot(mt, draw=FALSE), d_exact, tol=1e-4)
  d2 = lines(mt, draw=FALSE)
  expect_equal(d2$x, 2:4, tol=1e-4)
  y = c(0.7500, 0.2860, 0.1485)
  expect_equal(d2$y, y, tol=1e-4)

  ##Poisson
  m = dispois$new(x); m$setPars(1); m$setXmin(2)
  
  d_exact = data.frame(x=1:4, y=4:1/4)
  expect_equal(plot(m, draw=FALSE), d_exact, tol=1e-4)
  d2 = lines(m, draw=FALSE)
  y = c(0.75000,0.17735,0.03418)
  expect_equal(d2$x, 2:4, tol=1e-4)
  expect_equal(d2$y, y, tol=1e-5)
  
  ##Discrete Log normal
  m = dislnorm$new(x); m$setPars(c(1, 1)); m$setXmin(2)
  
  d_exact = data.frame(x=1:4, y=4:1/4)
  expect_equal(plot(m, draw=FALSE), d_exact, tol=1e-4)
  d2 = lines(m, draw=FALSE)
  y = c(0.75, 0.5628, 0.4318)
  expect_equal(d2$x, 2:4, tol=1e-4)
  expect_equal(d2$y, y, tol=1e-4)
  
  ##CTN power-law
  m = conpl$new(x); m$setPars(3); m$setXmin(2)
  
  d_exact = data.frame(x=1:4, y=4:1/4)
  expect_equal(plot(m, draw=FALSE), d_exact, tol=1e-4)
  d2 = lines(m, draw=FALSE, length.out=4)
  expect_equal(d2$x, c(2.000, 2.520, 3.175, 4.000), tol=1e-4)
  y = c(0.7500, 0.4725, 0.2976, 0.1875)
  expect_equal(d2$y, y, tol=1e-4)
  
  ##Log normal
  m = conlnorm$new(x); m$setPars(c(1, 1)); m$setXmin(2)
  
  d_exact = data.frame(x=1:4, y=4:1/4)
  expect_equal(plot(m, draw=FALSE), d_exact, tol=1e-4)
  d2 = lines(m, draw=FALSE, length.out=4)
  expect_equal(d2$x, c(2.000, 2.520, 3.175, 4.000), tol=1e-4)
  y = c(0.7500, 0.6408, 0.5298, 0.4226)
  expect_equal(d2$y, y, tol=1e-4)
  
  
  
  ##Exponential
  m = conexp$new(x); m$setPars(0.5); m$setXmin(2)
  
  d_exact = data.frame(x=1:4, y=4:1/4)
  expect_equal(plot(m, draw=FALSE), d_exact, tol=1e-4)
  d2 = lines(m, draw=FALSE, length.out=4)
  expect_equal(d2$x, c(2.000, 2.520, 3.175, 4.000), tol=1e-4)
  y = c(0.7500, 0.5783, 0.4168,0.2759)
  expect_equal(d2$y, y, tol=1e-4)
  
  
}
          )
csgillespie/poweRlaw documentation built on July 26, 2018, 9:54 p.m.