Skip to content

Commit 1bf846b

Browse files
committed
Update tests for swimming, cross-country skiing
1 parent 22ad790 commit 1bf846b

3 files changed

Lines changed: 131 additions & 0 deletions

File tree

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
library(tcxr)
2+
library(XML)
3+
library(testthat)
4+
5+
# TCX test files
6+
# Reference: I. Jr. Fister, S. Rauter, D. Fister, I. Fister. A collection of sport activity datasets with an emphasis on powermeter data. Technical report, University of Maribor, 2017.
7+
# More info: https://github.com/firefly-cpp/tcx-test-files
8+
9+
sample_tcx_file <- testthat::test_path("test_files", "cross-country-skiing_activity_1.tcx")
10+
11+
test_that("TCXRead returns expected values for a cross-country skiing file", {
12+
result <- TCXRead(sample_tcx_file)
13+
14+
expected_distance <- 5692.01
15+
expected_time <- 2401.26
16+
expected_calories <- 532
17+
expected_max_altitude <- 2337.6
18+
expected_total_ascent <- 1118
19+
expected_total_descent <- 117.1997
20+
expected_max_speed <- 22.1688
21+
expected_max_hr <- 172
22+
expected_avg_hr <- 141 # TODO:: Compare it with the tcxreader in python
23+
24+
expect_type(result, "list")
25+
expect_true("summary" %in% names(result))
26+
expect_true("raw_data" %in% names(result))
27+
28+
expect_equal(result$summary$total_distance_meters, expected_distance, tolerance = 0.01)
29+
expect_equal(result$summary$total_time_seconds, expected_time, tolerance = 0.01)
30+
expect_equal(result$summary$total_calories, expected_calories, tolerance = 0.01)
31+
expect_equal(result$summary$max_altitude, expected_max_altitude, tolerance = 0.01)
32+
expect_equal(result$summary$total_ascent, expected_total_ascent, tolerance = 0.01)
33+
expect_equal(result$summary$total_descent, expected_total_descent, tolerance = 0.01)
34+
expect_equal(result$summary$max_speed_kmh, expected_max_speed, tolerance = 0.01)
35+
36+
expect_true(is.na(result$summary$max_watts))
37+
expect_true(is.na(result$summary$max_cadence))
38+
expect_true(is.na(result$summary$average_cadence))
39+
40+
expect_equal(result$summary$max_hr, expected_max_hr, tolerance = 0.01)
41+
expect_equal(result$summary$average_hr, expected_avg_hr, tolerance = 0.01)
42+
43+
expect_s3_class(result$raw_data, "data.frame")
44+
expect_true(nrow(result$raw_data) > 0)
45+
})

tests/testthat/test-file-2.R

Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
library(tcxr)
2+
library(XML)
3+
library(testthat)
4+
5+
# TCX test files
6+
# Reference: I. Jr. Fister, S. Rauter, D. Fister, I. Fister. A collection of sport activity datasets with an emphasis on powermeter data. Technical report, University of Maribor, 2017.
7+
# More info: https://github.com/firefly-cpp/tcx-test-files
8+
9+
sample_tcx_file <- testthat::test_path("test_files", "2.tcx")
10+
11+
test_that("TCXRead returns expected values for 2.tcx file", {
12+
result <- TCXRead(sample_tcx_file)
13+
14+
expected_distance <- 24732.34
15+
expected_time <- 3876.0
16+
expected_calories <- 924
17+
expected_max_altitude <- 78.5999984741211
18+
expected_total_ascent <- 452.5999946594238
19+
expected_total_descent <- 414.9999942779541
20+
expected_avg_speed <- 22.97121362229102
21+
expected_max_speed <- 52.5
22+
expected_max_hr <- 182
23+
expected_avg_hr <- 167.4795994065282
24+
25+
expect_type(result, "list")
26+
expect_true("summary" %in% names(result))
27+
expect_true("raw_data" %in% names(result))
28+
29+
expect_equal(result$summary$total_distance_meters, expected_distance, tolerance = 0.01)
30+
expect_equal(result$summary$total_time_seconds, expected_time, tolerance = 0.01)
31+
expect_equal(result$summary$total_calories, expected_calories, tolerance = 0.01)
32+
expect_equal(result$summary$max_altitude, expected_max_altitude, tolerance = 0.01)
33+
expect_equal(result$summary$total_ascent, expected_total_ascent, tolerance = 0.01)
34+
expect_equal(result$summary$total_descent, expected_total_descent, tolerance = 0.01)
35+
expect_equal(result$summary$average_speed_kmh, expected_avg_speed, tolerance = 0.01)
36+
expect_equal(result$summary$max_speed_kmh, expected_max_speed, tolerance = 0.01)
37+
38+
expect_true(is.na(result$summary$max_watts))
39+
expect_true(is.na(result$summary$max_cadence))
40+
expect_true(is.na(result$summary$average_cadence))
41+
42+
expect_equal(result$summary$max_hr, expected_max_hr, tolerance = 0.01)
43+
expect_equal(result$summary$average_hr, expected_avg_hr, tolerance = 0.01)
44+
45+
expect_s3_class(result$raw_data, "data.frame")
46+
expect_true(nrow(result$raw_data) > 0)
47+
})

tests/testthat/test-swimming-1.R

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
library(tcxr)
2+
library(XML)
3+
library(testthat)
4+
5+
# TCX test files
6+
# Reference: I. Jr. Fister, S. Rauter, D. Fister, I. Fister. A collection of sport activity datasets with an emphasis on powermeter data. Technical report, University of Maribor, 2017.
7+
# More info: https://github.com/firefly-cpp/tcx-test-files
8+
9+
sample_tcx_file <- testthat::test_path("test_files", "swimming_activity_1.tcx")
10+
11+
test_that("TCXRead returns expected values for a swimming TCX file", {
12+
result <- TCXRead(sample_tcx_file)
13+
14+
expected_distance <- 1330.32
15+
expected_time <- 1865.0
16+
expected_calories <- 284
17+
expected_max_altitude <- 16.399999618530273
18+
expected_max_hr <- 147
19+
expected_avg_hr <- 120
20+
21+
expect_type(result, "list")
22+
expect_true("summary" %in% names(result))
23+
expect_true("raw_data" %in% names(result))
24+
25+
expect_equal(result$summary$total_distance_meters, expected_distance, tolerance = 0.01)
26+
expect_equal(result$summary$total_time_seconds, expected_time, tolerance = 0.01)
27+
expect_equal(result$summary$total_calories, expected_calories, tolerance = 0.01)
28+
expect_equal(result$summary$max_altitude, expected_max_altitude, tolerance = 0.01)
29+
30+
expect_true(is.na(result$summary$max_watts))
31+
expect_true(is.na(result$summary$max_cadence))
32+
expect_true(is.na(result$summary$average_cadence))
33+
34+
expect_equal(result$summary$max_hr, expected_max_hr, tolerance = 0.01)
35+
expect_equal(result$summary$average_hr, expected_avg_hr, tolerance = 0.01)
36+
37+
expect_s3_class(result$raw_data, "data.frame")
38+
expect_true(nrow(result$raw_data) > 0)
39+
})

0 commit comments

Comments
 (0)