tests/testthat/test-resample.R

test_that("resample trajectories", {
  # fmt: skip
  trjs <- dplyr::tribble(
    ~flight_id, ~timestamp, ~longitude, ~latitude, ~altitude, ~callsign,
    1, "2025-03-08T00:00:00Z", 0.0, 0.0, 0.0, "ABC",
    1, "2025-03-08T00:01:00Z", 1.0, 0.0, 100.0, "ABC",
    1, "2025-03-08T00:02:00Z", 2.0, 0.0, 0.0, "ABC",
    2, "2025-03-08T00:00:00Z", 0.0, 0.0, 0.0, "DEF",
    2, "2025-03-08T00:01:00Z", 0.0, 1.0, 100.0, "DEF",
    2, "2025-03-08T00:02:00Z", 0.0, 2.0, 0.0, "DEF",
  ) |>
    dplyr::mutate(timestamp = lubridate::as_datetime(timestamp))

  # fmt: skip
  gr_t <- dplyr::tribble(
    ~flight_id,            ~timestamp, ~longitude, ~latitude, ~altitude, ~callsign,
    1,          "2025-03-08",          0,         0,         0,     "ABC",
    1, "2025-03-08 00:00:12",        0.2,         0,        20,     "ABC",
    1, "2025-03-08 00:00:24",        0.4,         0,        40,     "ABC",
    1, "2025-03-08 00:00:36",        0.6,         0,        60,     "ABC",
    1, "2025-03-08 00:00:48",        0.8,         0,        80,     "ABC",
    1, "2025-03-08 00:01:00",          1,         0,       100,     "ABC",
    1, "2025-03-08 00:01:12",        1.2,         0,        80,     "ABC",
    1, "2025-03-08 00:01:24",        1.4,         0,        60,     "ABC",
    1, "2025-03-08 00:01:36",        1.6,         0,        40,     "ABC",
    1, "2025-03-08 00:01:48",        1.8,         0,        20,     "ABC",
    1, "2025-03-08 00:02:00",          2,         0,         0,     "ABC",
    2,          "2025-03-08",          0,         0,         0,     "DEF",
    2, "2025-03-08 00:00:12",          0,       0.2,        20,     "DEF",
    2, "2025-03-08 00:00:24",          0,       0.4,        40,     "DEF",
    2, "2025-03-08 00:00:36",          0,       0.6,        60,     "DEF",
    2, "2025-03-08 00:00:48",          0,       0.8,        80,     "DEF",
    2, "2025-03-08 00:01:00",          0,         1,       100,     "DEF",
    2, "2025-03-08 00:01:12",          0,       1.2,        80,     "DEF",
    2, "2025-03-08 00:01:24",          0,       1.4,        60,     "DEF",
    2, "2025-03-08 00:01:36",          0,       1.6,        40,     "DEF",
    2, "2025-03-08 00:01:48",          0,       1.8,        20,     "DEF",
    2, "2025-03-08 00:02:00",          0,         2,         0,     "DEF"
  ) |>
    dplyr::mutate(timestamp = lubridate::as_datetime(timestamp),
           across(c("longitude", "latitude", "altitude"), as.numeric))

  res <- trjs |>
    resample(12L)

  expect_equal(res, gr_t)
})
euctrl-pru/trrrj documentation built on April 11, 2025, 3:36 p.m.