Back to Multiple platform build/check report for BioC 3.15
ABCDEFGHIJKLMNOPQRSTUVW[X]YZ

This page was generated on 2022-03-18 11:08:59 -0400 (Fri, 18 Mar 2022).

HostnameOSArch (*)R versionInstalled pkgs
nebbiolo1Linux (Ubuntu 20.04.4 LTS)x86_64R Under development (unstable) (2022-02-17 r81757) -- "Unsuffered Consequences" 4334
riesling1Windows Server 2019 Standardx64R Under development (unstable) (2021-11-21 r81221) -- "Unsuffered Consequences" 4097
palomino3Windows Server 2022 Datacenterx64R Under development (unstable) (2022-02-17 r81757 ucrt) -- "Unsuffered Consequences" 4083
merida1macOS 10.14.6 Mojavex86_64R Under development (unstable) (2022-03-02 r81842) -- "Unsuffered Consequences" 4134
Click on any hostname to see more info about the system (e.g. compilers)      (*) as reported by 'uname -p', except on Windows and Mac OS X

CHECK results for xmapbridge on riesling1


To the developers/maintainers of the xmapbridge package:
- Please allow up to 24 hours (and sometimes 48 hours) for your latest push to git@git.bioconductor.org:packages/xmapbridge.git to
reflect on this report. See How and When does the builder pull? When will my changes propagate? here for more information.
- Make sure to use the following settings in order to reproduce any error or warning you see on this page.

raw results

Package 2081/2090HostnameOS / ArchINSTALLBUILDCHECKBUILD BIN
xmapbridge 1.53.0  (landing page)
Chris Wirth
Snapshot Date: 2022-03-17 13:55:23 -0400 (Thu, 17 Mar 2022)
git_url: https://git.bioconductor.org/packages/xmapbridge
git_branch: master
git_last_commit: b74b803
git_last_commit_date: 2021-10-26 11:53:08 -0400 (Tue, 26 Oct 2021)
nebbiolo1Linux (Ubuntu 20.04.4 LTS) / x86_64  OK    OK    OK  UNNEEDED, same version is already published
riesling1Windows Server 2019 Standard / x64  OK    OK    OK    OK  
palomino3Windows Server 2022 Datacenter / x64  OK    OK    OK    OK  UNNEEDED, same version is already published
merida1macOS 10.14.6 Mojave / x86_64  OK    OK    OK    OK  UNNEEDED, same version is already published

Summary

Package: xmapbridge
Version: 1.53.0
Command: D:\biocbuild\bbs-3.15-bioc\R\bin\R.exe CMD check --no-multiarch --install=check:xmapbridge.install-out.txt --library=D:\biocbuild\bbs-3.15-bioc\R\library --no-vignettes --timings xmapbridge_1.53.0.tar.gz
StartedAt: 2022-03-17 20:36:50 -0400 (Thu, 17 Mar 2022)
EndedAt: 2022-03-17 20:37:23 -0400 (Thu, 17 Mar 2022)
EllapsedTime: 32.9 seconds
RetCode: 0
Status:   OK  
CheckDir: xmapbridge.Rcheck
Warnings: 0

Command output

##############################################################################
##############################################################################
###
### Running command:
###
###   D:\biocbuild\bbs-3.15-bioc\R\bin\R.exe CMD check --no-multiarch --install=check:xmapbridge.install-out.txt --library=D:\biocbuild\bbs-3.15-bioc\R\library --no-vignettes --timings xmapbridge_1.53.0.tar.gz
###
##############################################################################
##############################################################################


