[R-gregmisc-users] SF.net SVN: r-gregmisc:[1798] trunk/gdata/tests/unitTests/runit.unknown.R
Brought to you by:
warnes
From: <wa...@us...> - 2014-04-05 18:22:18
|
Revision: 1798 http://sourceforge.net/p/r-gregmisc/code/1798 Author: warnes Date: 2014-04-05 18:22:16 +0000 (Sat, 05 Apr 2014) Log Message: ----------- Don't compare optional POSIXlt field. Explicitly compare POSIXlt, with special handling of '-1' unknown value. Modified Paths: -------------- trunk/gdata/tests/unitTests/runit.unknown.R Modified: trunk/gdata/tests/unitTests/runit.unknown.R =================================================================== --- trunk/gdata/tests/unitTests/runit.unknown.R 2014-04-05 18:19:49 UTC (rev 1797) +++ trunk/gdata/tests/unitTests/runit.unknown.R 2014-04-05 18:22:16 UTC (rev 1798) @@ -331,9 +331,58 @@ ## Date-time classes checkIdentical(unknownToNA(xDateUnk, unknown=dateUnk), xDate) - checkIdentical(unknownToNA(xPOSIXltUnk, unknown=POSIXltUnk), xPOSIXlt) checkIdentical(unknownToNA(xPOSIXctUnk, unknown=POSIXctUnk), xPOSIXct) + #### + ## Per Brian Ripley on 2014-01-15: + ## + ## On platforms where POSIXlt has a gmtoff component, it does not need to be set. So + ## + ## > z$gmtoff + ## [1] 3600 NA + ## > xPOSIXltUnk$gmtoff + ## [1] 3600 3600 + ## + ## (or sometimes 0, not NA). + ## + ## So although identical() correctly reports that they differ, this + ## is allowed for optional components. + ## + ## It would also be wrong to use identical() to compare isdst + ## components: isdst = -1 means unknown. + ## + ## Replaced: + ## checkIdentical(unknownToNA(xPOSIXltUnk, unknown=POSIXltUnk), xPOSIXlt) + ## With: + tmp_unknownToNA <- unknownToNA(xPOSIXltUnk, unknown=POSIXltUnk) + tmp_xPOSIXlt <- xPOSIXlt + ## + tmp_unknownToNA$gmtoff <- NULL # Remove $gmtoff to avoid comparison + tmp_xPOSIXlt$gmtoff <- NULL + ## + isdst.unknown <- unique( + c(which(is.na(tmp_unknownToNA$isdst) | + tmp_unknownToNA$isdst==-1 + ) + ) + , + c(which(is.na(tmp_xPOSIXlt$isdst) | + tmp_xPOSIXlt$isdst==-1 + ) + ) + + ) + ## + checkIdentical(tmp_unknownToNA$isdst[!isdst.unknown], + tmp_xPOSIXlt$isds[!isdst.unknown]) + ## + tmp_unknownToNA$isdst <- NULL # Remove $isdst to avoid comparison + tmp_xPOSIXlt$isdst <- NULL # by checkIdentical + ## + checkIdentical(tmp_unknownToNA, tmp_xPOSIXlt) + #### + + ## --- lists and data.frames --- ## with vector of single unknown values This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |