|
- #include "testrunner.hpp"
- #include "../src/Bjorklund.hpp"
-
- using namespace SynthDevKit;
-
- uint8_t test_bjorklund_exception ( ) {
- bool has_exception = 0;
- Bjorklund *b = {0};
-
- try {
- b = new Bjorklund(MAX_SLOTS + 1);
- } catch (int err) {
- has_exception = true;
- }
-
- check(!b, "clock is null");
- check(has_exception, "exception is thrown");
-
- done();
- }
-
- uint8_t test_bjorklund_update_exception ( ) {
- bool has_exception = 0;
- Bjorklund *b;
-
- b = new Bjorklund(MAX_SLOTS);
-
- try {
- b->update(3, MAX_SLOTS + 1);
- } catch (int err) {
- has_exception = true;
- }
-
- check(has_exception, "exception is thrown");
-
- done();
- }
-
- uint8_t test_bjorklund_update ( ) {
- Bjorklund *b = new Bjorklund(13);
-
- b->update(5, 8);
-
- check(b->stepValue() == 1, "first value is 1");
- check(b->stepValue() == 0, "second value is 0");
- check(b->stepValue() == 1, "third value is 1");
- check(b->stepValue() == 1, "fourth value is 1");
- check(b->stepValue() == 0, "fifth value is 0");
- check(b->stepValue() == 1, "sixth value is 1");
- check(b->stepValue() == 1, "seventh value is 1");
- check(b->stepValue() == 0, "eighth value is 0");
-
- done();
- }
-
- uint8_t test_bjorklund_reset ( ) {
- Bjorklund *b = new Bjorklund(13);
-
- b->update(5, 8);
-
- check(b->stepValue() == 1, "first value is 1");
- b->reset();
- check(b->stepValue() == 1, "first value after reset is 1");
-
- done();
- }
|