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"))) })