tests/testthat/test-assume_latlon.R

test_that("lat/lng can be assumed", {
  # error with duplicates
  testthat::expect_error(assume_latlon(
    quiet = TRUE,
    data.frame(
      latitude = character(),
      lat = character(),
      longitude = character(),
      lng = character()
    ),
    NULL,
    NULL
  ))

  # duplicates are ignored if specified
  testthat::expect_equal(
    assume_latlon(
      quiet = TRUE,
      data.frame(
        latitude = character(),
        lat = character(),
        longitude = character()
      ),
      latitude = "lat",
      NULL
    ),
    list(latitude = "lat", longitude = "longitude")
  )

  # specified lat/lng are honoured
  testthat::expect_equal(
    assume_latlon(
      quiet = TRUE,
      data.frame(
        latitude = character(),
        some_weird_column = character(),
        longitude = character(),
        another_weird_column = character()
      ),
      latitude = "some_weird_column",
      longitude = "another_weird_column"
    ),
    list(latitude = "some_weird_column", longitude = "another_weird_column")
  )

  # fail if no matches
  testthat::expect_error(assume_latlon(
    quiet = TRUE,
    data.frame(
      some_weird_column = character(),
      another_weird_column = character()
    ),
    latitude = NULL,
    longitude = NULL
  ))
})
davidcarslaw/openairmaps documentation built on March 1, 2025, 7:50 p.m.