Lumiera 0.pre.04
»edit your freedom«
Loading...
Searching...
No Matches
SchedulerInvocation_test Class Reference

Description

Test:
Scheduler Layer-1: queue processing and invocation by priority.
See also
SchedulerCommutator_test
SchedulerUsage_test

Definition at line 39 of file scheduler-invocation-test.cpp.

Private Member Functions

virtual void run (Arg)
 
void simpleUsage ()
 
void verify_Queuing ()
 
void verify_WaterLevel ()
 
void verify_stability ()
 
void verify_isDue ()
 
void verify_Significance ()
 

Additional Inherited Members

- Static Public Member Functions inherited from Test
static string firstTok (Arg)
 conveniently pick the first token from the argument line
 
static uint firstVal (Arg, uint=1)
 conveniently use some number given as argument, with optional default
 
- Public Member Functions inherited from Test
virtual ~Test ()=default
 this is an interface
 
virtual void run (Arg arg)=0
 
void seedRand ()
 draw a new random seed from a common nucleus, and re-seed the default-Gen.
 
lib::Random makeRandGen ()
 build a dedicated new RandomGen, seeded from the default-Gen
 

Member Function Documentation

◆ run()

virtual void run ( Arg  )
inlineprivatevirtual

Definition at line 43 of file scheduler-invocation-test.cpp.

References SchedulerInvocation_test::simpleUsage(), SchedulerInvocation_test::verify_isDue(), SchedulerInvocation_test::verify_Queuing(), SchedulerInvocation_test::verify_Significance(), SchedulerInvocation_test::verify_stability(), and SchedulerInvocation_test::verify_WaterLevel().

+ Here is the call graph for this function:

◆ simpleUsage()

void simpleUsage ( )
inlineprivate
Test:
demonstrate a simple usage scenario of data passing

Definition at line 57 of file scheduler-invocation-test.cpp.

References SchedulerInvocation::feedPrioritisation(), SchedulerInvocation::instruct(), SchedulerInvocation::peekHead(), and SchedulerInvocation::pullHead().

Referenced by SchedulerInvocation_test::run().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ verify_Queuing()

void verify_Queuing ( )
inlineprivate
Test:
verify records are passed properly through the queues
  • add multiple elements to the instruct queue
  • after feedPrioritisation these appear as output

Definition at line 82 of file scheduler-invocation-test.cpp.

References SchedulerInvocation::empty(), SchedulerInvocation::feedPrioritisation(), SchedulerInvocation::instruct(), SchedulerInvocation::peekHead(), and SchedulerInvocation::pullHead().

Referenced by SchedulerInvocation_test::run().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ verify_WaterLevel()

void verify_WaterLevel ( )
inlineprivate
Test:
verify the given time point is utilised for prioritisation
  • order at output is determined by the time spec
  • even later added elements can push back previously visible elements at head

Definition at line 111 of file scheduler-invocation-test.cpp.

References SchedulerInvocation::feedPrioritisation(), SchedulerInvocation::instruct(), SchedulerInvocation::peekHead(), and SchedulerInvocation::pullHead().

Referenced by SchedulerInvocation_test::run().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ verify_stability()

void verify_stability ( )
inlineprivate
Test:
sort order is not necessarily stable if using identical time specs on entrance

Definition at line 141 of file scheduler-invocation-test.cpp.

References SchedulerInvocation::feedPrioritisation(), and SchedulerInvocation::pullHead().

Referenced by SchedulerInvocation_test::run().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ verify_isDue()

void verify_isDue ( )
inlineprivate
Test:
the entry appearing at head is due when its time is at or before current time.

Definition at line 166 of file scheduler-invocation-test.cpp.

References SchedulerInvocation::feedPrioritisation(), SchedulerInvocation::isDue(), SchedulerInvocation::peekHead(), and SchedulerInvocation::pullHead().

Referenced by SchedulerInvocation_test::run().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ verify_Significance()

void verify_Significance ( )
inlineprivate
Test:
verify extended classification data and information functions at scheduler head
  • add entries providing extra information regarding significance
  • verify that missing the deadline is detected
  • entries past deadline are marked outdated (will be dropped by Layer-2)
  • entries can be tagged with an ManifestationID, allowing to enable or disable visibility for a »family« of schedule entries
  • use the flag for compulsory entries, allowing to detect a fatal jammed situation where the head entry is out of time, while marked mandatory to process.

Definition at line 196 of file scheduler-invocation-test.cpp.

References SchedulerInvocation::activate(), SchedulerInvocation::drop(), SchedulerInvocation::empty(), SchedulerInvocation::feedPrioritisation(), SchedulerInvocation::headTime(), SchedulerInvocation::isDue(), SchedulerInvocation::isMissed(), SchedulerInvocation::isOutdated(), SchedulerInvocation::isOutOfTime(), Time::NEVER, and SchedulerInvocation::pullHead().

Referenced by SchedulerInvocation_test::run().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:
+ Inheritance diagram for SchedulerInvocation_test:
+ Collaboration diagram for SchedulerInvocation_test:

The documentation for this class was generated from the following file: