# Run tests on [ggSample], a large real life data set. # # The tests are quite time consuming (approx one minute per test). # They can therefore be skipped by setting "ART_SKIP_SLOW" to "TRUE" # from e.g. the RStudio Console: # # Type Sys.setenv(ART_SKIP_SLOW = "TRUE") to skip # # Type Sys.unsetenv("ART_SKIP_SLOW") to enable again # test_that("amUnique(matchThreshold=0.9) for dataset ggSample", code = { skip_if(Sys.getenv("ART_SKIP_SLOW") == "TRUE") # Type Sys.setenv(ART_SKIP_SLOW = "TRUE") from the console to skip, # Type Sys.unsetenv("ART_SKIP_SLOW") to enable again # Prepare for printing very large snapshot files: withr::local_options(width=3000) # Allow longer lines for the summaries: # Load the large gg-style sample file: data("ggSample") expect_identical(dim(ggSample), c(1658L, 187L)) # Load the sample into an allelematch amDataset: expect_snapshot(ggDataset <- allelematch::amDataset(ggSample, indexColumn=1, missingCode="-99")) # We want to run amUnique many times with many combinations of parameters, # and we want to compare the results with previous runs. Like this: snapshot_amUnique <- function(ds, ...) { # Log the call to the snapshot file: argstr = helpArgToString(...) cmdstr = paste("obj <- amUnique(", ds, ", ", argstr, ")", sep="") ; expect_snapshot(cat(cmdstr)) # Make the call to allelematch: sink(nullfile()) # Block output from 'cat' within allelematch obj = amUnique(amDatasetFocal=get(ds), ...) sink() # amCSV.amUnique should have the same output as before tmp = tempfile(paste(ds, "_", sep=""), fileext=".csv") expect_snapshot(summary.amUnique(obj, csv=tmp)) expect_snapshot(format(read.csv(tmp))) file.remove(tmp) # # amHTML.amUnique should have the same output as before # tmp = tempfile(paste(ds, "_", sep=""), fileext=".html") # expect_snapshot(amHTML.amUnique( obj, htmlFile=tmp)) # expect_snapshot( # cat( # sub("summary generated: .+?", # "summary generated: (date)", # gsub("(\\t| )+?(\\n|$)","\\2", # readLines(tmp, warn=FALSE), # perl=TRUE), # perl=TRUE), # sep="\n") # # ) # file.remove(tmp) invisible(NULL) } snapshot_amUnique("ggDataset", matchThreshold=0.9) snapshot_amUnique("ggDataset", alleleMismatch=15) })