tests/testthat/test1.R

context("Basic tests")


test_that("Example data works as expected", {
  # library(proto)
  # set cursor and test result
  data(st)
  set_cursor(st$sweeps$Stimulus, "peak", curMin_,c(0.1,0.13))
  names_to_test = c(
    "Trace_Time",
    "relTime",
    "exp",
    "exp_",
    "ser",
    "swp",
    "trace",
    "tracename",
    "label",
    "Sweep",
    "peak",
    "peak.x"
  )    
  expect_equal_to_reference(st$results()[,names_to_test], "ref/stresult")
})

test_that("resultmethods can be set, also via proto",{
  rm("CURSORS", envir = .GlobalEnv)
  set_cursor(st$sweeps$Stimulus, "peak", curMin_,c(0.1,0.13))
  
  # setting resultsmethods via proto
  st$set_resultmethod("new1", function(df){df$new=0;df})
  expect_equal( st$results()$new[1], 0 )
  
  # setting resultsmethod via function
  set_resultmethod("hERG", "new2",function(df){ df$new2=2;df})
  expect_equal( st$results()$new2[1], 2 )
})

context("Read trees and get all results")
test_that("get_all works on herg example", {
  
  tree<-get_treeinfo(system.file("extdata/2014-07-22_CHO hERG.dat", package = "ephys2"))

  
  expect_equal( attr(tree[[c(1,1,1)]], "StimulusName"), "hERG")
  
  tree_ <- reorder_tree(tree, channels = 1:8)
  expect_equal( attr(tree_[[c(1,1,1)]], "StimulusName"), "hERG")
  
  # check that reordering produced "Channel names"
  expect_match(names(tree_[[1]])[1], "#1")
 
  
  
  get_all(tree_, "hERG")->allresults
  
  
  # results are data.frame and correct length
  expect_s3_class(allresults, "data.frame")
  expect_equal(nrow(allresults), 30)
  
  allresults_names<- c(".id",
                       "Trace_Time",
                       "relTime",
                       "exp",
                       "explabel",
                       "exp_",
                       "ser",
                       "serlabel",
                       "swp",
                       "trace",
                       "tracename",
                       "label",
                       "swplabel",
                       #"Concentration",
                       "Sweep",
                       "peak",
                       "peak.x", 
                       "new", 
                       "new2")       
  
  expect_equal_to_reference(allresults[,allresults_names], "ref/allresults")
  
  st_<-getSeries(tree,1,1,7)
  expect_is(st_$sweeps, "HEKAseries")
  rm("CURSORS", envir = .GlobalEnv)
  
  make_stimulus(st_$sweeps$Stimulus, "voltage",base=-80,inc=10)
  make_stimulus(st_$sweeps, "voltage2",base=-80,inc=10)
  make_stimulus(st, "voltage3",base=-80,inc=10)
  
  expect_equal(st$results()$voltage[1], -80)
  expect_equal(st$results()$voltage2[1], -80)
  expect_equal(st$results()$voltage3[1], -80)
  
})

test_that("we can modify existing cursors ", {
  set_cursor("hERG", "test_exisiting", curMin_, c(0,1))
  set_cursor("hERG", "test_exisiting", curMean_ , interactive = F)
  set_cursor("hERG", "test_exisiting", range = c(0,0.001) )
})
tdanker/ephys2 documentation built on Aug. 11, 2019, 12:12 p.m.