From 86efd52bf26e35c14d9fc50fc47469261bc9a144 Mon Sep 17 00:00:00 2001 From: jan Date: Mon, 27 Feb 2023 16:54:16 +0100 Subject: [PATCH] optimized runtime for tests --- tests/testthat/test_boxes.R | 48 ++++++++++++++++++++----------------- 1 file changed, 26 insertions(+), 22 deletions(-) diff --git a/tests/testthat/test_boxes.R b/tests/testthat/test_boxes.R index 9686284..fde4880 100644 --- a/tests/testthat/test_boxes.R +++ b/tests/testthat/test_boxes.R @@ -1,10 +1,13 @@ source('testhelpers.R') context('boxes') +try({ + boxes = osem_boxes() +}) + test_that('a list of all boxes can be retrieved and returns a sensebox data.frame', { check_api() - boxes = osem_boxes() expect_true(is.data.frame(boxes)) expect_true(is.factor(boxes$model)) expect_true(is.character(boxes$name)) @@ -20,44 +23,44 @@ test_that('both from and to are required when requesting boxes, error otherwise' test_that('a list of boxes with phenomenon filter returns only the requested phenomenon', { check_api() - boxes = osem_boxes(phenomenon = 'Temperatur', date = Sys.time()) - expect_true(all(grep('Temperatur', boxes$phenomena))) + boxes_phen = osem_boxes(phenomenon = 'Temperatur', date = Sys.time()) + expect_true(all(grep('Temperatur', boxes_phen$phenomena))) }) test_that('a list of boxes with exposure filter returns only the requested exposure', { check_api() - boxes = osem_boxes(exposure = 'mobile') - expect_true(all(boxes$exposure == 'mobile')) + boxes_exp = osem_boxes(exposure = 'mobile') + expect_true(all(boxes_exp$exposure == 'mobile')) }) test_that('a list of boxes with model filter returns only the requested model', { check_api() - boxes = osem_boxes(model = 'homeWifi') - expect_true(all(boxes$model == 'homeWifi')) + boxes_mod = osem_boxes(model = 'homeWifi') + expect_true(all(boxes_mod$model == 'homeWifi')) }) test_that('box query can combine exposure and model filter', { check_api() - boxes = osem_boxes(exposure = 'mobile', model = 'homeWifi') - expect_true(all(boxes$model == 'homeWifi')) - expect_true(all(boxes$exposure == 'mobile')) + boxes_com = osem_boxes(exposure = 'mobile', model = 'homeWifi') + expect_true(all(boxes_com$model == 'homeWifi')) + expect_true(all(boxes_com$exposure == 'mobile')) }) test_that('a list of boxes with grouptype returns only boxes of that group', { check_api() - boxes = osem_boxes(grouptag = 'codeformuenster') - expect_true(all(boxes$grouptag == 'codeformuenster')) + boxes_gro = osem_boxes(grouptag = 'codeformuenster') + expect_true(all(boxes_gro$grouptag == 'codeformuenster')) }) test_that('a list of boxes within a bbox only returns boxes within that bbox', { check_api() - boxes = osem_boxes(bbox = c(7.8, 51.8, 8.0, 52.0)) - expect_true(all(boxes$lon > 7.8 & boxes$lon < 8.0 & boxes$lat > 51.8 & boxes$lat < 52.0)) + boxes_box = osem_boxes(bbox = c(7.8, 51.8, 8.0, 52.0)) + expect_true(all(boxes_box$lon > 7.8 & boxes_box$lon < 8.0 & boxes_box$lat > 51.8 & boxes_box$lat < 52.0)) }) test_that('endpoint can be (mis)configured', { @@ -70,10 +73,10 @@ test_that('a response with no matches returns empty sensebox data.frame', { check_api() suppressWarnings({ - boxes = osem_boxes(grouptag = 'does_not_exist') + boxes_gro = osem_boxes(grouptag = 'does_not_exist') }) - expect_true(is.data.frame(boxes)) - expect_true(any('sensebox' %in% class(boxes))) + expect_true(is.data.frame(boxes_gro)) + expect_true(any('sensebox' %in% class(boxes_gro))) }) test_that('a response with no matches gives a warning', { @@ -90,7 +93,7 @@ test_that('data.frame can be converted to sensebox data.frame', { test_that('boxes can be converted to sf object', { check_api() - boxes = osem_boxes() + # boxes = osem_boxes() boxes_sf = sf::st_as_sf(boxes) expect_true(all(sf::st_is_simple(boxes_sf))) @@ -100,7 +103,7 @@ test_that('boxes can be converted to sf object', { test_that('boxes converted to sf object keep all attributes', { check_api() - boxes = osem_boxes() + # boxes = osem_boxes() boxes_sf = sf::st_as_sf(boxes) # coord columns get removed! @@ -124,7 +127,7 @@ test_that('box retrieval does not give progress information in non-interactive m test_that('print.sensebox filters important attributes for a set of boxes', { check_api() - boxes = osem_boxes() + # boxes = osem_boxes() msg = capture.output({ print(boxes) }) @@ -134,7 +137,7 @@ test_that('print.sensebox filters important attributes for a set of boxes', { test_that('summary.sensebox outputs all metrics for a set of boxes', { check_api() - boxes = osem_boxes() + # boxes = osem_boxes() msg = capture.output({ summary(boxes) }) @@ -212,4 +215,5 @@ test_that('phenomenon is required when requesting measurements, error otherwise' check_api() expect_error(osem_measurements(boxes), 'Parameter "phenomenon" is required') -}) \ No newline at end of file +}) +