| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176 | 
							- /**
 
-  * @file
 
-  * @author Marek Bel
 
-  */
 
- #include "catch.hpp"
 
- #include "../Firmware/Timer.h"
 
- #include "../Firmware/TimerRemaining.h"
 
- static unsigned long now = 0;
 
- unsigned long millis()
 
- {
 
-     return now;
 
- }
 
- unsigned long millis2()
 
- {
 
-     return now;
 
- }
 
- static void basicTimer()
 
- {
 
-     LongTimer timer;
 
-     CHECK( timer.running() == false);
 
-     timer.start();
 
-     CHECK( timer.running() == true);
 
-     timer.stop();
 
-     CHECK( timer.running() == false);
 
-     timer.start();
 
-     CHECK( timer.expired(0) == true);
 
-     CHECK( timer.expired(0) == false);
 
-     CHECK( timer.running() == false);
 
-     timer.start();
 
-     CHECK( timer.expired(1) == false);
 
-     CHECK( timer.running() == true);
 
-     ++now;
 
-     CHECK( timer.expired(1) == true);
 
-     CHECK( timer.running() == false);
 
-     --now;
 
-     timer.start();
 
-     CHECK( timer.expired(ULONG_MAX - 1) == false);
 
-     now+= ULONG_MAX - 2;
 
-     CHECK( timer.expired(ULONG_MAX - 1) == false);
 
-     now++;
 
-     CHECK( timer.expired(ULONG_MAX - 1) == true);
 
-     CHECK( timer.running() == false);
 
-     now-= ULONG_MAX - 1;
 
-     timer.start();
 
-     CHECK( timer.expired(ULONG_MAX) == false);
 
-     now+= ULONG_MAX - 1;
 
-     CHECK( timer.expired(ULONG_MAX) == false);
 
-     now++;
 
-     CHECK( timer.expired(ULONG_MAX) == true);
 
-     CHECK( timer.running() == false);
 
-     now-= ULONG_MAX;
 
-     timer.start();
 
-     CHECK( timer.running() == true);
 
-     CHECK( timer.expired(12*3600000ul + 38*60000ul + 15000) == false);
 
-     now+= 12*3600000ul + 38*60000ul + 14999;
 
-     CHECK( timer.expired(12*3600000ul + 38*60000ul + 15000) == false);
 
-     ++now;
 
-     CHECK( timer.expired(12*3600000ul + 38*60000ul + 15000) == true);
 
-     CHECK( timer.running() == false);
 
-     now-= 12*3600000ul + 38*60000ul + 15000;
 
- }
 
- TEST_CASE( "LongTimer test.", "[timer]" )
 
- {
 
-     now = 0;
 
-     basicTimer();
 
-     now = 1;
 
-     basicTimer();
 
-     now = ULONG_MAX;
 
-     basicTimer();
 
-     now = ULONG_MAX - 1;
 
-     basicTimer();
 
-     now = 12*3600000ul + 38*60000ul + 15000;
 
-     basicTimer();
 
- }
 
- static void basicRemaining()
 
- {
 
-     TimerRemaining timer;
 
-     CHECK( timer.running() == false);
 
-     CHECK( timer.remaining() == 0);
 
-     timer.start(100);
 
-     CHECK( timer.running() == true);
 
-     CHECK( timer.remaining() == 100);
 
-     now += 99;
 
-     CHECK( timer.running() == true);
 
-     CHECK( timer.remaining() == 1);
 
-     ++now;
 
-     CHECK( timer.running() == true);
 
-     CHECK( timer.remaining() == 0);
 
-     CHECK( timer.running() == false);
 
-     now -=100;
 
-     timer.start(1);
 
-     timer.stop();
 
-     CHECK( timer.remaining() == 0);
 
-     CHECK( timer.running() == false);
 
-     timer.start(0);
 
-     CHECK( timer.remaining() == 0);
 
-     CHECK( timer.running() == false);
 
-     timer.start(1);
 
-     CHECK( timer.remaining() == 1);
 
-     CHECK( timer.running() == true);
 
-     ++now;
 
-     CHECK( timer.running() == true);
 
-     CHECK( timer.remaining() == 0);
 
-     CHECK( timer.running() == false);
 
-     --now;
 
-     timer.start(ULONG_MAX - 1);
 
-     CHECK( timer.running() == true);
 
-     CHECK( timer.remaining() == ULONG_MAX - 1);
 
-     now+= ULONG_MAX - 2;
 
-     CHECK( timer.running() == true);
 
-     CHECK( timer.remaining() == 1);
 
-     CHECK( timer.running() == true);
 
-     ++now;
 
-     CHECK( timer.remaining() == 0);
 
-     CHECK( timer.running() == false);
 
-     now-= ULONG_MAX - 1;
 
-     timer.start(ULONG_MAX);
 
-     CHECK( timer.running() == true);
 
-     CHECK( timer.remaining() == ULONG_MAX);
 
-     now+= ULONG_MAX - 1;
 
-     CHECK( timer.remaining() == 1);
 
-     CHECK( timer.running() == true);
 
-     ++now;
 
-     CHECK( timer.remaining() == 0);
 
-     CHECK( timer.running() == false);
 
-     timer.start(12*3600000ul + 38*60000ul + 15000);
 
-     CHECK( timer.running() == true);
 
-     CHECK( timer.remaining() == 12*3600000ul + 38*60000ul + 15000);
 
-     now+= 12*3600000ul + 38*60000ul + 14999;
 
-     CHECK( timer.remaining() == 1);
 
-     ++now;
 
-     CHECK( timer.remaining() == 0);
 
-     CHECK( timer.running() == false);
 
-     now-= 12*3600000ul + 38*60000ul + 15000;
 
- }
 
- TEST_CASE( "TimerRemaining test.", "[timer]" )
 
- {
 
-     now = 0;
 
-     basicRemaining();
 
-     now = 1;
 
-     basicRemaining();
 
-     now = ULONG_MAX;
 
-     basicRemaining();
 
-     now = ULONG_MAX - 1;
 
-     basicRemaining();
 
-     now = 12*3600000ul + 38*60000ul + 15000;
 
-     basicRemaining();
 
- }
 
 
  |