test_that("Large exponents can parse", { res <- vroom( I("1e-63,1e-64\n"), delim = ",", col_types = "dd", col_names = FALSE ) expect_equal(res[[1]], 1e-63) expect_equal(res[[2]], 1e-64) }) test_that("Doubles parse correctly with comma as decimal separator", { res <- vroom( I("23,4\n"), delim = '\t', altrep = FALSE, locale = locale(decimal_mark = ','), col_types = 'd', col_names = FALSE ) expect_equal(res[[1]], 23.4) res2 <- vroom( I("23,4\n"), delim = '\t', altrep = TRUE, locale = locale(decimal_mark = ','), col_types = 'd', col_names = FALSE ) expect_equal(res2[[1]], 23.4) }) test_that("NA can be a double value", { test_vroom( I("x\n1\n2\n"), delim = ",", col_types = "d", na = "1", equals = tibble::tibble(x = c(NA_real_, 2)) ) }) test_that("NaN values are guessed and parsed as doubles (https://github.com/tidyverse/readr/issues/1277)", { test_vroom( I("x\nNaN\n"), delim = ",", col_types = "?", equals = tibble::tibble(x = c(NaN)) ) }) test_that("Test that values with only a NaN prefix are _not_ parsed as doubles", { test_vroom( I("x\nNaNa\n"), delim = ",", col_types = "?", equals = tibble::tibble(x = c("NaNa")) ) }) test_that("Inf and -Inf values are guessed and parsed as doubles (https://github.com/tidyverse/readr/issues/1283)", { test_vroom( I("x\nInf\n-Inf\n+Inf"), delim = ",", col_types = "?", equals = tibble::tibble(x = c(Inf, -Inf, Inf)) ) }) test_that("Test that values with only a Inf prefix are _not_ parsed as doubles", { test_vroom( I("x\nInfa\n-Infb\n+Infc"), delim = ",", col_types = "?", equals = tibble::tibble(x = c("Infa", "-Infb", "+Infc")) ) })