empty_tz <- function(x) { attr(x, "tzone") <- "" x } test_that("arithmetics work", { expect_equal(as.Date("2016-03-31") + hms(hours = 1), as.Date("2016-03-31")) expect_equal(as.Date("2016-03-31") + hms(days = -1), as.Date("2016-03-30")) expect_equal(empty_tz(as.POSIXct("2016-03-31") + hms(1)), as.POSIXct("2016-03-31 00:00:01")) expect_equal(hms(hours = 1) + as.Date("2016-03-31"), as.Date("2016-03-31")) expect_equal(hms(days = 1) + as.Date("2016-03-31"), as.Date("2016-04-01")) expect_equal(empty_tz(hms(hours = 1) + as.POSIXct("2016-03-31")), as.POSIXct("2016-03-31 01:00:00")) expect_difftime_equal(hms(1) + hms(2), hms(3)) expect_difftime_equal(hms(1) - hms(2), hms(-1)) expect_difftime_equal(2 * hms(1), hms(2)) expect_difftime_equal(hms(hours = 1) / 2, hms(minutes = 30)) expect_difftime_equal(-hms(1), hms(-1)) }) test_that("component extraction work", { x <- as.numeric(hms(12.3, 45, 23, 1)) * TICS_PER_SECOND expect_equal(tic_of_second(x), 300000) expect_equal(second_of_minute(x), 12) expect_equal(minute_of_hour(x), 45) expect_equal(hour_of_day(x), 23) expect_equal(days(x), 1) }) test_that("component extraction work for negative times", { x <- as.numeric(-hms(12.3, 45, 23, 1)) * TICS_PER_SECOND expect_equal(tic_of_second(x), 300000) expect_equal(second_of_minute(x), 12) expect_equal(minute_of_hour(x), 45) expect_equal(hour_of_day(x), 23) expect_equal(days(x), -1) })
Generated by dwww version 1.15 on Sun Jun 23 21:28:00 CEST 2024.