You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

61 lines
2.4KB

  1. #include "testrunner.hpp"
  2. #include "../src/DistributedClock.hpp"
  3. using namespace SynthDevKit;
  4. uint8_t test_distributedclock_master ( ) {
  5. DistributedClock *clock = new DistributedClock(true, 1.7f);
  6. clock->update(3, 0.0f, 0.0f);
  7. check(clock->triggerClock() == false, "clock should not be triggered");
  8. check(clock->triggerDownstream() == false, "downstream should not be triggered");
  9. clock->update(3, 0.0f, 1.7f);
  10. check(clock->triggerClock() == true, "clock should be triggered");
  11. check(clock->triggerDownstream() == false, "downstream should not be triggered");
  12. clock->update(3, 0.0f, 0.0f);
  13. check(clock->triggerClock() == false, "clock should not be triggered");
  14. check(clock->triggerDownstream() == false, "downstream should not be triggered");
  15. clock->update(3, 0.0f, 1.7f);
  16. check(clock->triggerClock() == true, "clock should be triggered");
  17. check(clock->triggerDownstream() == false, "downstream should not be triggered");
  18. clock->update(3, 0.0f, 0.0f);
  19. check(clock->triggerClock() == false, "clock should not be triggered");
  20. check(clock->triggerDownstream() == false, "downstream should not be triggered");
  21. clock->update(3, 0.0f, 1.7f);
  22. check(clock->triggerClock() == true, "clock should be triggered");
  23. check(clock->triggerDownstream() == true, "downstream should be triggered");
  24. clock->update(3, 0.0f, 0.0f);
  25. check(clock->triggerClock() == false, "clock should not be triggered");
  26. check(clock->triggerDownstream() == false, "downstream should not be triggered");
  27. clock->update(3, 0.0f, 1.7f);
  28. check(clock->triggerClock() == false, "clock should not be triggered");
  29. check(clock->triggerDownstream() == false, "downstream should not be triggered");
  30. done();
  31. }
  32. uint8_t test_distributedclock_servant ( ) {
  33. DistributedClock *clock = new DistributedClock(false, 1.7f);
  34. clock->update(3, 0.0f, 1.7f);
  35. check(clock->triggerClock() == false, "clock should not be triggered");
  36. check(clock->triggerDownstream() == false, "downstream should not be triggered");
  37. clock->update(3, 1.7f, 0.0f);
  38. check(clock->triggerClock() == false, "clock should not be triggered");
  39. check(clock->triggerDownstream() == false, "downstream should not be triggered");
  40. clock->update(3, 0.0f, 1.7f);
  41. check(clock->triggerClock() == true, "clock should be triggered");
  42. check(clock->triggerDownstream() == false, "downstream should not be triggered");
  43. done();
  44. }