* using log directory 'D:/biocbuild/bbs-3.15-bioc/meat/xmapbridge.Rcheck'
* using R Under development (unstable) (2021-11-21 r81221)
* using platform: x86_64-w64-mingw32 (64-bit)
* using session charset: ISO8859-1
* using option '--no-vignettes'
* checking for file 'xmapbridge/DESCRIPTION' ... OK
* checking extension type ... Package
* this is package 'xmapbridge' version '1.53.0'
* checking package namespace information ... OK
* checking package dependencies ... OK
* checking if this is a source package ... OK
* checking if there is a namespace ... OK
* checking for hidden files and directories ... OK
* checking for portable file names ... OK
* checking whether package 'xmapbridge' can be installed ... OK
* checking installed package size ... OK
* checking package directory ... OK
* checking 'build' directory ... OK
* checking DESCRIPTION meta-information ... OK
* checking top-level files ... OK
* checking for left-over files ... OK
* checking index information ... OK
* checking package subdirectories ... OK
* checking R files for non-ASCII characters ... OK
* checking R files for syntax errors ... OK
* checking whether the package can be loaded ... OK
* checking whether the package can be loaded with stated dependencies ... OK
* checking whether the package can be unloaded cleanly ... OK
* checking whether the namespace can be loaded with stated dependencies ... OK
* checking whether the namespace can be unloaded cleanly ... OK
* checking dependencies in R code ... NOTE
'library' or 'require' call to 'methods' which was already attached by Depends.
  Please remove these calls from your code.
* checking S3 generic/method consistency ... OK
* checking replacement functions ... OK
* checking foreign function calls ... OK
* checking R code for possible problems ... NOTE
File 'xmapbridge/R/zzz.R':
  .onLoad has wrong argument list 'lib, pkg, where'
  .onLoad calls:
    require(methods, quietly = TRUE)

Package startup functions should have two arguments with names starting
  with 'lib' and 'pkg', respectively.
Package startup functions should not change the search path.
See section 'Good practice' in '?.onAttach'.

xmap.col: no visible global function definition for 'col2rgb'
Undefined global functions or variables:
  col2rgb
Consider adding
  importFrom("grDevices", "col2rgb")
to your NAMESPACE file.
* checking Rd files ... OK
* checking Rd metadata ... OK
* checking Rd cross-references ... OK
* checking for missing documentation entries ... OK
* checking for code/documentation mismatches ... OK
* checking Rd \usage sections ... OK
* checking Rd contents ... OK
* checking for unstated dependencies in examples ... OK
* checking contents of 'data' directory ... OK
* checking data for non-ASCII characters ... OK
* checking data for ASCII and uncompressed saves ... OK
* checking line endings in Makefiles ... OK
* checking for GNU extensions in Makefiles ... OK
* checking include directives in Makefiles ... OK
* checking files in 'vignettes' ... OK
* checking examples ... OK
* checking for unstated dependencies in 'tests' ... OK
* checking tests ...
  Running 'doRUnit.R'
  Running 'xmapbridge_test.R'
 OK
* checking for unstated dependencies in vignettes ... OK
* checking package vignettes in 'inst/doc' ... OK
* checking running R code from vignettes ... SKIPPED
* checking re-building of vignette outputs ... SKIPPED
* checking PDF version of manual ... OK
* DONE

Status: 2 NOTEs
See
  'D:/biocbuild/bbs-3.15-bioc/meat/xmapbridge.Rcheck/00check.log'
for details.



Installation output

xmapbridge.Rcheck/00install.out

##############################################################################
##############################################################################
###
### Running command:
###
###   D:\biocbuild\bbs-3.15-bioc\R\bin\R.exe CMD INSTALL xmapbridge
###
##############################################################################
##############################################################################


* installing to library 'D:/biocbuild/bbs-3.15-bioc/R/library'
* installing *source* package 'xmapbridge' ...
** using staged installation
** R
** data
** inst
** byte-compile and prepare package for lazy loading
** help
*** installing help indices
  converting help for package 'xmapbridge'
    finding HTML links ... done
    exon.data                               html  
    xmap.col                                html  
    xmap.files                              html  
    xmap.plot                               html  
    xmapbridge-internal                     html  
    xmapbridge-package                      html  
** building package indices
** installing vignettes
** testing if installed package can be loaded from temporary location
** testing if installed package can be loaded from final location
** testing if installed package keeps a record of temporary installation path
* DONE (xmapbridge)
Making 'packages.html' ... done

Tests output

xmapbridge.Rcheck/tests/doRUnit.Rout


R Under development (unstable) (2021-11-21 r81221) -- "Unsuffered Consequences"
Copyright (C) 2021 The R Foundation for Statistical Computing
Platform: x86_64-w64-mingw32/x64 (64-bit)

R is free software and comes with ABSOLUTELY NO WARRANTY.
You are welcome to redistribute it under certain conditions.
Type 'license()' or 'licence()' for distribution details.

