check_logic | R Documentation |
check_correct
checks whether a set of tests passes, and does
additional, more precise tests if these tests fail. In addition to the state,
it takes two code chunks;
check_code
: specifies the
code that checks on the (typically, final results of the) student's code.
These tests are executed silently, without the reporter generating
information for these.
diagnose_code
: Set of tests that gets
executed if the tests in check_code
fail. These tests contain more
detailed tests, to pinpoint the problem.
check_correct(state, ...) check_or(state, ...)
state |
The state. Typically |
... |
sets of tests. In the case of |
check_correct
increases the flexibility for the student: if the tests
in check_code
pass, the results of the tests in diagnose_code
are not considered. If you test for the end result in check_code
, and
only do more rigorous testing in diagnose_code
, you can allow for
multiple solutions to a challenge.
Similarly, check_or
checks whether one of many test sets pass. That
way, you can allow for multiple solutions.
Both check_or
and check_correct
makes the state you feed it to
its subtests available as .
(the dot), similar to how magrittr does
it.
## Not run: # Example 1 solution code x <- mean(1:3) # Example SCT ex() %>% check_correct( check_object(., "x") %>% check_equal(), check_fun(., "mean") %>% check_arg("x") %>% check_equal() ) # Following submissions will all be accepted: x <- mean(1:3) x <- 2 x <- mean(-1:5) # Example 2 solution code # a <- 3; b <- 4 # Example SCT ex() %>% check_or( check_object(., 'a') %>% check_equal(), check_object(., 'b') %>% check-equal() ) # Following submissions will all be accepted: a <- 3; b <- 4 a <- 3 b <- 4 ## End(Not run)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.