Skip to content

Commit ed24ee4

Browse files
committed
test: add perf test for ds.standardiseDf
1 parent 256499f commit ed24ee4

1 file changed

Lines changed: 58 additions & 0 deletions

File tree

Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
#
2+
# Set up
3+
#
4+
5+
# context("ds.standardiseDf::perf::setup")
6+
connect.studies.dataset.stand(
7+
c(
8+
"fac_col1", "fac_col2", "fac_col3", "fac_col4", "fac_col5", "fac_col6", "fac_col7", "fac_col9",
9+
"fac_col10", "col11", "col12", "col13", "col14", "col15", "col16", "col17", "col18", "col19",
10+
"col20")
11+
)
12+
13+
#
14+
# Tests
15+
#
16+
17+
# context("ds.standardiseDf::perf::0")
18+
test_that("performance", {
19+
.durationSec <- 60 # seconds
20+
.count <- 0
21+
.start.time <- Sys.time()
22+
.current.time <- .start.time
23+
24+
while (difftime(.current.time, .start.time, units = "secs")[[1]] < .durationSec) {
25+
with_mocked_bindings(
26+
ds.standardiseDf(df.name = "D", newobj = "std.newobj"),
27+
prompt_user_class_decision_all_vars = function(var, server, classes, newobj, datasources) "1",
28+
ask_question_wait_response_levels = function(levels_conflict, newobj, datasources) "1"
29+
)
30+
31+
.count <- .count + 1
32+
.current.time <- Sys.time()
33+
}
34+
35+
.current.rate <- .count / (difftime(.current.time, .start.time, units = "secs")[[1]])
36+
.reference.rate <- perf.reference.rate("ds.standardiseDf::perf::0")
37+
if (any(length(.reference.rate) == 0) || any(is.null(.reference.rate))) {
38+
print(paste("ds.standardiseDf::perf::0 ", .current.rate, 0.5, 2.0))
39+
perf.reference.save("ds.standardiseDf::perf::0", .current.rate, 0.5, 2.0)
40+
} else {
41+
print(paste("ds.standardiseDf::perf::0 ", format(.current.rate, digits = 8), ", ", format(100.0 * .current.rate / .reference.rate, digits = 4), "%", sep = ''))
42+
}
43+
44+
.reference.rate <- perf.reference.rate("ds.standardiseDf::perf::0")
45+
.reference.tolerance.lower <- perf.reference.tolerance.lower("ds.standardiseDf::perf::0")
46+
.reference.tolerance.upper <- perf.reference.tolerance.upper("ds.standardiseDf::perf::0")
47+
48+
expect_gt(.current.rate, .reference.rate * .reference.tolerance.lower, label = "Observed rate", expected.label = "lower threshold on rate")
49+
expect_lt(.current.rate, .reference.rate * .reference.tolerance.upper, label = "Observed rate", expected.label = "upper threshold on rate")
50+
})
51+
52+
#
53+
# Done
54+
#
55+
56+
# context("ds.standardiseDf::perf::shutdown")
57+
disconnect.studies.dataset.stand()
58+
# context("ds.standardiseDf::perf::done")

0 commit comments

Comments
 (0)