R is a collaborative project with many contributors.
Type 'contributors()' for more information and
'citation()' on how to cite R or R packages in publications.

Type 'demo()' for some demos, 'help()' for on-line help, or
'help.start()' for an HTML browser interface to help.
Type 'q()' to quit R.

> if( require( "RUnit", quietly=TRUE ) ) {
+   pkg <- "xmapbridge"
+ 
+   if( Sys.getenv( "RCMDCHECK" ) == "FALSE" ) {
+     path <- file.path( getwd(), "..", "inst", "unitTests" )
+   }
+   else {
+     path <- system.file( package=pkg, "unitTests" )
+   }
+ 
+   cat( "\nRunning unit tests\n" )
+   print( list( pkg=pkg, getwd=getwd(), pathToUnitTests=path ) )
+   library( package=pkg, character.only=TRUE )
+  
+   testSuite <- defineTestSuite( name=paste( pkg, "unit testing" ), dirs=path )
+   tests <- runTestSuite( testSuite )
+  
+   pathReport <- file.path( path, "report" )
+  
+   cat( "------------------- UNIT TEST SUMMARY ---------------------\n\n" )
+   printTextProtocol( tests, showDetails=FALSE )
+   printTextProtocol( tests, showDetails=FALSE, fileName=paste( pathReport, "Summary.txt", sep="" ) )
+   printTextProtocol( tests, showDetails=TRUE,  fileName=paste( pathReport, ".txt", sep="" ) )
+  
+   printHTMLProtocol( tests, fileName=paste( pathReport, ".html", sep="" ) )
+  
+   tmp <- getErrors( tests )
+   if( tmp$nFail > 0 | tmp$nErr > 0 ) {
+     stop( paste( "\n\nunit testing failed (#test failures: ", tmp$nFail, ", #R errors: ",  tmp$nErr, ")\n\n", sep="" ) )
+   }
+ } else {
+   warning( "cannot run unit tests -- package RUnit is not available" )
+ }

Running unit tests
$pkg
[1] "xmapbridge"

$getwd
[1] "D:/biocbuild/bbs-3.15-bioc/meat/xmapbridge.Rcheck/tests"

$pathToUnitTests
[1] "D:/biocbuild/bbs-3.15-bioc/R/library/xmapbridge/unitTests"



Executing test function test.get.xmap.cache.dir  ...  done successfully.



Executing test function test.graph  ...  done successfully.



Executing test function test.plots  ...  done successfully.



Executing test function test.projects  ...  done successfully.



Executing test function test.utils  ...  done successfully.



Executing test function test.validate.x.and.y  ...  done successfully.

------------------- UNIT TEST SUMMARY ---------------------

RUNIT TEST PROTOCOL -- Thu Mar 17 20:37:13 2022 
*********************************************** 
Number of test functions: 6 
Number of errors: 0 
Number of failures: 0 

 
1 Test Suite : 
xmapbridge unit testing - 6 test functions, 0 errors, 0 failures
Warning messages:
1: In RNGkind(kind = testSuite$rngKind, normal.kind = testSuite$rngNormalKind) :
  RNGkind: Marsaglia-Multicarry has poor statistical properties
2: In RNGkind(kind = testSuite$rngKind, normal.kind = testSuite$rngNormalKind) :
  RNGkind: severe deviations from normality for Kinderman-Ramage + Marsaglia-Multicarry
> 
> proc.time()
   user  system elapsed 
   0.71    0.53    1.26 

xmapbridge.Rcheck/tests/xmapbridge_test.Rout


R Under development (unstable) (2021-11-21 r81221) -- "Unsuffered Consequences"
Copyright (C) 2021 The R Foundation for Statistical Computing
Platform: x86_64-w64-mingw32/x64 (64-bit)

R is free software and comes with ABSOLUTELY NO WARRANTY.
You are welcome to redistribute it under certain conditions.
Type 'license()' or 'licence()' for distribution details.

R is a collaborative project with many contributors.
Type 'contributors()' for more information and
'citation()' on how to cite R or R packages in publications.

Type 'demo()' for some demos, 'help()' for on-line help, or
'help.start()' for an HTML browser interface to help.
Type 'q()' to quit R.

> #                               8             o      8               
> #                               8                    8               
> #  `o  o' ooYoYo. .oPYo. .oPYo. 8oPYo. oPYo. o8 .oPYo8 .oPYo. .oPYo. 
> #   `bd'  8' 8  8 .oooo8 8    8 8    8 8  `'  8 8    8 8    8 8oooo8 
> #   d'`b  8  8  8 8    8 8    8 8    8 8      8 8    8 8    8 8.     
> #  o'  `o 8  8  8 `YooP8 8YooP' `YooP' 8      8 `YooP' `YooP8 `Yooo' 
> #                        8                                  8        
> #                        8                              YooP'
> #
> # Author:  Tim Yates and Crispin J Miller
> # Date:    2008/08/13
> # Licence: LGPL-v3
> #
> # This file tests all of the exported methods from the library to make sure
> # they work as expected (generate the correct files), fail cleanly as required,
> # and clean up after themselves in case of faliure after a particular file has
> # been created
> #
> 
> library( xmapbridge )
> 
> .test.env <- new.env( hash=TRUE, parent=emptyenv() )
> 
> ###############################################################################
> ## Assert methods (to make the code look a bit cleaner)
> ###############################################################################
> 
> assertEqual <- function( a, b, msg="not equal" ) {
+   if( class( a ) == "list" && class( b ) == "list" ) {
+     if( !isTRUE( all.equal( a, b ) ) ) {
+       stop( msg )
+     }
+   }
+   else if( a != b ) {
+     stop( msg )
+   }
+   TRUE
+ }
> 
> assertNotEqual <- function( a, b, msg="equal" ) {
+   if( class( a ) == "list" && class( b ) == "list" ) {
+     if( isTRUE( all.equal( a, b ) ) ) {
+       stop( msg )
+     }
+   }
+   else if( a == b ) {
+     stop( msg )
+   }
+   TRUE
+ }
> 
> assertLength <- function( a, len, msg="invalid length" ) {
+   if( length( a ) != len ) {
+     stop( msg )
+   }
+   TRUE
+ }
> 
> assertNull <- function( a, msg="is null" ) {
+   if( !is.null( a ) ) {
+     stop( msg )
+   }
+   TRUE
+ }
> 
> assertNotNull <- function( a, msg="is not null" ) {
+   if( is.null( a ) ) {
+     stop( msg )
+   }
+   TRUE
+ }
> 
> assertNumeric <- function( a, msg="non-numeric" ) {
+   if( !is.number( a ) ) {
+     stop( msg )
+   }
+   TRUE
+ }
> 
> shouldFail <- function( test, msg=paste( "FAIL:", test ) ) {
+   .ok <- FALSE
+   tryCatch( {
+     test()
+     .ok <- TRUE
+   }, warning=function(e) {
+     print( paste( "caught a warning '", e$message, "'" ) ) 
+   }, error=function(e) {
+     print( paste( "Failed (yay) '", e$message, "'" ) ) 
+   } )
+   if( .ok ) {
+     stop( msg )
+   }
+   TRUE
+ }
> 
> ###############################################################################
> ## Setup and Teardown Methods
> ###############################################################################
> 
> .setup <- function() {
+   .test.env$tmp  <- tempdir()
+   .test.env$old  <- Sys.getenv( "XMAP_BRIDGE_CACHE" )
+   Sys.setenv( XMAP_BRIDGE_CACHE=.test.env$tmp )
+ }
> 
> .teardown <- function() {
+   # Delete the temp folder, and reset our environment
+   Sys.setenv( XMAP_BRIDGE_CACHE=.test.env$old )
+   unlink( .test.env$tmp, recursive=TRUE )
+ }
> 
> ###############################################################################
> ## And call the tests...
> ###############################################################################
> 
> # Set up the environment
> ###############################################################################
> 
> .setup()
> 
> # Project tests
> ###############################################################################
> 
> shouldFail( function() { xmap.project.load( "FAIL!" ) }, "Invalid project parameter shouldn't work!" )
[1] "Failed (yay) ' projectid should be an object of class Project, not character '"
[1] TRUE
> shouldFail( function() { xmap.project.save( "FAIL!", list() ) }, "Invalid project parameter shouldn't work!" )
[1] "Failed (yay) ' projectid should be an object of class Project, not character '"
[1] TRUE
> shouldFail( function() { xmap.project.delete( "FAIL!" ) }, "Invalid project parameter shouldn't work!" )
[1] "Failed (yay) ' projectid should be an object of class Project, not character '"
[1] TRUE
> 
> .project <- xmap.project.new( "Project A" )
> .projects <- xmap.project.list()
> assertLength( .projects, 1, paste( "Got", length( .projects ), "projects.  Should have only 1" ) )
[1] TRUE
> assertEqual( .project, .projects[[1]], "Project not equal to project in list" )
[1] TRUE
> 
> .data <- xmap.project.load( .project )
> assertNotNull( .data, "Load failed for data" )
[1] TRUE
> assertLength( .data, 1, "Data should have 1 element" )
[1] TRUE
> assertEqual( "Project A", .data$NAME )
[1] TRUE
> .data$NAME <- "Project Z"
> xmap.project.save( .project, .data )
> .data2 <- xmap.project.load( .project )
> assertEqual( "Project Z", .data2$NAME, "Did not load altered project name" )
[1] TRUE
> assertEqual( .data, .data2, "Saved and loaded data not identical!" )
[1] TRUE
> 
> .project2 <- xmap.project.new( "Project B" )
> .projects <- xmap.project.list()
> assertLength( .projects, 2, paste( "Got", length( .projects ), "projects.  Should have 2" ) )
[1] TRUE
> 
> shouldFail( function() { assertEqual( .project, .project2 ) }, paste( "Project 1 and 2 should not be equal" ) )
[1] "Failed (yay) ' not equal '"
[1] TRUE
> assertNotEqual( .project, .project2, paste( "Project 1 and 2 should not be equal" ) )
[1] TRUE
> 
> xmap.project.delete( .project2 )
> 
> .projects <- xmap.project.list()
> assertLength( .projects, 1, paste( "Got", length( .projects ), "projects.  Should have only 1" ) )
[1] TRUE
> 
> # Graph tests
> ###############################################################################
> 
> shouldFail( function() {    xmap.graph.new( "NonProjectObject", "A Graph", "desc", -10, 10, "1", 1000000, 2000000, ylab="label", species="homo_sapiens" ) }, "Invalid project parameter" )
[1] "Failed (yay) ' projectid should be an object of class Project, not character '"
[1] TRUE
> shouldFail( function() {   xmap.graph.load( "FAIL!" )         }, "Invalid graph parameter shouldn't work!" )
[1] "Failed (yay) ' graphid should be an object of class Graph, not character '"
[1] TRUE
> shouldFail( function() {   xmap.graph.list( "FAIL!" )         }, "Invalid graph parameter shouldn't work!" )
[1] "Failed (yay) ' projectid should be an object of class Project, not character '"
[1] TRUE
> shouldFail( function() {   xmap.graph.save( "FAIL!", list() ) }, "Invalid graph parameter shouldn't work!" )
[1] "Failed (yay) ' graphid should be an object of class Graph, not character '"
[1] TRUE
> shouldFail( function() { xmap.graph.delete( "FAIL!" )         }, "Invalid graph parameter shouldn't work!" )
[1] "Failed (yay) ' graphid should be an object of class Graph, not character '"
[1] TRUE
> shouldFail( function() {    xmap.graph.new( .project2, "A Graph", "desc", -10, 10, "1", 1000000, 2000000, ylab="label", species="homo_sapiens" ) }, "Writing to a missing project seeme to work?" )
xmapbridge:Project( D:\biocbuild\bbs-3.15-bioc\tmpdir\RtmpeeTsQS/2022.Mar.17.20.37.13_0.4.xmb ) 
[1] "Failed (yay) ' non-string argument to .Internal(paste) '"
[1] TRUE
> 
> .graph <- xmap.graph.new( .project, "A Graph", "desc", -10, 10, "1", 1000000, 2000000, ylab="label", species="homo_sapiens" )
> 
> .graphs <- xmap.graph.list( .project )
> assertLength( .graphs, 1, paste( "Got", length( .graphs ), "graphs.  Should have only 1" ) )
[1] TRUE
> assertEqual( .graph, .graphs[[1]], "Graph not equal to first graph in list" )
[1] TRUE
> 
> .data <- xmap.graph.load( .graph )
> assertNotNull( .data, "Load failed for data" )
[1] TRUE
> assertLength( .data, 9, "Graph data should have 9 elements" )
[1] TRUE
> assertEqual( .data$MIN, -10 )
[1] TRUE
> .data$MIN <- 0
> xmap.graph.save( .graph, .data )
> .data2 <- xmap.graph.load( .graph )
> assertEqual( .data2$MIN, 0 )
[1] TRUE
> assertEqual( .data, .data2, "Saved and loaded graph data not identical!" )
[1] TRUE
> 
> .graph2 <- xmap.graph.new( .project, "A Graph", "desc", -10, 10, "1", 1000000, 2000000, ylab="label", species="homo_sapiens" )
> 
> .graphs <- xmap.graph.list( .project )
> assertLength( .graphs, 2, paste( "Got", length( .graphs ), "graphs.  Should have 2" ) )
[1] TRUE
> 
> xmap.graph.delete( .graph2 )
> 
> # Plot tests
> ###############################################################################
> 
> .X <- seq( 1000000, 2000000, by=1000 )
> .Y <- runif( length( .X ), -10, 10 )
> .badY <- runif( ( length( .X ) - 1 ), -10, 10 )
> .alphaY <- rep( letters, ceiling( length( .X ) / length( letters ) ) )[ 1:length( .X ) ]
> 
> print( paste( ".X has", length( .X ), "elements, .Y has", length( .Y ), ", .badY has", length( .badY ), "elements, and .alphaY has", length( .alphaY ), "elements" ) )
[1] ".X has 1001 elements, .Y has 1001 , .badY has 1000 elements, and .alphaY has 1001 elements"
> 
> shouldFail( function() {    xmap.plot.new( "FAIL!", "A Plot", .X, .Y, type="line" ) }, "Invalid graph parameter shouldn't work!" )
[1] "Failed (yay) ' graphid should be an object of class Graph, not character '"
[1] TRUE
> shouldFail( function() {   xmap.plot.load( "FAIL!" )                 }, "Invalid graph parameter shouldn't work!" )
[1] "Failed (yay) ' plotid should be an object of class Plot, not character '"
[1] TRUE
> shouldFail( function() {   xmap.plot.list( "FAIL!" )                 }, "Invalid graph parameter shouldn't work!" )
[1] "Failed (yay) ' graphid should be an object of class Graph, not character '"
[1] TRUE
> shouldFail( function() {   xmap.plot.save( "FAIL!", list(), .X, .Y ) }, "Invalid graph parameter shouldn't work!" )
[1] "Failed (yay) ' plotid should be an object of class Plot, not character '"
[1] TRUE
> shouldFail( function() { xmap.plot.delete( "FAIL!" )                 }, "Invalid graph parameter shouldn't work!" )
[1] "Failed (yay) ' plotid should be an object of class Plot, not character '"
[1] TRUE
> shouldFail( function() {    xmap.plot.new( .graph2, "A Plot", .X, .Y, type="line" ) }, "Invalid graph parameter shouldn't work!" )
xmapbridge:Project( D:\biocbuild\bbs-3.15-bioc\tmpdir\RtmpeeTsQS/2022.Mar.17.20.37.13_0.31.xmb ) 
[1] "Failed (yay) ' non-string argument to .Internal(paste) '"
[1] TRUE
> shouldFail( function() {    xmap.plot.new( .graph, "A Plot", .X, .badY, type="line" ) }, "Invalid y list size shouldn't work!" )
[1] "Failed (yay) ' 'x' and 'y' lengths differ '"
[1] TRUE
> 
> .plot <- xmap.plot.new( .graph, "A Plot", .X, .Y, type="line" )
> 
> .plots <- xmap.plot.list( .graph )
> assertLength( .plots, 1, paste( "Got", length( .plots ), "plots.  Should have only 1" ) )
[1] TRUE
> assertEqual( .plot, .plots[[1]], "Plot does not equal the first plot in the list" )
[1] TRUE
> 
> .data <- xmap.plot.load( .plot )
> assertNotNull( .data, "Load failed for plot data" )
[1] TRUE
> shouldFail( function() { assertLength( .data, 0 ) }, "Plot data should have more than 0 elements" )
[1] "Failed (yay) ' invalid length '"
[1] TRUE
> assertEqual( .data$TYPE, "line", "Plot type should be 'line'" )
[1] TRUE
> .data$TYPE <- "area"
> xmap.plot.save( .plot, .data, .X, .Y )
> .data2 <- xmap.plot.load( .plot )
> assertEqual( .data2$TYPE, "area", "Plot type should now be 'area'" )
[1] TRUE
> assertEqual( .data, .data2, "Saved and loaded plot data not identical!" )
[1] TRUE
> 
> .plot2 <- xmap.plot.new( .graph, "A Plot", .X, .Y, type="line" )
> 
> .plots <- xmap.plot.list( .graph )
> assertLength( .plots, 2, paste( "Got", length( .plots ), "plots.  Should have only 2" ) )
[1] TRUE
> 
> xmap.plot.delete( .plot )
> .plots <- xmap.plot.list( .graph )
> assertLength( .plots, 1, paste( "Got", length( .plots ), "plots.  Should have only 1" ) )
[1] TRUE
> 
> # Util tests
> ###############################################################################
> 
> shouldFail( function() { xmap.plot( .X, .badY, species="homo_sapiens", "1", type="line" ) }, "Invalid graph parameter shouldn't work!" )
[1] "Failed (yay) ' 'x' and 'y' lengths differ '"
[1] TRUE
> shouldFail( function() { xmap.plot( .X, .alphaY, species="homo_sapiens", "1", type="line" ) }, "Invalid graph parameter shouldn't work!" )
[1] "Failed (yay) ' y seems to contain non-numerics '"
[1] TRUE
> shouldFail( function() { xmap.plot( .X, .Y, species="homo_sapiens", "1", type="INVALID" ) }, "Invalid graph parameter shouldn't work!" )
[1] "Failed (yay) ' 'arg' should be one of \"scatter\", \"line\", \"bar\", \"step\", \"area\", \"steparea\" [dg] [dp] '"
[1] TRUE
> shouldFail( function() { xmap.plot( .X, .Y, species="MONKEY", "1" ) }, "Invalid species parameter shouldn't work!" )
[1] "Failed (yay) ' 'arg' should be one of \"homo_sapiens\", \"mus_musculus\", \"rattus_norvegicus\" '"
[1] TRUE
> shouldFail( function() { xmap.plot( .X, .Y, species="homo_sapiens" ) }, "Missing chromosome should have failed!" )
[1] "Failed (yay) ' You need to specify a chromosome for this plot '"
[1] TRUE
> .projects <- xmap.project.list()
> assertLength( .projects, 1, paste( "Got", length( .projects ), "projects.  There should still just be 1" ) )
[1] TRUE
> 
> .plot <- xmap.plot( .X, .Y, chr="1" )
> .projects <- xmap.project.list()
> assertLength( .projects, 2, paste( "Got", length( .projects ), "projects.  There should be 2" ) )
[1] TRUE
> 
> .graphs <- xmap.graph.list( .plot )
> assertLength( .graphs, 1, paste( "Got", length( .graphs ), "graphs.  There should be 1" ) )
[1] TRUE
> 
> .graph <- xmap.points( .X, .Y )
> .plots <- xmap.plot.list( .plot )
> assertLength( .plots, 2, paste( "Got", length( .plots ), "plots.  There should be 2" ) )
[1] TRUE
> 
> xmap.project.delete( .project )
> xmap.project.delete( .plot )
> .projects <- xmap.project.list()
> assertLength( .projects, 0, paste( "Got", length( .projects ), "projects.  There shouldn't be any" ) )
[1] TRUE
> 
> # Cleanup
> ###############################################################################
> 
> .teardown()
> 
> proc.time()
   user  system elapsed 
   0.81    0.51    1.32 

Example timings

xmapbridge.Rcheck/xmapbridge-Ex.timings

nameusersystemelapsed
xmap.col0.010.000.01
xmap.files0.160.000.16
xmap.plot0.010.040.04