Skip to content

[Bioc-devel] testing class and length of function args

4 messages · Michael Love, Jim Hester, Valerie Obenchain

#
it's slightly annoying to write

foo <- function(x) {
  if ( ! is.numeric(x) ) stop("x should be numeric")
  if ( ! length(x) == 2 ) stop("x should be length 2")
  c(x[2], x[1])
}

i wonder if we could have some core functions that test the class and
the length in one and give the appropriate stop message.

maybe this exists already

-Mike
#
Not sure about within Bioconductor but Hadley has a package to do this.

https://github.com/hadley/assertthat

On Wed, Jul 22, 2015 at 4:13 PM, Michael Love <michaelisaiahlove at gmail.com>
wrote:

  
  
#
There is a collection in S4Vectors that test atomic types and return a 
logical.

isSingleInteger
isSingleNumber
isSingleNumberOrNA
isSingleString
isSingleStringOrNA
isTRUEorFALSE


 > isSingleNumber(1:5)
[1] FALSE
 > isSingleNumber(NA)
[1] FALSE


Val
On 07/22/2015 04:22 PM, Jim Hester wrote:

  
    
#
Also just found https://github.com/mllg/checkmate

Haven't used it before but it seems well thought out, also impressive test
coverage! (not biased).

On Wed, Jul 22, 2015 at 8:47 PM, Valerie Obenchain <vobencha at fredhutch.org>
wrote: