35 #include <boost/functional/hash.hpp> 44 using vault::gear::JobParameter;
65 verify_simple_job_properties();
66 verify_job_identity();
71 verify_simple_job_properties()
74 Time beforeInvocation = RealClock::now();
77 CHECK (MockJob::was_invoked (job));
78 CHECK (RealClock::now() > MockJob::invocationTime (job));
79 CHECK (beforeInvocation < MockJob::invocationTime (job));
89 CHECK (job1 != job2,
"random test data clash");
91 CHECK (hash_value(job1) != hash_value(job2));
94 CHECK (!isSameObject (job1, copy));
97 CHECK (hash_value(job1) == hash_value(copy));
99 copy.parameter.nominalTime++;
100 CHECK (hash_value(job1) != hash_value(copy));
103 copy.parameter.invoKey.part.a++;
104 CHECK (hash_value(job1) != hash_value(copy));
110 void invokeJobOperation (JobParameter) { }
117 return boost::hash_value (invoKey.part.a);
120 OtherClosure someOtherClosure;
123 copy.jobClosure = &someOtherClosure;
124 CHECK (hash_value(job1) != hash_value(copy));
Mock data structures to support implementation testing of render job planning and frame dispatch...
Mock setup for a render Job with NO action but built-in diagnostics.
Steam-Layer implementation namespace root.
Lumiera's internal time value datatype.
Simple test class runner.
Tiny helper functions and shortcuts to be used everywhere Consider this header to be effectively incl...
Definition of a render job.
opaque ID attached to each individual job invocation.
size_t HashVal
a STL compatible hash value
Interface of the closure for frame rendering jobs.
render process self organisation
Individual frame rendering task, forwarding to a closure.
Front-end for simplified access to the current wall clock time.
bool isSameObject(A const &a, B const &b)
compare plain object identity, bypassing any custom comparison operators.