Nothing
test_that("floordate/ceilingdate/rounddate actually round instead of no-op", {
d <- as.Date(c("2024-03-15", "2024-01-31"))
expect_equal(floordate(d, "month"), as.Date(c("2024-03-01", "2024-01-01")))
expect_equal(floordate(d, "year"), as.Date(c("2024-01-01", "2024-01-01")))
expect_equal(floordate(as.Date("2024-03-15"), "week"), as.Date("2024-03-11"))
expect_equal(ceilingdate(d, "month"), as.Date(c("2024-04-01", "2024-02-01")))
expect_equal(ceilingdate(as.Date("2024-03-15"), "year"), as.Date("2025-01-01"))
expect_equal(rounddate(as.Date("2024-03-20"), "month"), as.Date("2024-04-01"))
expect_equal(rounddate(as.Date("2024-03-10"), "month"), as.Date("2024-03-01"))
})
test_that("addmonths/addyears are vectorized and honor invalid=", {
out <- addmonths(as.Date(c("2024-01-15", "2024-02-15")), 1)
expect_equal(out, as.Date(c("2024-02-15", "2024-03-15")))
expect_equal(addmonths(as.Date("2024-01-31"), 1, invalid = "previous"), as.Date("2024-02-29"))
expect_equal(addmonths(as.Date("2024-01-31"), 1, invalid = "next"), as.Date("2024-03-02"))
expect_equal(addmonths(as.Date("2024-01-31"), 1, invalid = "missing"), as.Date(NA))
expect_error(addmonths(as.Date("2024-01-31"), 1, invalid = "error"), "invalid date")
expect_equal(addyears(as.Date("2024-02-29"), 1, invalid = "previous"), as.Date("2025-02-28"))
})
test_that("datediff honors the units argument", {
x <- as.Date("2024-01-03")
y <- as.Date("2024-01-01")
expect_equal(datediff(x, y, units = "days"), 2)
expect_equal(datediff(x, y, units = "weeks"), 2 / 7)
})
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.