
RPACT Cloud – Test Execution Report
03 March, 2026 12:34:10
Source:vignettes/test-report.Rmd
test-report.RmdIntroduction
This Test Execution Report documents the execution
and results of predefined automated tests for RPACT Cloud, a
graphical user interface (GUI) based on the rpact package
that supports adaptive clinical trial design workflows.
The purpose of this report is to provide regulatorily defensible evidence that the implemented system behavior conforms to the requirements defined in the User Requirement Specification (URS) for RPACT Cloud. The URS defines the functional and non-functional requirements that the system must satisfy to be considered compliant and fit-for-purpose.
Link to the referenced URS document:
👉 RPACT Cloud
User Requirements Specification
In the context of GxP-oriented validation, this report supports traceability between each relevant URS item and the corresponding executed test cases.
Scope
The scope of this report encompasses:
- All automated test cases designed to verify URS-defined functionalities.
- Aggregated test results (pass/fail) for each URS requirement that is covered by tests.
- Detailed evidence of execution for every test associated with a URS requirement.
- Supporting environment information (R version, package versions, session info).
- Test coverage metrics to assess the completeness of the test suite.
This report does not cover manual tests or user acceptance testing (UAT), which may be documented separately.
Traceability to URS
The test cases presented herein are linked explicitly to
corresponding URS identifiers (e.g., URS-001,
URS-002, …) as defined in the URS document. For each such
mapping, the report shows:
- URS requirement identifier and description
- Test case(s) executed to verify the requirement
- Execution results (pass/fail)
- Deviations or observed differences, if any
This structure ensures traceability from user requirements through to test evidence, as expected in a validated computer system under GxP compliance principles.
Test Execution Summary
Show Detailed Test Results
| file | context | test | status | n | time |
|---|---|---|---|---|---|
| test-assertions.R | assertions | returns invisible when no arguments are provided | PASS | 1 | 0.029 |
| test-assertions.R | assertions | warns for unknown arguments | PASS | 1 | 0.069 |
| test-assertions.R | assertions | does not warn for ignored arguments | PASS | 1 | 0.003 |
| test-assertions.R | assertions | stops for unknown arguments when exceptionEnabled is TRUE | PASS | 1 | 0.065 |
| test-assertions.R | assertions | returns invisible when value is within the interval | PASS | 1 | 0.003 |
| test-assertions.R | assertions | stops when value is below the interval | PASS | 1 | 0.017 |
| test-assertions.R | assertions | stops when value is above the interval | PASS | 1 | 0.015 |
| test-assertions.R | assertions | returns invisible when NA is allowed and value is NA | PASS | 1 | 0.003 |
| test-assertions.R | assertions | stops when NA is not allowed and value is NA | PASS | 1 | 0.003 |
| test-config-yml.R | config-yml | config.yml is complete | PASS | 1 | 0.044 |
| test-design-comparison.R | design-comparison | test design comparison | PASS | 2 | 0.214 |
| test-first-character-to-lower-case.R | first-character-to-lower-case | converts first character to lower case for a single word | PASS | 1 | 0.004 |
| test-first-character-to-lower-case.R | first-character-to-lower-case | converts first character to lower case for a sentence | PASS | 1 | 0.178 |
| test-first-character-to-lower-case.R | first-character-to-lower-case | handles empty string input | PASS | 1 | 0.006 |
| test-first-character-to-lower-case.R | first-character-to-lower-case | handles NULL input | PASS | 1 | 0.005 |
| test-first-character-to-lower-case.R | first-character-to-lower-case | converts first character to lower case with additional arguments | PASS | 1 | 0.005 |
| test-first-character-to-lower-case.R | first-character-to-lower-case | converts first character to lower case with multiple additional arguments | PASS | 1 | 0.005 |
| test-first-character-to-lower-case.R | first-character-to-lower-case | handles numeric input as character | PASS | 1 | 0.005 |
| test-first-character-to-lower-case.R | first-character-to-lower-case | handles special characters | PASS | 1 | 0.005 |
| test-first-character-to-upper-case.R | first-character-to-upper-case | converts first character to upper case for a single word | PASS | 1 | 0.005 |
| test-first-character-to-upper-case.R | first-character-to-upper-case | converts first character to upper case for a sentence | PASS | 1 | 0.004 |
| test-first-character-to-upper-case.R | first-character-to-upper-case | handles empty string input | PASS | 1 | 0.004 |
| test-first-character-to-upper-case.R | first-character-to-upper-case | handles NULL input | PASS | 1 | 0.004 |
| test-first-character-to-upper-case.R | first-character-to-upper-case | converts first character to upper case with additional arguments | PASS | 1 | 0.004 |
| test-first-character-to-upper-case.R | first-character-to-upper-case | converts first character to upper case with multiple additional arguments | PASS | 1 | 0.005 |
| test-first-character-to-upper-case.R | first-character-to-upper-case | handles numeric input as character | PASS | 1 | 0.004 |
| test-first-character-to-upper-case.R | first-character-to-upper-case | handles special characters | PASS | 1 | 0.004 |
| test-get-class-name.R | get-class-name | returns the class name for a numeric vector | PASS | 1 | 0.005 |
| test-get-class-name.R | get-class-name | returns the class name for a character vector | PASS | 1 | 0.004 |
| test-get-class-name.R | get-class-name | returns the class name for a data frame | PASS | 1 | 0.006 |
| test-get-class-name.R | get-class-name | returns the class name for a list | PASS | 1 | 0.006 |
| test-get-class-name.R | get-class-name | returns the class name for a matrix | PASS | 1 | 0.005 |
| test-get-class-name.R | get-class-name | returns the class name for a NULL value | PASS | 1 | 0.005 |
| test-get-concatenated-values.R | get-concatenated-values | returns NULL when input is NULL | PASS | 1 | 0.006 |
| test-get-concatenated-values.R | get-concatenated-values | returns the same value when input length is 1 | PASS | 1 | 0.005 |
| test-get-concatenated-values.R | get-concatenated-values | concatenates values with default separator | PASS | 1 | 0.006 |
| test-get-concatenated-values.R | get-concatenated-values | concatenates values with custom separator | PASS | 1 | 0.006 |
| test-get-concatenated-values.R | get-concatenated-values | concatenates values with ‘and’ mode | PASS | 1 | 0.006 |
| test-get-concatenated-values.R | get-concatenated-values | concatenates values with ‘or’ mode | PASS | 1 | 0.005 |
| test-get-concatenated-values.R | get-concatenated-values | concatenates values with ‘vector’ mode | PASS | 1 | 0.006 |
| test-get-concatenated-values.R | get-concatenated-values | handles edge case with empty string separator | PASS | 1 | 0.006 |
| test-get-concatenated-values.R | get-concatenated-values | handles edge case with single element and ‘and’ mode | PASS | 1 | 0.006 |
| test-get-concatenated-values.R | get-concatenated-values | handles edge case with single element and ‘or’ mode | PASS | 1 | 0.006 |
| test-integer-to-written-number.R | integer-to-written-number | returns ‘one’ for input 1 | PASS | 1 | 0.006 |
| test-integer-to-written-number.R | integer-to-written-number | returns ‘nine’ for input 9 | PASS | 1 | 0.005 |
| test-integer-to-written-number.R | integer-to-written-number | returns the input as character for input greater than 9 | PASS | 1 | 0.006 |
| test-integer-to-written-number.R | integer-to-written-number | returns the input as character for input less than 1 | PASS | 1 | 0.006 |
| test-integer-to-written-number.R | integer-to-written-number | returns the input as character for non-integer numeric input | PASS | 1 | 0.005 |
| test-integer-to-written-number.R | integer-to-written-number | returns the input as character for NA input | PASS | 1 | 0.006 |
| test-integer-to-written-number.R | integer-to-written-number | returns the input as character for NULL input | PASS | 1 | 0.006 |
| test-integer-to-written-number.R | integer-to-written-number | returns the input as character for non-numeric input | PASS | 1 | 0.005 |
| test-is-local-developer-system.R | is-local-developer-system | returns TRUE when the user is in the developers list | PASS | 1 | 0.007 |
| test-is-local-developer-system.R | is-local-developer-system | returns FALSE when the user is not in the developers list | PASS | 1 | 0.009 |
| test-is-local-developer-system.R | is-local-developer-system | returns FALSE when an error occurs | PASS | 1 | 0.006 |
| test-is-local-developer-system.R | is-local-developer-system | returns FALSE when the user is not in a custom developers list | PASS | 1 | 0.006 |
| test-shinytest2-default-design.R | shinytest2-default-design | Creation of new default design leads to expected summary | PASS | 6 | 32.520 |
| test-shinytest2-quick-start-menu-1kmax-means-1group.R | shinytest2-quick-start-menu-1kmax-means-1group | Create results for fixed designs: Means, Single Group | ERROR | 2 | 7.332 |
| test-shinytest2-quick-start-menu-1kmax-means-3groups.R | shinytest2-quick-start-menu-1kmax-means-3groups | Perform fixed design calculations for three-group mean analysis | PASS | 30 | 92.176 |
| test-shinytest2-quick-start-menu-1kmax-rates-1group.R | shinytest2-quick-start-menu-1kmax-rates-1group | Create results for fixed designs: Rates, Single Group | ERROR | 2 | 12.842 |
| test-shinytest2-quick-start-menu-1kmax-survival-2groups.R | shinytest2-quick-start-menu-1kmax-survival-2groups | Create a result for one fixed design, survival, and two arms | ERROR | 2 | 12.779 |
| test-shinytest2-quick-start-menu-2kmax-survival-2groups.R | shinytest2-quick-start-menu-2kmax-survival-2groups | Create a survival simulation result for two stages and two arms | PASS | 16 | 69.869 |
| test-shinytest2-quick-start-menu-2kmax-survival-3groups.R | shinytest2-quick-start-menu-2kmax-survival-3groups | Create a simulation result for two-stage survival with three groups | PASS | 11 | 53.423 |
| test-shinytest2-quick-start-menu-3kmax-rates-2group.R | shinytest2-quick-start-menu-3kmax-rates-2group | Create a simulation result for three-stage rates with two groups | PASS | 10 | 53.293 |
| test-shinytest2-report-generation.R | shinytest2-report-generation | Creation of new default design leads to expected markdown report | PASS | 6 | 29.128 |
| test-shinytest2-rpact-package-result-comparison.R | shinytest2-rpact-package-result-comparison | Compare GUI-configured results with rpact package outputs | PASS | 4 | 189.721 |
| test-string-utilities.R | string-utilities | returns NULL for missing input | PASS | 1 | 0.005 |
| test-string-utilities.R | string-utilities | returns NULL for NULL input | PASS | 1 | 0.020 |
| test-string-utilities.R | string-utilities | returns NA for single NA input | PASS | 1 | 0.005 |
| test-string-utilities.R | string-utilities | returns formatted string for named list | PASS | 1 | 0.004 |
| test-string-utilities.R | string-utilities | returns formatted string for nested list | PASS | 1 | 0.005 |
| test-string-utilities.R | string-utilities | returns formatted string for list with encapsulation | PASS | 1 | 0.005 |
| test-string-utilities.R | string-utilities | returns NULL for missing input | PASS | 1 | 0.005 |
| test-string-utilities.R | string-utilities | returns NULL for NULL input | PASS | 1 | 0.004 |
| test-string-utilities.R | string-utilities | returns NA for single NA input | PASS | 1 | 0.004 |
| test-string-utilities.R | string-utilities | returns class name for non-numeric input | PASS | 1 | 0.004 |
| test-string-utilities.R | string-utilities | returns formatted string for numeric vector | PASS | 1 | 0.004 |
| test-string-utilities.R | string-utilities | returns formatted string for character vector | PASS | 1 | 0.004 |
| test-string-utilities.R | string-utilities | returns formatted string for numeric matrix | PASS | 1 | 0.004 |
| test-string-utilities.R | string-utilities | returns formatted string for numeric vector with encapsulation | PASS | 1 | 0.004 |
| test-string-utilities.R | string-utilities | returns truncated string for long numeric vector | PASS | 1 | 0.010 |
| test-string-utilities.R | string-utilities | returns formatted string for numeric vector with rounding | PASS | 1 | 0.006 |
| test-string-utilities.R | string-utilities | trims trailing slash from URL | PASS | 1 | 0.005 |
| test-string-utilities.R | string-utilities | does not modify URL without trailing slash | PASS | 1 | 0.005 |
| test-string-utilities.R | string-utilities | trims whitespace and trailing slash from URL | PASS | 1 | 0.004 |
| test-string-utilities.R | string-utilities | handles empty string input | PASS | 1 | 0.004 |
| test-ui-utilities.R | ui-utilities | returns default choices when config is not set | PASS | 1 | 0.011 |
| test-ui-utilities.R | ui-utilities | returns configured choices when config is set | PASS | 1 | 0.006 |
| test-ui-utilities.R | ui-utilities | assignSingleNumericIfValid works as expected | PASS | 8 | 0.022 |
| test-ui-utilities.R | ui-utilities | groupNumberIsEqualTo works as expected | PASS | 6 | 0.017 |
| test-ui-utilities.R | ui-utilities | isValidValue works as expected | PASS | 7 | 0.019 |
| test-ui-utilities.R | ui-utilities | isSelectedValue works as expected | PASS | 10 | 0.027 |
| test-utilities.R | utilities | isLocalDeveloperSystem works as expected | PASS | 4 | 0.014 |
| test-utilities.R | utilities | .getConcatenatedValues works as expected | PASS | 11 | 0.030 |
Session Information
Basic Application Information
| Parameter | Value |
|---|---|
| Created by | RPACT Cloud - Demo Version |
| Creation date | March 03, 2026 |
| Creation time | 12:43:28 PM UTC |
| User | System |
| rpact package version (server) | rpact 4.3.1.9303 |
| RPACT Cloud version (server) | 2.8.1.9110 |
| The documentation is hosted at | docs.rpact.cloud |
| The rpact vignettes are hosted at | www.rpact.org/vignettes |
| rpact is developed by | RPACT GmbH, Germany |
| RPACT Cloud is developed by | RPACT GmbH, Germany |
| RPACT Cloud chief developer is | Friedrich Pahlke, PhD |
R Version
- Version: R version 4.5.2 (2025-10-31)
- Platform: x86_64-pc-linux-gnu
- Running under: Ubuntu 24.04.3 LTS
Locale
- LC_CTYPE = C.UTF-8
- LC_NUMERIC = C
- LC_TIME = C.UTF-8
- LC_COLLATE = C.UTF-8
- LC_MONETARY = C.UTF-8
- LC_MESSAGES = C.UTF-8
- LC_PAPER = C.UTF-8
- LC_NAME = C
- LC_ADDRESS = C
- LC_TELEPHONE = C
- LC_MEASUREMENT = C.UTF-8
- LC_IDENTIFICATION = C
Loaded via a Namespace (and not attached)
- writexl: 1.5.4
- tidyselect: 1.2.1
- viridisLite: 0.4.3
- dplyr: 1.2.0
- farver: 2.1.2
- S7: 0.2.1
- fastmap: 1.2.0
- lazyeval: 0.2.2
- fontquiver: 0.2.1
- promises: 1.5.0
- shinyjs: 2.1.1
- digest: 0.6.39
- mime: 0.13
- lifecycle: 1.0.5
- waldo: 0.6.2
- processx: 3.8.6
- fresh: 0.2.2
- magrittr: 2.0.4
- compiler: 4.5.2
- rlang: 1.1.7
- config: 0.3.2
- sass: 0.4.10
- tools: 4.5.2
- yaml: 2.3.12
- data.table: 1.18.2.1
- askpass: 1.2.1
- htmlwidgets: 1.6.4
- curl: 7.0.0
- pkgbuild: 1.4.8
- here: 1.0.2
- shinybusy: 0.3.3
- xml2: 1.5.2
- RColorBrewer: 1.1-3
- websocket: 1.4.4
- pkgload: 1.5.0
- withr: 3.0.2
- purrr: 1.2.1
- desc: 1.4.3
- grid: 4.5.2
- gdtools: 0.5.0
- xtable: 1.8-8
- ggplot2: 4.0.2
- scales: 1.4.0
- cli: 3.6.5
- rmarkdown: 2.30
- chron: 2.3-62
- ragg: 1.5.0
- generics: 0.1.4
- otel: 0.2.0
- rstudioapi: 0.18.0
- httr: 1.4.8
- rpact: 4.3.1.9303
- chromote: 0.5.1.9000
- cachem: 1.1.0
- rhandsontable: 0.3.8
- shinytest2: 0.5.1
- vctrs: 0.7.1
- jsonlite: 2.0.0
- fontBitstreamVera: 0.1.1
- callr: 3.7.6
- systemfonts: 1.3.1
- plotly: 4.12.0
- fontawesome: 0.5.3
- tidyr: 1.3.2
- jquerylib: 0.1.4
- glue: 1.8.0
- blastula: 0.3.6
- pkgdown: 2.2.0
- ps: 1.9.1
- codetools: 0.2-20
- bs4Dash: 2.3.5
- DT: 0.34.0
- flextable: 0.9.11
- gtable: 0.3.6
- later: 1.4.7
- shinycssloaders: 1.1.0
- tibble: 3.3.1
- pillar: 1.11.1
- rappdirs: 0.3.4
- htmltools: 0.5.9
- brio: 1.1.5
- openssl: 2.3.5
- httr2: 1.2.2
- R6: 2.6.1
- textshaping: 1.0.4
- rprojroot: 2.1.1
- evaluate: 1.0.5
- markdown: 2.0
- backports: 1.5.0
- mockery: 0.4.5
- httpuv: 1.6.16
- fontLiberation: 0.1.0
- bslib: 0.10.0
- Rcpp: 1.1.1
- zip: 2.3.3
- uuid: 1.2-2
- checkmate: 2.3.4
- pingr: 2.0.5
- officer: 0.7.3
- xfun: 0.56
- fs: 1.6.6
- pkgconfig: 2.0.3
For further assistance or questions regarding this report, please contact the RPACT support team at support@rpact.com.