While these function may seem superficially plausible, I more and more come to the conclusion that offering such function as ''basic building blocks'' is in itself an ill-guided approach to handling of time entities. Time is neither „just a number“ — nor does it „contain“ hours, minutes and seconds. It is possible to ''represent'' it through a **time-code**, which incurs a quantisation step and implies a reference grid. Thus Lumiera ''should not offer'' a »basic time handling library«. Doing so would be just an invitation to bypass proper time handling and avoid the use of more demanding but also more adequate mental concepts. So the next step will be to remove functions not deemed adequate, and better directly inline the respective modulus based computations. Other functions can be integrated into the respective implementation translation units for time quantisation and timecode representation.
228 lines
6.3 KiB
Text
228 lines
6.3 KiB
Text
TESTING "Core Component Test Suite: fundamental concepts and frameworks" ./test-suite --group=common
|
|
|
|
|
|
|
|
TEST "basic application state" Appconfig_test <<END
|
|
return: 0
|
|
END
|
|
|
|
|
|
TEST "Advice collaboration (basics)" AdviceBasics_test <<END
|
|
return: 0
|
|
END
|
|
|
|
|
|
TEST "Advice constellations" AdviceSituations_test <<END
|
|
return: 0
|
|
END
|
|
|
|
|
|
PLANNED "Advice variants and configurations" AdviceConfiguration_test <<END
|
|
return: 0
|
|
END
|
|
|
|
|
|
PLANNED "Advice multiplicity and concurrency" AdviceMultiplicity_test <<END
|
|
return: 0
|
|
END
|
|
|
|
|
|
TEST "Advice binding patterns" AdviceBindingPattern_test <<END
|
|
out-lit: --->Binding[]
|
|
out-lit: aSymbol --->Binding[aSymbol/0()]
|
|
out-lit: a.compound_Symbol-with-various.parts --->Binding[a.compound_Symbol-with-various.parts/0()]
|
|
out-lit: trailing Garbage allowed. ☢☢ eat ☠☠☠ atomic ☠☠☠ waste ☢☢ --->Binding[Garbage/0(), allowed/0(), trailing/0()]
|
|
out-lit: a, list , of ,symbols. --->Binding[a/0(), list/0(), of/0(), symbols/0()]
|
|
out-lit: nullary(). --->Binding[nullary/0()]
|
|
out-lit: nullary( ) --->Binding[nullary/0()]
|
|
out-lit: nullary . --->Binding[nullary/0()]
|
|
out-lit: predicate( with-argument ) --->Binding[predicate/1(with-argument)]
|
|
out-lit: Binding[advice.type.dummyAdvice/0(), one/0(), three/1(four), two/0()]
|
|
out-lit: b0==Binding[]
|
|
out-lit: b1==Binding[cat1/0(), cat2/0()]
|
|
out-lit: b2==Binding[cat1/0(), cat2/0()]
|
|
out-lit: b2==Binding[advice.type.time/0(), cat1/0(), cat2/0(), cat3/1(zzz)]
|
|
return: 0
|
|
END
|
|
|
|
|
|
TEST "Advice index implementation" AdviceIndex_test <<END
|
|
return: 0
|
|
END
|
|
|
|
|
|
TEST "Dependency Singleton" Singleton_test 23 <<END
|
|
out-lit: testing TargetObj(23) as Singleton
|
|
out-lit: ctor TargetObj(23) successful
|
|
out-lit: calling a non-static method on the Singleton instance
|
|
out-lit: .....TargetObj(23): data="***********************", array[23]={0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,}
|
|
out-lit: dtor ~TargetObj(23) successful
|
|
return: 0
|
|
END
|
|
|
|
|
|
TEST "Dependency Singleton-Subclass" SingletonSubclass_test 13 <<END
|
|
out-lit: using the Singleton should create TargetObj(13)...
|
|
out-lit: ctor TargetObj(13) successful
|
|
out-lit: calling a non-static method on the Singleton-Implementation
|
|
out-lit: .....TargetObj(13): data="*************", array[13]={0,1,2,3,4,5,6,7,8,9,10,11,12,}
|
|
out-lit: dtor ~TargetObj(13) successful
|
|
return: 0
|
|
END
|
|
|
|
|
|
TEST "Dependency Mock Test Support" SingletonTestMock_test <<END
|
|
out-lit: TestSingO::doIt() call=1
|
|
out-lit: TestSingO::doIt() call=2
|
|
out-lit: Mock_1::doIt() call=1
|
|
out-lit: Mock_1::doIt() call=2
|
|
out-lit: Mock_1::doIt() call=3
|
|
out-lit: Mock_1::doIt() call=4
|
|
out-lit: Mock_1::doIt() call=5
|
|
out: Mock_.::doIt\(\) call=1
|
|
out-lit: TestSingO::doIt() call=3
|
|
return: 0
|
|
END
|
|
|
|
|
|
TEST "Dependency Injection flavours" DependencyFactory_test <<END
|
|
out-lit: ctor TargetObj(0) successful
|
|
out-lit: ctor TargetObj(1) successful
|
|
out-lit: ctor TargetObj(2) successful
|
|
out-lit: ctor TargetObj(3) successful
|
|
out-lit: dtor ~TargetObj(3) successful
|
|
out-lit: ctor TargetObj(4) successful
|
|
out-lit: dtor ~TargetObj(4) successful
|
|
out-lit: dtor ~TargetObj(2) successful
|
|
out-lit: dtor ~TargetObj(1) successful
|
|
out-lit: dtor ~TargetObj(0) successful
|
|
return: 0
|
|
END
|
|
|
|
|
|
TEST "Dependency Injection configuration" DependencyConfiguration_test <<END
|
|
return: 0
|
|
END
|
|
|
|
|
|
TEST "Dispatch functors into other threads" CallQueue_test <<END
|
|
return: 0
|
|
END
|
|
|
|
|
|
TEST "Lifecycle events and hooks" LifeCycle_test <<END
|
|
return: 0
|
|
END
|
|
|
|
|
|
TEST "Starting and stopping subsystems" SubsystemRunner_test <<END
|
|
out: -----singleSubsys_complete_cycle-----
|
|
out: -----singleSubsys_start_failure-----
|
|
out: -----singleSubsys_emegency_exit-----
|
|
out: -----dependentSubsys_complete_cycle-----
|
|
out: -----dependentSubsys_start_failure-----
|
|
return: 0
|
|
END
|
|
|
|
|
|
TEST "Lumiera Time Wrapper" TimeBasics_test <<END
|
|
return: 0
|
|
END
|
|
|
|
|
|
PLANNED "Drop-Frame calculation" TimeDropframe_test <<END
|
|
return: 0
|
|
END
|
|
|
|
|
|
TEST "Times and time intervals" TimeValue_test <<END
|
|
return: 0
|
|
END
|
|
|
|
|
|
PLANNED "Time Quantisation" TimeQuantisation_test <<END
|
|
return: 0
|
|
END
|
|
|
|
|
|
TEST "Changing time specifications" TimeMutation_test <<END
|
|
return: 0
|
|
END
|
|
|
|
|
|
TEST "Life changing time specifications with feedback" TimeControl_test <<END
|
|
out-lit: Test-Case. Target=Duration <--feed--- TimeValue
|
|
out-lit: Test-Case. Target=Duration <--feed--- Time
|
|
out-lit: Test-Case. Target=Duration <--feed--- Duration
|
|
out-lit: Test-Case. Target=Duration <--feed--- TimeSpan
|
|
out-lit: Test-Case. Target=Duration <--feed--- QuTime
|
|
out-lit: Test-Case. Target=TimeSpan <--feed--- TimeValue
|
|
out-lit: Test-Case. Target=TimeSpan <--feed--- Time
|
|
out-lit: Test-Case. Target=TimeSpan <--feed--- Duration
|
|
out-lit: Test-Case. Target=TimeSpan <--feed--- TimeSpan
|
|
out-lit: Test-Case. Target=TimeSpan <--feed--- QuTime
|
|
out-lit: Test-Case. Target=QuTime <--feed--- TimeValue
|
|
out-lit: Test-Case. Target=QuTime <--feed--- Time
|
|
out-lit: Test-Case. Target=QuTime <--feed--- Duration
|
|
out-lit: Test-Case. Target=QuTime <--feed--- TimeSpan
|
|
out-lit: Test-Case. Target=QuTime <--feed--- QuTime
|
|
return: 0
|
|
END
|
|
|
|
|
|
TEST "Quantiser API basics" QuantiserBasics_test <<END
|
|
return: 0
|
|
END
|
|
|
|
|
|
TEST "Support for specific timecode formats" FormatSupport_test <<END
|
|
return: 0
|
|
END
|
|
|
|
|
|
TEST "Time formats and timecodes" TimeFormats_test <<END
|
|
out: Framecount=".+#" time = .+:..:..
|
|
out: SMPTE=".+:..:..:.." time = .+:..:..
|
|
out-lit: ----SMPTE-----
|
|
out-lit: SMPTE=" 5:42:23:13" time = 5:42:23.520
|
|
return: 0
|
|
END
|
|
|
|
|
|
TEST "Parsing time values" TimeParsing_test <<END
|
|
return: 0
|
|
END
|
|
|
|
|
|
TEST "VisitingTool_test" VisitingTool_test <<END
|
|
out: === Babbler meets Boss and BigBoss ===
|
|
out: Hello Boss, nice to meet you...
|
|
out: Hello Big Boss, nice to meet you...
|
|
out: === Babbler meets HomoSapiens and Leader ===
|
|
out: Hello Boss, nice to meet you...
|
|
return: 0
|
|
END
|
|
|
|
|
|
TEST "VisitingToolExtended_test" VisitingToolExtended_test <<END
|
|
out: === Babbler meets Boss and BigBoss ===
|
|
out: Hello Boss, nice to meet you...
|
|
out: Hello Big Boss, nice to meet you...
|
|
out: === Babbler meets HomoSapiens and Leader ===
|
|
out: Hello Boss, nice to meet you...
|
|
out: === Blatherer meets Leader and Visionary masqueraded as Chief ===
|
|
out: we-do-everything-for-YOU!
|
|
out: Hello Mr.Future, nice to meet you...
|
|
out: === Babbler masqueraded as Tool meets Leader and Visionary masqueraded as HomoSapiens ===
|
|
out: Hello Boss, nice to meet you...
|
|
out: === Babbler masqueraded as Tool meets Leader and Visionary masqueraded as Leader ===
|
|
out: Hello Boss, nice to meet you...
|
|
return: 0
|
|
END
|
|
|
|
|
|
TEST "Zombie tripwire" ZombieCheck_test <<END
|
|
return: 0
|
|
END
|
|
|
|
|