# Test data documentation library(testthat) library(Athlytics) test_that("sample data objects are properly documented", { # Load data data(athlytics_sample_acwr) data(athlytics_sample_decoupling) data(athlytics_sample_ef) data(athlytics_sample_exposure) data(athlytics_sample_pbs) # Test athlytics_sample_acwr expect_s3_class(athlytics_sample_acwr, "data.frame") expect_true("date" %in% names(athlytics_sample_acwr)) expect_true("acwr" %in% names(athlytics_sample_acwr)) expect_true("atl" %in% names(athlytics_sample_acwr)) expect_true("ctl" %in% names(athlytics_sample_acwr)) # Test athlytics_sample_decoupling expect_s3_class(athlytics_sample_decoupling, "data.frame") expect_true("date" %in% names(athlytics_sample_decoupling)) expect_true("decoupling" %in% names(athlytics_sample_decoupling)) # Test athlytics_sample_ef expect_s3_class(athlytics_sample_ef, "data.frame") expect_true("date" %in% names(athlytics_sample_ef)) expect_true("ef_value" %in% names(athlytics_sample_ef)) # Test athlytics_sample_exposure expect_s3_class(athlytics_sample_exposure, "data.frame") expect_true("date" %in% names(athlytics_sample_exposure)) expect_true("daily_load" %in% names(athlytics_sample_exposure)) # Test athlytics_sample_pbs expect_s3_class(athlytics_sample_pbs, "data.frame") expect_true("activity_id" %in% names(athlytics_sample_pbs)) expect_true("distance" %in% names(athlytics_sample_pbs)) }) test_that("sample data has correct dimensions", { # Check that data frames have rows expect_gt(nrow(athlytics_sample_acwr), 0) expect_gt(nrow(athlytics_sample_decoupling), 0) expect_gt(nrow(athlytics_sample_ef), 0) expect_gt(nrow(athlytics_sample_exposure), 0) expect_gt(nrow(athlytics_sample_pbs), 0) }) test_that("sample data has valid values", { # Check ACWR values are in reasonable range expect_true(all(athlytics_sample_acwr$acwr >= 0, na.rm = TRUE)) expect_true(all(athlytics_sample_acwr$acwr <= 5, na.rm = TRUE)) # Check decoupling percentages expect_true(all(athlytics_sample_decoupling$decoupling >= -50, na.rm = TRUE)) expect_true(all(athlytics_sample_decoupling$decoupling <= 50, na.rm = TRUE)) # Check EF values are positive expect_true(all(athlytics_sample_ef$ef_value > 0, na.rm = TRUE)) # Check distances are positive expect_true(all(athlytics_sample_pbs$distance > 0, na.rm = TRUE)) })