[R-gregmisc-users] SF.net SVN: r-gregmisc:[1793] trunk/gdata
Brought to you by:
warnes
From: <wa...@us...> - 2014-04-05 16:59:47
|
Revision: 1793 http://sourceforge.net/p/r-gregmisc/code/1793 Author: warnes Date: 2014-04-05 16:59:43 +0000 (Sat, 05 Apr 2014) Log Message: ----------- The issue Brian pointed out was an error in the isUnknown() code, not an error in the unit tests! Modified Paths: -------------- trunk/gdata/R/unknown.R trunk/gdata/tests/unitTests/runit.unknown.R Modified: trunk/gdata/R/unknown.R =================================================================== --- trunk/gdata/R/unknown.R 2014-04-05 15:55:48 UTC (rev 1792) +++ trunk/gdata/R/unknown.R 2014-04-05 16:59:43 UTC (rev 1793) @@ -29,7 +29,14 @@ } else { unknown <- as.character(x=unknown, ...) } - isUnknown.default(x=as.character(x), unknown=unknown) + + if(is.list(x) && !inherits(x=x, what="POSIXlt")) { + x <- lapply(x, FUN=as.character, ...) + } else { + x <- as.character(x=x, ...) + } + + isUnknown.default(x=as.character(x), unknown=as.character(unknown)) } isUnknown.list <- function(x, unknown=NA, ...) { Modified: trunk/gdata/tests/unitTests/runit.unknown.R =================================================================== --- trunk/gdata/tests/unitTests/runit.unknown.R 2014-04-05 15:55:48 UTC (rev 1792) +++ trunk/gdata/tests/unitTests/runit.unknown.R 2014-04-05 16:59:43 UTC (rev 1793) @@ -249,42 +249,7 @@ ## Date-time classes checkIdentical(isUnknown(xDateUnk, unknown=dateUnk), xDateTest) checkIdentical(isUnknown(xDate1Unk, unknown=dateUnk), xDate1Test) - - #### - ## 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(isUnknown(xPOSIXltUnk, unknown=POSIXltUnk), xPOSIXltTest) - ## With: - tmp_isUnknown <- isUnknown(xPOSIXltUnk, unknown=POSIXltUnk) - tmp_xPOSIXltTest <- xPOSIXlt - - tmp_isUnknown$gmtoff <- NULL # Remove $gmtoff to avoid comparison - tmp_xPOSIXltTest$gmtoff <- NULL - - tmp_isUnknownisdst <- NULL # Remove $isdst to avoid comparison - tmp_xPOSIXltTest$isdst <- NULL - - checkIdentical(tmp_isUnknown, tmp_xPOSIXltTest) - ## - #### - + checkIdentical(isUnknown(xPOSIXltUnk, unknown=POSIXltUnk), xPOSIXltTest) checkIdentical(isUnknown(xPOSIXlt1Unk, unknown=POSIXltUnk), xPOSIXlt1Test) checkIdentical(isUnknown(xPOSIXctUnk, unknown=POSIXctUnk), xPOSIXctTest) checkIdentical(isUnknown(xPOSIXct1Unk, unknown=POSIXctUnk), xPOSIXct1Test) @@ -366,41 +331,9 @@ ## 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 - - tmp_unknownToNA$isdst <- NULL # Remove $isdst to avoid comparison - tmp_xPOSIXlt$isdst <- NULL - - 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. |