From f0a4bf63b8fd59c065ebd34f2aaed71b686ebecb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mikkel=20Roald-Arb=C3=B8l?= Date: Thu, 5 Dec 2024 11:07:02 +0100 Subject: [PATCH] Consolidate tests of readers --- tests/testthat/test-input.R | 26 +++++++++++++++ tests/testthat/test-read_animalta.R | 40 ------------------------ tests/testthat/test-read_bonsai.R | 30 ------------------ tests/testthat/test-read_deeplabcut.R | 27 ---------------- tests/testthat/test-read_file.R | 38 ++++++++++++++++++++++ tests/testthat/test-read_idtracker.R | 32 ------------------- tests/testthat/test-read_lightningpose.R | 27 ---------------- tests/testthat/test-read_sleap.R | 28 ----------------- tests/testthat/test-read_trex.R | 13 -------- 9 files changed, 64 insertions(+), 197 deletions(-) create mode 100644 tests/testthat/test-input.R delete mode 100644 tests/testthat/test-read_animalta.R delete mode 100644 tests/testthat/test-read_bonsai.R delete mode 100644 tests/testthat/test-read_deeplabcut.R create mode 100644 tests/testthat/test-read_file.R delete mode 100644 tests/testthat/test-read_idtracker.R delete mode 100644 tests/testthat/test-read_lightningpose.R delete mode 100644 tests/testthat/test-read_sleap.R delete mode 100644 tests/testthat/test-read_trex.R diff --git a/tests/testthat/test-input.R b/tests/testthat/test-input.R new file mode 100644 index 0000000..2a2d9e7 --- /dev/null +++ b/tests/testthat/test-input.R @@ -0,0 +1,26 @@ +# Test arguments + +# Paths to test data +path_animalta_raw <- here::here("tests", "data", "animalta", "single_individual_multi_arena.csv") +path_animalta_detailed <- here::here("tests", "data", "animalta", "variable_individuals_single_arena.csv") +path_bonsai <- here::here("tests", "data", "bonsai", "LI850.csv") +path_dlc_single <- here::here("tests", "data", "deeplabcut", "mouse_single.csv") +path_dlc_multi <- here::here("tests", "data", "deeplabcut", "mouse_multi.csv") +path_idtracker_csv <- here::here("tests", "data", "idtrackerai", "trajectories_csv", "trajectories.csv") +path_idtracker_csv_probabilities <- here::here("tests", "data", "idtrackerai", "trajectories_csv", "id_probabilities.csv") +path_lightningpose_single <- here::here("tests", "data", "lightningpose", "mouse_single.csv") +path_lightningpose_twoview <- here::here("tests", "data", "lightningpose", "mouse_twoview.csv") +path_trex <- here::here("tests", "data", "trex", "beetle.csv") + +# File headers (not including h5 files) +test_that("Test output header names", { + expect_no_error(ensure_file_has_headers(path_animalta_raw)) + expect_no_error(ensure_file_has_headers(path_animalta_detailed)) + expect_no_error(ensure_file_has_headers(path_bonsai)) + expect_no_error(ensure_file_has_headers(path_dlc_single)) + expect_no_error(ensure_file_has_headers(path_dlc_multi)) + expect_no_error(ensure_file_has_headers(path_idtracker_csv)) + expect_no_error(ensure_file_has_headers(path_lightningpose_single)) + expect_no_error(ensure_file_has_headers(path_lightningpose_twoview)) + expect_no_error(ensure_file_has_headers(path_trex)) +}) diff --git a/tests/testthat/test-read_animalta.R b/tests/testthat/test-read_animalta.R deleted file mode 100644 index e87559a..0000000 --- a/tests/testthat/test-read_animalta.R +++ /dev/null @@ -1,40 +0,0 @@ -# Test arguments -path_raw <- here::here("tests", "data", "animalta", "single_individual_multi_arena.csv") -path_detailed <- here::here("tests", "data", "animalta", "variable_individuals_single_arena.csv") - -# File headers -test_that("File headers", { - expect_no_error( - ensure_file_has_headers(path_raw) - ) - expect_no_error( - ensure_file_has_headers(path_detailed) - ) -}) - - -# Read file -test_that("Read file", { - expect_no_error( - read_animalta(path_raw, detailed = FALSE) - ) - expect_no_error( - read_animalta(path_detailed, detailed = TRUE) - ) - expect_error( - read_animalta(path_raw, detailed = TRUE) - ) - expect_error( - read_animalta(path_detailed, detailed = FALSE) - ) - expect_contains( - read_animalta(path_raw, detailed = FALSE) |> - names(), - c("time", "individual", "keypoint", "x", "y") - ) - expect_contains( - read_animalta(path_detailed, detailed = TRUE) |> - names(), - c("time", "individual", "keypoint", "x", "y") - ) -}) diff --git a/tests/testthat/test-read_bonsai.R b/tests/testthat/test-read_bonsai.R deleted file mode 100644 index 6c3bc8e..0000000 --- a/tests/testthat/test-read_bonsai.R +++ /dev/null @@ -1,30 +0,0 @@ -# Test arguments - -path_correct <- here::here("tests", "data", "bonsai", "LI850.csv") - -# File headers -test_that("File headers", { - expect_no_error( - ensure_file_has_headers(path_correct) - ) -}) - - -# Read file -test_that("Read file", { - expect_no_error( - read_bonsai(path_correct) - ) - expect_contains( - read_bonsai(path_correct) |> - names(), - c("time", "keypoint", "x", "y") - ) -}) - -# Full correct test -test_that("Correct setup", { - expect_no_error( - read_bonsai(path = path_correct) - ) -}) diff --git a/tests/testthat/test-read_deeplabcut.R b/tests/testthat/test-read_deeplabcut.R deleted file mode 100644 index dadcf61..0000000 --- a/tests/testthat/test-read_deeplabcut.R +++ /dev/null @@ -1,27 +0,0 @@ -path_single <- here::here("tests", "data", "deeplabcut", "mouse_single.csv") -path_multi <- here::here("tests", "data", "deeplabcut", "mouse_multi.csv") - -# Read file -## Single animal -test_that("Read single-animal file", { - expect_no_error( - read_deeplabcut(path_single) - ) - expect_contains( - read_deeplabcut(path_single) |> - names(), - c("time", "keypoint", "x", "y", "confidence") - ) -}) - -## Multi-animal -test_that("Read multi-animal file", { - expect_no_error( - read_deeplabcut(path_multi) - ) - expect_contains( - read_deeplabcut(path_multi) |> - names(), - c("time", "individual", "keypoint", "x", "y", "confidence") - ) -}) diff --git a/tests/testthat/test-read_file.R b/tests/testthat/test-read_file.R new file mode 100644 index 0000000..2ec5044 --- /dev/null +++ b/tests/testthat/test-read_file.R @@ -0,0 +1,38 @@ +# Test arguments + +# Paths to test data +path_animalta_raw <- here::here("tests", "data", "animalta", "single_individual_multi_arena.csv") +path_animalta_detailed <- here::here("tests", "data", "animalta", "variable_individuals_single_arena.csv") +path_bonsai <- here::here("tests", "data", "bonsai", "LI850.csv") +path_dlc_single <- here::here("tests", "data", "deeplabcut", "mouse_single.csv") +path_dlc_multi <- here::here("tests", "data", "deeplabcut", "mouse_multi.csv") +path_idtracker_h5 <- here::here("tests", "data", "idtrackerai", "trajectories.h5") +path_idtracker_csv <- here::here("tests", "data", "idtrackerai", "trajectories_csv", "trajectories.csv") +path_idtracker_csv_probabilities <- here::here("tests", "data", "idtrackerai", "trajectories_csv", "id_probabilities.csv") +path_lightningpose_single <- here::here("tests", "data", "lightningpose", "mouse_single.csv") +path_lightningpose_twoview <- here::here("tests", "data", "lightningpose", "mouse_twoview.csv") +path_sleap_single <- here::here("tests", "data", "sleap", "SLEAP_single-mouse_EPM.analysis.h5") +path_sleap_multi <- here::here("tests", "data", "sleap", "SLEAP_three-mice_Aeon_mixed-labels.analysis.h5") +path_trex <- here::here("tests", "data", "trex", "beetle.csv") +path_trackball_1 <- here::here("tests", "data", "single", "opticalflow_sensor_1.csv") +path_trackball_2 <- here::here("tests", "data", "single", "opticalflow_sensor_2.csv") + +# Read file +test_that("Read file", { + expect_no_error(read_animalta(path_animalta_raw, detailed = FALSE)) + expect_no_error(read_animalta(path_animalta_detailed, detailed = TRUE)) + expect_error(read_animalta(path_animalta_raw, detailed = TRUE)) + expect_error(read_animalta(path_animalta_detailed, detailed = FALSE)) + expect_no_error(read_bonsai(path_bonsai)) + expect_no_error(read_deeplabcut(path_dlc_single)) + expect_no_error(read_deeplabcut(path_dlc_multi)) + expect_no_error(read_idtracker(path_idtracker_csv)) + expect_no_error(read_idtracker(path_idtracker_csv, path_idtracker_csv_probabilities)) + expect_warning(read_idtracker(path_idtracker_h5, path_idtracker_csv_probabilities)) + expect_no_error(read_idtracker(path_idtracker_h5)) + expect_no_error(read_lightningpose(path_lightningpose_single)) + expect_no_error(read_lightningpose(path_lightningpose_twoview)) + expect_no_error(read_sleap(path_sleap_single)) + expect_no_error(read_sleap(path_sleap_multi)) + expect_no_error(read_trex(path_trex)) +}) diff --git a/tests/testthat/test-read_idtracker.R b/tests/testthat/test-read_idtracker.R deleted file mode 100644 index ffd9324..0000000 --- a/tests/testthat/test-read_idtracker.R +++ /dev/null @@ -1,32 +0,0 @@ -path_csv <- here::here("tests", "data", "idtrackerai", "trajectories_csv", "trajectories.csv") -path_probabilities <- here::here("tests", "data", "idtrackerai", "trajectories_csv", "id_probabilities.csv") -path_h5 <- here::here("tests", "data", "idtrackerai", "trajectories.h5") - -# Read file -## Single animal -test_that("Read file", { - expect_no_error( - read_idtracker(path_csv) - ) - expect_no_error( - read_idtracker(path_csv, path_probabilities) - ) - expect_warning( - read_idtracker(path_h5, path_probabilities) - ) - expect_contains( - read_idtracker(path_csv) |> - names(), - c("time", "individual", "keypoint", "x", "y") - ) - expect_contains( - read_idtracker(path_csv, path_probabilities) |> - names(), - c("time", "individual", "keypoint", "x", "y", "confidence") - ) - expect_contains( - read_idtracker(path_h5) |> - names(), - c("time", "individual", "keypoint", "x", "y", "confidence") - ) -}) diff --git a/tests/testthat/test-read_lightningpose.R b/tests/testthat/test-read_lightningpose.R deleted file mode 100644 index 640a563..0000000 --- a/tests/testthat/test-read_lightningpose.R +++ /dev/null @@ -1,27 +0,0 @@ -path_single <- here::here("tests", "data", "lightningpose", "mouse_single.csv") -path_twoview <- here::here("tests", "data", "lightningpose", "mouse_twoview.csv") - -# Read file -## Single animal -test_that("Read single-animal file", { - expect_no_error( - read_lightningpose(path_single) - ) - expect_contains( - read_lightningpose(path_single) |> - names(), - c("time", "keypoint", "x", "y", "confidence") - ) -}) - -## Two-view -test_that("Read multi-animal file", { - expect_no_error( - read_lightningpose(path_twoview) - ) - expect_contains( - read_lightningpose(path_twoview) |> - names(), - c("time", "keypoint", "x", "y", "confidence") - ) -}) diff --git a/tests/testthat/test-read_sleap.R b/tests/testthat/test-read_sleap.R deleted file mode 100644 index 0ee016e..0000000 --- a/tests/testthat/test-read_sleap.R +++ /dev/null @@ -1,28 +0,0 @@ -path_single <- here::here("tests", "data", "sleap", "SLEAP_single-mouse_EPM.analysis.h5") -path_multi <- here::here("tests", "data", "sleap", "SLEAP_three-mice_Aeon_mixed-labels.analysis.h5") - -# Read file -## Single animal -test_that("Read single-animal file", { - expect_no_error( - read_sleap(path_single) - ) - expect_contains( - read_sleap(path_single) |> - names(), - c("time", "keypoint", "x", "y", "confidence") - ) -}) - -## Multi-animal -test_that("Read multi-animal file", { - expect_no_error( - read_sleap(path_multi) - ) - expect_contains( - read_sleap(path_multi) |> - names(), - c("time", "individual", "keypoint", "x", "y", "confidence") - ) -}) - diff --git a/tests/testthat/test-read_trex.R b/tests/testthat/test-read_trex.R deleted file mode 100644 index 627dd53..0000000 --- a/tests/testthat/test-read_trex.R +++ /dev/null @@ -1,13 +0,0 @@ -path <- here::here("tests", "data", "trex", "beetle.csv") - -# Read file -test_that("Read TRex file", { - expect_no_error( - read_trex(path) - ) - expect_contains( - read_trex(path) |> - names(), - c("time", "keypoint", "x", "y") - ) -})