Lumiera  0.pre.03
»edit your freedom«
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_isDue ()
 
void verify_Queuing ()
 
void verify_Significance ()
 
void verify_stability ()
 
void verify_WaterLevel ()
 

Additional Inherited Members

- Public Member Functions inherited from Test
virtual ~Test ()=default
 this is an interface
 
lib::Random makeRandGen ()
 build a dedicated new RandomGen, seeded from the default-Gen
 
virtual void run (Arg arg)=0
 
void seedRand ()
 draw a new random seed from a common nucleus, and re-seed the default-Gen.
 
- 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
 

Member Function Documentation

◆ 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().

+ Here is the call 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::feedPrioritisation(), SchedulerInvocation::instruct(), lib::test::anonymous_namespace{builder-qualifier-support-test.cpp}::one(), SchedulerInvocation::peekHead(), SchedulerInvocation::pullHead(), and lib::test::anonymous_namespace{builder-qualifier-support-test.cpp}::two().

+ Here is the call 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().

+ Here is the call 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().

+ Here is the call 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().

+ Here is the call 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::feedPrioritisation().

+ Here is the call 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: