aboutsummaryrefslogtreecommitdiff
path: root/tests/gen_true_values_test.R
diff options
context:
space:
mode:
Diffstat (limited to 'tests/gen_true_values_test.R')
-rwxr-xr-xtests/gen_true_values_test.R50
1 files changed, 50 insertions, 0 deletions
diff --git a/tests/gen_true_values_test.R b/tests/gen_true_values_test.R
new file mode 100755
index 0000000..e46d1e2
--- /dev/null
+++ b/tests/gen_true_values_test.R
@@ -0,0 +1,50 @@
+#!/usr/bin/Rscript
+#
+# gen_reports_test.R
+
+source('analysis/R/util.R') # Log()
+
+source('tests/gen_true_values.R') # module under test
+
+library(RUnit)
+
+TestGenerateTrueValues = function() {
+ num_clients <- 10
+ reports_per_client <- 2
+ num_cohorts <- 4
+ reports <- GenerateTrueValues('exp', 10, num_clients, reports_per_client,
+ num_cohorts)
+ print(reports)
+
+ # 10 clients, 2 reports per client
+ checkEquals(20, nrow(reports))
+
+ # 10 unique clients
+ checkEquals(10, length(unique(reports$client)))
+
+ # Whether a given client reports different values
+ reports_different_values <- rep(FALSE, num_clients)
+
+ for (c in 1:num_clients) {
+ my_reports <- reports[reports$client == c, ]
+ #Log("CLIENT %d", c)
+ #print(my_reports)
+
+ # If every report for this client isn't same, make note of it
+ if (length(unique(my_reports$value)) != 1) {
+ reports_different_values[[c]] <- TRUE
+ }
+ }
+
+ # At least one client should report different values. (Technically this
+ # could fail, but is unlikely with 10 clients).
+ checkTrue(any(reports_different_values))
+
+ checkEquals(num_cohorts, length(unique(reports$cohort)))
+}
+
+TestAll <- function(){
+ TestGenerateTrueValues()
+}
+
+TestAll()