Nothing
library(dplyr)
# tests/testthat/helper-mockdata.R
mock_pbs_df <- data.frame(
activity_id = c("1", "2", "3", "4"),
activity_date = lubridate::ymd_hms(c("2023-01-01 10:00:00", "2023-01-15 10:00:00", "2023-02-01 10:00:00", "2023-02-15 10:00:00")),
distance = rep(c(5000, 10000), each = 2),
time_seconds = c(1500, 1450, 3200, 3100),
cumulative_pb_seconds = c(1500, 1450, 3200, 3100),
is_pb = c(TRUE, TRUE, TRUE, TRUE),
distance_label = factor(rep(c("5k", "10k"), each = 2), levels = c("5k", "10k")),
stringsAsFactors = FALSE
)
mock_acwr_df <- data.frame(
date = seq(lubridate::ymd("2023-01-01"), lubridate::ymd("2023-02-10"), by="day"),
atl = round(runif(41, 30, 70) + sin(seq(0, 4*pi, length.out=41))*10, 1),
ctl = round(runif(41, 40, 60) + sin(seq(0, 2*pi, length.out=41))*5, 1)
) %>%
dplyr::mutate(
ctl_safe = ifelse(ctl <= 0, 1, ctl),
acwr = round(atl / ctl_safe, 2),
acwr_smooth = acwr
) %>%
dplyr::select(date, atl, ctl, acwr, acwr_smooth)
latlng_list <- lapply(1:3601, function(i) c(runif(1, 40, 41), runif(1, -75, -74)))
mock_activity_streams <- data.frame(
time = seq(0, 3600, by = 1),
latlng = I(latlng_list),
distance = seq(0, 10000, length.out = 3601),
altitude = rnorm(3601, 100, 10),
velocity_smooth = rnorm(3601, 3, 0.5),
heartrate = round(runif(3601, 130, 170) + sin(seq(0, 4 * pi, length.out = 3601)) * 10),
cadence = round(runif(3601, 85, 95)),
watts = round(runif(3601, 150, 250) + sin(seq(0, 2 * pi, length.out = 3601)) * 20),
grade_smooth = rnorm(3601, 0, 1),
moving = sample(c(TRUE, FALSE), 3601, replace = TRUE, prob = c(0.95, 0.05)),
temp = rnorm(3601, 20, 3)
)
mock_ef_df <- data.frame(
activity_id = c("1", "2", "3", "4", "5"),
date = lubridate::ymd(c("2023-01-01", "2023-01-15", "2023-02-01", "2023-02-15", "2023-03-01")),
activity_type = rep("Run", 5),
ef_value = round(rnorm(5, 1.5, 0.1), 2),
ef_metric = rep("Pace_HR", 5),
stringsAsFactors = FALSE
)
mock_exposure_df <- data.frame(
date = seq(lubridate::ymd("2023-01-01"), lubridate::ymd("2023-02-10"), by="day"),
atl = round(runif(41, 30, 70) + sin(seq(0, 4*pi, length.out=41))*10, 1),
ctl = round(runif(41, 40, 60) + sin(seq(0, 2*pi, length.out=41))*5, 1)
) %>%
dplyr::mutate(
ctl_safe = ifelse(ctl <= 0, 1, ctl),
acwr = round(atl / ctl_safe, 2)
)
mock_activity_list_df <- data.frame(
id = c(1001, 1002, 1003, 1004, 1005, 1006, 1007, 1008, 1009, 1010),
name = paste("Activity", 1:10),
start_date_local = seq.POSIXt(as.POSIXct("2023-10-01 08:00:00", tz = "UTC"),
by = "-2 days", length.out = 10),
type = rep(c("Run", "Ride"), length.out = 10),
distance = c(5050, 20100, 10200, 30500, 8030, 15200, 12100, 40300, 6050, 25400),
moving_time = c(1800, 3600, 3000, 5400, 2400, 2700, 3300, 7200, 1900, 4500),
elapsed_time = c(1850, 3700, 3060, 5500, 2450, 2780, 3380, 7350, 1950, 4600),
total_elevation_gain = c(50, 150, 100, 250, 80, 120, 110, 300, 60, 200),
average_heartrate = c(150, 140, 155, 145, 152, 142, 158, 148, 151, 141),
max_heartrate = c(170, 160, 175, 165, 172, 162, 178, 168, 171, 161),
average_watts = c(NA, 200, NA, 220, NA, 190, NA, 230, NA, 210),
stringsAsFactors = FALSE
)
mock_activity_list_df$start_date_local <- as.POSIXct(mock_activity_list_df$start_date_local, tz = "UTC")
# Adjust the date of the second "Run" activity (original index 3) to be within the test range
# The test expects two runs between 2023-10-01 and 2023-10-03
# Original dates: 2023-10-01 (Run), 2023-09-29 (Ride), 2023-09-27 (Run)
# Change 2023-09-27 to 2023-10-02 for the second Run
mock_activity_list_df$start_date_local[3] <- as.POSIXct("2023-10-02 09:00:00", tz = "UTC")
mock_activity_list_df$duration_mins <- mock_activity_list_df$elapsed_time / 60
mock_activity_list_df$distance_km <- mock_activity_list_df$distance / 1000
mock_activity_list_df_for_list <- mock_activity_list_df %>%
dplyr::mutate(start_date_local = format(start_date_local, "%Y-%m-%d %H:%M:%S"))
mock_activity_list_list <- purrr::transpose(mock_activity_list_df_for_list)
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.