2016-09-20 6 views
0

これはパッケージtestthatのバグですか? xは常にxと同じであると思います。代わりにエラーが発生します。行なしのxtsのユニットテスト

x = structure(logical(0), index = structure(numeric(0), tzone = "", tclass = c("POSIXct", "POSIXt")), 
    .indexCLASS = c("POSIXct", "POSIXt"), tclass = c("POSIXct", "POSIXt"), .indexTZ = "", tzone = "", 
    class = c("xts", "zoo"), .Dim = c(0L, 4L), .Dimnames = list(NULL, c("F", "G", "H", "J"))) 
testthat::expect_equivalent(x,x)  
> Error in NextMethod(.Generic) : binary operation on non-conformable arrays 

私はあなたがxが何かに同じことを期待している場合、あなたはtestthat::expect_identicalを使用する必要がありますtestthatバージョン1.0.2

+0

パッケージを更新する場合がありますか?私はここに問題がないと思う。 – Raad

+0

あなたが何を求めているのか正確には分からない。 –

+0

@NBATrendsあなたはエラーを受け取りませんか? (私は私の質問を更新しました) – RockScience

答えて

0

を持って注意してください。 testthat::expect_equivalentは、長さゼロのベクトル間の等価性をテストしているため、xオブジェクトでは機能しない可能性があります。

つまり、私はあなたのコードでエラーを再現することはできません。ここに私のsessionInfo出力です。

R> sessionInfo() 
R version 3.3.1 (2016-06-21) 
Platform: x86_64-pc-linux-gnu (64-bit) 
Running under: Ubuntu 16.04.1 LTS 

locale: 
[1] LC_CTYPE=en_US.UTF-8  LC_NUMERIC=C    
[3] LC_TIME=en_US.UTF-8  LC_COLLATE=en_US.UTF-8  
[5] LC_MONETARY=en_US.UTF-8 LC_MESSAGES=en_US.UTF-8 
[7] LC_PAPER=en_US.UTF-8  LC_NAME=C     
[9] LC_ADDRESS=C    LC_TELEPHONE=C    
[11] LC_MEASUREMENT=en_US.UTF-8 LC_IDENTIFICATION=C  

attached base packages: 
[1] stats  graphics grDevices utils  datasets methods base  

loaded via a namespace (and not attached): 
[1] magrittr_1.5 R6_2.0.1  memoise_0.2.1 crayon_1.2.1 digest_0.6.8 
[6] testthat_1.0.2