|
58 | 58 | #' @srrstats {G5.4a} *For new methods, it can be difficult to separate out correctness of the method from the correctness of the implementation, as there may not be reference for comparison. In this case, testing may be implemented against simple, trivial cases or against multiple implementations such as an initial R implementation compared with results from a C/C++ implementation.*
|
59 | 59 | #' @srrstats {G5.4b} *For new implementations of existing methods, correctness tests should include tests against previous implementations. Such testing may explicitly call those implementations in testing, preferably from fixed-versions of other software, or use stored outputs from those where that is not possible.*
|
60 | 60 | #' @srrstats {G5.4c} *Where applicable, stored values may be drawn from published paper outputs when applicable and where code from original implementations is not available*
|
61 |
| -#' @srrstatsTODO {G5.5} *Correctness tests should be run with a fixed random seed* |
62 | 61 | #' @srrstatsTODO {G5.6} **Parameter recovery tests** *to test that the implementation produce expected results given data with known properties. For instance, a linear regression algorithm should return expected coefficient values for a simulated data set generated from a linear model.*
|
63 | 62 | #' @srrstatsTODO {G5.6a} *Parameter recovery tests should generally be expected to succeed within a defined tolerance rather than recovering exact values.*
|
64 | 63 | #' @srrstatsTODO {G5.6b} *Parameter recovery tests should be run with multiple random seeds when either data simulation or the algorithm contains a random component. (When long-running, such tests may be part of an extended, rather than regular, test suite; see G5.10-4.12, below).*
|
65 | 64 | #' @srrstatsTODO {G5.7} **Algorithm performance tests** *to test that implementation performs as expected as properties of data change. For instance, a test may show that parameters approach correct estimates within tolerance as data size increases, or that convergence times decrease for higher convergence thresholds.*
|
66 | 65 | #' @srrstatsTODO {G5.8} **Edge condition tests** *to test that these conditions produce expected behaviour such as clear warnings or errors when confronted with data with extreme properties including but not limited to:*
|
67 |
| -#' @srrstatsTODO {G5.8a} *Zero-length data* |
| 66 | +#' @srrstats {G5.8a} *Zero-length data* |
68 | 67 | #' @srrstats {G5.8b} *Data of unsupported types (e.g., character or complex numbers in for functions designed only for numeric data)*
|
69 | 68 | #' @srrstats {G5.8c} *Data with all-`NA` fields or columns or all identical fields or columns*
|
70 | 69 | #' @srrstats {G5.8d} *Data outside the scope of the algorithm (for example, data with more fields (columns) than observations (rows) for some regression algorithms)*
|
|
131 | 130 | #' to `@srrstatsNA`, and placed together in this block, along with explanations
|
132 | 131 | #' for why each of these standards have been deemed not applicable.
|
133 | 132 | #' (These comments may also be deleted at any time.)
|
| 133 | +#' @srrstatsNA {G5.5} *Correctness tests should be run with a fixed random seed* |
134 | 134 | #' @srrstatsNA {G2.14c} *replace missing data with appropriately imputed values*
|
135 | 135 | #' @srrstatsNA {G2.16} *All functions should also provide options to handle undefined values (e.g., `NaN`, `Inf` and `-Inf`), including potentially ignoring or removing such values.*
|
136 | 136 | #' @srrstatsNA {G5.11a} *When any downloads of additional data necessary for extended tests fail, the tests themselves should not fail, rather be skipped and implicitly succeed with an appropriate diagnostic message.*
|
|
0 commit comments