LUMIERA.clone/tests/40core.tests
Ichthyostega f1a6fca4cd fix too narrow test definition for IterAdapterSTL_test
here we're iterating hash table based collections, consequently
the order of items retrieved *is* implementation dependent and indeed
differs on different platforms and compilers.
2014-09-26 02:24:01 +02:00

1518 lines
45 KiB
Text

TESTING "Core Component Test Suite: common and basic components" ./test-suite --group=common
TEST "Hello test world" HelloWorld_test 3 <<END
out-lit: This is how the world ends...
return: 0
END
TEST "Allocation Cluster" AllocationCluster_test <<END
return: 0
END
TEST "basic application state" Appconfig_test <<END
return: 0
END
TEST "Advice collaboration (basics)" AdviceBasics_test <<END
return: 0
END
PLANNED "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.n7lumiera6advice4test12_GLOBAL__N_111DummyAdviceE/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.n3lib4time4TimeE/0(), cat1/0(), cat2/0(), cat3/1(zzz)]
return: 0
END
TEST "Advice index implementation" AdviceIndex_test <<END
return: 0
END
TEST "implicit conversion to bool" BoolCheckable_test <<END
out: 1
out: 2
out: doIt
out: 4
out: 5
out: doIt
out: 7
out: 8
out: doIt
out: 10
out: 11
out: doIt
out: 13
out: 14
out: doIt
out: sizeof.+lib.+test.+ExampleCustomType123.+ = [248]
return: 0
END
TEST "CmdlineWrapper_test" CmdlineWrapper_test <<END
out-lit: wrapping cmdline:...
out-lit: -->
out-lit: wrapping cmdline:
out-lit: ...
out-lit: -->
out-lit: wrapping cmdline:spam...
out-lit: 0|spam|
out-lit: -->spam
out-lit: wrapping cmdline:
out-lit: spam...
out-lit: 0|spam|
out-lit: -->spam
out-lit: wrapping cmdline:eat more spam...
out-lit: 0|eat|
out-lit: 1|more|
out-lit: 2|spam|
out-lit: -->eat more spam
out-lit: wrapping cmdline: oo _O()O_ ☭ + €...
out-lit: 0|oo|
out-lit: 1|_O()O_|
out-lit: 2|☭|
out-lit: 3|+|
out-lit: 4|€|
out-lit: -->oo _O()O_ ☭ + €
out-lit: wrapping cmdline:Ω ooΩ oΩo Ωoo...
out-lit: 0|Ω|
out-lit: 1|ooΩ|
out-lit: 2|oΩo|
out-lit: 3|Ωoo|
out-lit: -->Ω ooΩ oΩo Ωoo
out-lit: Standard Cmdlineformat:one two
END
TEST "ConfigFlags_test" ConfigFlags_test <<END
out-lit: Conf0 :-
out-lit: Conf1 :-<1>-
out-lit: Conf2 :-<2>-
out-lit: Conf3 :-<3>-
out-lit: Conf4 :-<2>-<4>-
out-lit: AllFlags :-<1>-<2>-<3>-<4>-
out-lit: __________________________
out-lit: __________________________ check_flags()
out-lit: Flags1 :-<2>-<4>-
out-lit: Flags2 :-<2>-<4>-
out-lit: SimpleConfig_defined_by_Typelist :-<1>-
out-lit: AnotherConfig_defined_by_Typelist :-<1>-<2>-<3>-<4>-
out-lit: __________________________
out-lit: __________________________ check_instantiation()
out-lit: defined Conf0? ---> 0
out-lit: defined Conf1? ---> 1
out-lit: defined Conf2? ---> 1
out-lit: defined Conf3? ---> 1
out-lit: defined Conf4? ---> 1
out-lit: defined Trash? ---> 0
out-lit: __________________________
out-lit: __________________________ check_filter()
out-lit: SomeFlagsets :
out-lit: +---<1>-<3>-+
out-lit: +---<2>-<4>-+-
out-lit: Configs_defined_by_Flagsets :
out-lit: +-Conf-[-<1>-<3>-]
out-lit: +-Conf-[-<2>-<4>-]-
out-lit: Filter_possible_Configs :
out-lit: +-Conf-[-<2>-<4>-]-
out-lit: AllFlagCombinations :
out-lit: +---<1>-<2>-<3>-<4>-<·>-+
out-lit: +---<1>-<2>-<3>-<·>-+
out-lit: +---<1>-<2>-<4>-<·>-+
out-lit: +---<1>-<2>-<·>-+
out-lit: +---<1>-<3>-<4>-<·>-+
out-lit: +---<1>-<3>-<·>-+
out-lit: +---<1>-<4>-<·>-+
out-lit: +---<1>-<·>-+
out-lit: +---<2>-<3>-<4>-<·>-+
out-lit: +---<2>-<3>-<·>-+
out-lit: +---<2>-<4>-<·>-+
out-lit: +---<2>-<·>-+
out-lit: +---<3>-<4>-<·>-+
out-lit: +---<3>-<·>-+
out-lit: +---<4>-<·>-+
out-lit: +---<·>-+-
out-lit: ListAllConfigs :
out-lit: +-Conf-[-<1>-<2>-<3>-<4>-]
out-lit: +-Conf-[-<1>-<2>-<3>-]
out-lit: +-Conf-[-<1>-<2>-<4>-]
out-lit: +-Conf-[-<1>-<2>-]
out-lit: +-Conf-[-<1>-<3>-<4>-]
out-lit: +-Conf-[-<1>-<3>-]
out-lit: +-Conf-[-<1>-<4>-]
out-lit: +-Conf-[-<1>-]
out-lit: +-Conf-[-<2>-<3>-<4>-]
out-lit: +-Conf-[-<2>-<3>-]
out-lit: +-Conf-[-<2>-<4>-]
out-lit: +-Conf-[-<2>-]
out-lit: +-Conf-[-<3>-<4>-]
out-lit: +-Conf-[-<3>-]
out-lit: +-Conf-[-<4>-]
out-lit: +-Conf-[-]-
out-lit: Filter_all_possible_Configs :
out-lit: +-Conf-[-<1>-]
out-lit: +-Conf-[-<2>-<3>-]
out-lit: +-Conf-[-<2>-<4>-]
out-lit: +-Conf-[-<2>-]
out-lit: +-Conf-[-<3>-]-
out-lit: __________________________
out-lit: __________________________ check_FlagInfo()
out-lit: Flags1 :-<1>-<3>-
out-lit: max bit : 3
out-lit: binary code: 10
out-lit: SomeConfigs :
out-lit: +-Conf-[-<1>-<3>-]
out-lit: +-Conf-[-<2>-<4>-]-
out-lit: max bit in [SomeConfigs] : 4
out-lit: TestVisitor application:
out-lit: visit(code=10) -->
out-lit: +-Conf-[-<1>-<3>-]-
out-lit: visit(code=20) -->
out-lit: +-Conf-[-<2>-<4>-]-
out-lit: __________________________
out-lit: __________________________ check_ConfigSelector()
out-lit: Possible_Configs :
out-lit: +-Conf-[-<1>-]
out-lit: +-Conf-[-<2>-<3>-]
out-lit: +-Conf-[-<2>-<4>-]
out-lit: +-Conf-[-<2>-]
out-lit: +-Conf-[-<3>-]-
out-lit: Flag-code = 2 ConfigSelector() ---> 1010
out-lit: Flag-code = 12 ConfigSelector() ---> 1023
out-lit: Flag-code = 20 ConfigSelector() ---> 1024
out-lit: Flag-code = 4 ConfigSelector() ---> 1020
out-lit: Flag-code = 8 ConfigSelector() ---> 1030
out-lit: LUMIERA_ERROR_INVALID:invalid input or parameters (ConfigSelector: No preconfigured factory for config-bits=10111).
return: 0
END
TEST "CustomSharedPtr_test" CustomSharedPtr_test <<END
return: 0
END
TEST "Deleter function collection" DelStash_test <<END
return: 0
END
TEST "Dependency injection" 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 "A Digxel (numeric component)" Digxel_test <<END
out-lit: empty____## +0.0 ##
out-lit: value____##-88.8 ##
out: timings\(\w+\)....*ns
return: 0
END
TEST "Digxel standard configurations" DigxelConfigurations_test <<END
out: .+Digxel.+Formatter.+--empty-- 0--\(val=123\)--123\|
out: .+Digxel.+Formatter.+--empty--00.000--\(val=123.457\)--123.457
out: .+Digxel.+SexaFormatter.+--empty--00--\(val=42\)--42
out: .+Digxel.+SexaFormatter.+--empty--00--\(val=-5\)---5
out: .+Digxel.+HexaFormatter.+--empty--00--\(val=12\)--0C
out: .+Digxel.+HexaFormatter.+--empty--00--\(val=111\)--6F
out: .+Digxel.+CountFormatter.+--empty--0000--\(val=-1234567890\)---1234567890
return: 0
END
TEST "Duck typing support" DuckDetector_test <<END
out: HasNested_Core<PropperGander> : Yes
out: HasNested_Core<Propaganda> : No
out: HasMember_honk<PropperGander> : Yes
out: HasMember_honk<Propaganda> : Yes
out: HasFunSig_honk<PropperGander> : Yes
out: HasFunSig_honk<Propaganda> : No
return: 0
END
TEST "ExceptionError_test" ExceptionError_test <<END
out: caught: LUMIERA_ERROR_LIFE_AND_UNIVERSE:and everything\? \(don't panic\)...the answer is: 42
out: caught lumiera::Error: LUMIERA_ERROR_DERIVED:convoluted exception
out: caught error::Logic: LUMIERA_ERROR_FATAL:floundered \(test-2\).
out: caught error::Invalid: LUMIERA_ERROR_INVALID:invalid input or parameters \(test-3\).
out: caught lumiera::Error: LUMIERA_ERROR_EXTERNAL:failure in external service \(test-4\).
out: caught std::runtime_error: test-5
out: caught std::exception. \(unspecific\)
out: intermediate handler caught: LUMIERA_ERROR_EXTERNAL:failure in external service \(test-7\).....will rethrow as error::State
out: caught lumiera::Error: LUMIERA_ERROR_STATE:unforeseen state -- caused by: LUMIERA_ERROR_EXTERNAL:failure in external service \(test-7\).
out: intermediate handler caught: LUMIERA_ERROR_EXTERNAL:failure in external service \(test-8\).....will rethrow as error::State
out: 2nd intermediate handler caught: LUMIERA_ERROR_STATE:unforeseen state -- caused by: LUMIERA_ERROR_EXTERNAL:failure in external service \(test-8\).....will rethrow as error::Config
out: caught lumiera::Error: LUMIERA_ERROR_CONFIG:misconfiguration -- caused by: LUMIERA_ERROR_EXTERNAL:failure in external service \(test-8\)\.
out: caught lumiera::Error: LUMIERA_ERROR_LIFE_AND_UNIVERSE:and everything\? \(what is the answer\?\)\.
out: caught error::Logic: LUMIERA_ERROR_LOGIC:internal logic broken \(the big bang\). -- caused by: LUMIERA_ERROR_LIFE_AND_UNIVERSE:and everything\? \(what is the answer\?\)\.
END
TEST "formatting/diagnostics helpers" FormatHelper_test <<END
out: Displaying some types....
out: «..util.test.Reticent.»
out: <no comment>
out: ^hey Joe!
out: ^he says: hey Joe!
out: ^the truth: 0
out: ^just a number: 1.234.*e\+56
out: ^12345X
return: 0
END
TEST "formatting by string template" FormatString_test <<END
out-lit: --format-template--int=0012--double=+1.23--string=Lumiera --
out: 0x....+ _____+ .
out: «.+util.+test.+Silent.»
out-lit: __nix_
out-lit: ____
out-lit: __1__
out-lit: __1__
out-lit: __↯__
out-lit: __dirt__
out-lit: __1234__
out-lit: __0xff__
return: 0
END
TEST "functional closure" FunctionClosure_test <<END
out-lit: List1 :-<1>-<2>-<3>-
out-lit: List2 :-<5>-<6>-<7>-
out-lit: Args :-<5>-<9>-
out-lit: NewArgs :-<1>-<5>-<9>-
out-lit: :
out-lit: : ---Apply---
out-lit: tup0 :...Tuple()
out-lit: tup1 :...Tuple(11)
out-lit: tup2 :...Tuple(11,12)
out-lit: tup3 :...Tuple(11,12,13)
out-lit: :
out-lit: : ---Bind----
return: 0
END
TEST "functional composition" FunctionComposition_test <<END
return: 0
END
TEST "function type erasure" FunctionErasure_test <<END
return: 0
END
TEST "HashGenerator_test" HashGenerator_test <<END
return: 0
END
TEST "HashIndexed_test" HashIndexed_test <<END
return: 0
END
TEST "bridge boost::hash to std::hash" HashStandardToBoostBridge_test <<END
return: 0
END
TEST "Hierarchy rebuilding" HierarchyOrientationIndicator_test <<END
return: 0
END
TEST "LifeCycle_test" LifeCycle_test <<END
return: 0
END
PLANNED "configurable Factory" MultiFact_test <<END
END
TEST "Family of Singleton Factories" MultiFactSingleton_test <<END
out: Impl-1
out: Impl-2
out: Impl-3
out: Impl-4
out: sizeof\( .+MultiFact.+Interface.+theID.+PassAsIs.+ \) =
return: 0
END
TEST "Factory argument handling" MultiFactArgument_test <<END
out: sizeof\( .+MultiFact.+Num.+prodID.+BuildRefcountPtr.+ \) =
out: fabricate\(1, 2\)
out: fabricate\(2, 3\)
return: 0
END
TEST "metaprogramming helpers" MetaUtils_test <<END
return: 0
END
TEST "NIL object singleton" NullValue_test <<END
return: 0
END
TEST "inline type erasure" OpaqueHolder_test <<END
out: 1
out: 3
out: 5
out: 7
out: sizeof\( .+ \) = .*[12468]{1,2}
return: 0
END
TEST "inline unchecked buffer" OpaqueUncheckedBuffer_test <<END
out: DD<0>:
out-lit: DD<5>: *****
out-lit: DD<9>: I'm fine*
out-lit: I'm special, what the f** is going on here?************
return: 0
END
TEST "inline val/ref wrapper" ItemWrapper_test <<END
out: ItemWrapper: sizeof\( .+ItemWrapper.+ ) =
END
TEST "switchable reference" OptionalRef_test <<END
return: 0
END
TEST "Lumiera Iterator Concept" IterAdapter_test 20 <<END
out: ::20::19::18::17::16::15::14::13::12::11::10::9::8::7::6::5::4::3::2::1
out: ::0::1::2::3::4::5::6::7::8::9::10::11::12::13::14::15::16::17::18::19
END
TEST "Lumiera Iterator Adapter for STL" IterAdapterSTL_test <<END
out: -----filter-distinct-values---.+vector
out: iter::eachDistinct$
out: iter::eachDistinct::1$
out: iter::eachDistinct::1::2::3::1
out: -----iterateMapKeyVal---.+map
out: iter::eachKey::0::1::2::3::4::5::6::7::8::9
out: iter::eachVal::0::2::4::6::8::10::12::14::16::18
out: iter::eachDistinctKey::0::1::2::3::4::5::6::7::8::9
out: -----iterateMapKeyVal---.+unordered_map
out: iter::eachKey::.::.::.::.::.::.::.::.::.::.
out: iter::eachVal::.+
out: iter::eachDistinctKey::.::.::.::.::.::.::.::.::.::.
out: -----iterateMapKeyVal---.+multimap
out: iter::eachKey::0::0::0::0::0::0::0::0::0::0::1::1::1::1::1::1::1::1::1::2::2::2::2::2::2::2::2::3::3::3::3::3::3::3::4::4::4::4::4::4::5::5::5::5::5::6::6::6::6::7::7::7::8::8::9
out: iter::eachVal::10::9::8::7::6::5::4::3::2::1::9::8::7::6::5::4::3::2::1::8::7::6::5::4::3::2::1::7::6::5::4::3::2::1::6::5::4::3::2::1::5::4::3::2::1::4::3::2::1::3::2::1::2::1::1
out: iter::eachDistinctKey::0::1::2::3::4::5::6::7::8::9
out: -----iterateMapKeyVal---.+unordered_multimap
out: iter::eachKey::.::.::.::.::.::.::.::.::.::.::.::.::.::.::.::.::.::.::.::.::.::.::.::.::.::.::.::.::.::.::.::.::.::.::.::.::.::.::.::.::.::.::.::.::.::.::.::.::.::.::.::.::.::.::.
out: iter::eachVal::.+
out: iter::eachDistinctKey::.::.::.::.::.::.::.::.::.::.
out: -----iterateValues4Key---.+multimap
out: iter::eachValForKey::10::9::8::7::6::5::4::3::2::1
out: -----iterateValues4Key---.+unordered_multimap
out: iter::eachValForKey::.+
out: snapshot-0-1-2-3-4-5-6-7-8-9
out: snapshot-22-44
END
TEST "Lumiera Iterator Tools" IterTools_test 20 <<END
out: ::20::19::18::17::16::15::14::13::12::11::10::9::8::7::6::5::4::3::2::1
out: ::20::18::16::14::12::10::8::6::4::2
out: ::19::17::15::13::11::9::7::5::3::1
out: ::17::16::15::14::13::12::11::10::9::8::7::6::5::4::3::2::1
out: ::16::14::12::10::8::6::4::2
out: ::17::15::13::11::9::7::5::3::1
out: ::10::9::8::7::6::5::4::3::2::1
out: ::-10::-9::-8::-7::-6::-5::-4::-3::-2::-1
out: ::12::11::10::9::8::7::6::5::4::3
END
TEST "Iterable data source" IterSource_test 13 <<END
out: ::13::12::11::10::9::8::7::6::5::4::3::2::1
out: ::.............::............::...........::..........::.........::........::.......::......::.....::....::...::..::.$
out-lit: ::0:00:03.250::0:00:03.000::0:00:02.750::0:00:02.500::0:00:02.250::0:00:02.000::0:00:01.750::0:00:01.500::0:00:01.250::0:00:01.000::0:00:00.750::0:00:00.500::0:00:00.250
out: (::X...........){13}$
out: (::0:0.:..\..00){13}$
out: (::X...........){13}$
out: (::0:0.:..\..00){13}$
out: distinct_keys::0::1::2::3::4::5::6::7::8::9::10::11::12
out: values_4_key(::[0-9]{1,2})+
out: distinct_keys(::[0-9]{1,2}){13}
out: values_4_key(::[0-9]{1,2})+
END
TEST "Iterator monad variations" IterExplorer_test <<END
out-lit: 1-2-3-4-5-6-7-8
out-lit: 0-1-2-3-4-0-1-2-3-4-5-6-0-1-2-3-4-5-6-7-8
out-lit: 0-1-2-3-4-5-6-7-8
out-lit: 0-1-2-3-4-5-6-7-8
END
TEST "Stack-like iterator" IterStack_test <<END
return: 0
END
TEST "Queue-like iterator" IterQueue_test <<END
return: 0
END
TEST "Iterable type detection" IterableClassification_test <<END
out: can_STL_ForEach<LongVector> : Yes
out: can_STL_ForEach<TimeSet> : Yes
out: can_STL_ForEach<CharMap> : Yes
out: can_STL_ForEach<BoolList> : Yes
out: can_STL_ForEach<ShortDeque> : Yes
out: can_STL_ForEach<CustomCont> : Yes
out: can_STL_ForEach<ForwardRangeIter> : No
out: can_STL_ForEach<TransformedForwardIter> : No
out: can_STL_ForEach<FilteredForwardIter> : No
out: can_STL_ForEach<CustomForwardIter> : No
out: can_IterForEach<LongVector> : No
out: can_IterForEach<TimeSet> : No
out: can_IterForEach<CharMap> : No
out: can_IterForEach<BoolList> : No
out: can_IterForEach<ShortDeque> : No
out: can_IterForEach<CustomCont> : No
out: can_IterForEach<ForwardRangeIter> : Yes
out: can_IterForEach<TransformedForwardIter> : Yes
out: can_IterForEach<FilteredForwardIter> : Yes
out: can_IterForEach<CustomForwardIter> : Yes
END
TEST "Linked iterable elements" LinkedElements_test <<END
return: 0
END
TEST "Polymorphic value objects" PolymorphicValue_test <<END
return: 0
END
TEST "Generic Query representation" QueryText_test <<END
return: 0
END
TEST "Query support utilities" QueryUtils_test <<END
out-lit: ..original : a A AA dufte 1a _1 A_A BÄH White space §&Ω%€GΩ%€ar ☠☠☠ baäääääge!!!!! :
out-lit: normalised : a a aA dufte o1a o_1 a_A bH o white_space gar_bage :
return: 0
END
TEST "RefArray_test" RefArray_test <<END
return: 0
END
TEST "RemoveFromSet_test" RemoveFromSet_test <<END
out-lit: removed nothing ---> [ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, ]
out-lit: removed 0 ---> [ 1, 2, 3, 4, 5, 6, 7, 8, 9, ]
out-lit: removed 9 ---> [ 0, 1, 2, 3, 4, 5, 6, 7, 8, ]
out-lit: removed 5 ---> [ 0, 1, 2, 3, 4, 6, 7, 8, 9, ]
out-lit: removed 0 2 4 6 8 ---> [ 1, 3, 5, 7, 9, ]
out-lit: removed 1 3 5 7 9 ---> [ 0, 2, 4, 6, 8, ]
out-lit: removed 0 1 2 3 4 5 6 7 8 9 ---> [ ]
out-lit: removed 0 1 2 3 4 5 6 7 8 ---> [ 9, ]
out-lit: removed 1 2 3 4 5 6 7 8 9 ---> [ 0, ]
out-lit: removed 0 1 2 3 4 6 7 8 9 ---> [ 5, ]
END
TEST "SanitizedIdentifier_test" SanitizedIdentifier_test <<END
out-lit: 'Word' --> 'Word'
out-lit: 'a Sentence' --> 'a_Sentence'
out-lit: 'trailing Withespace
out-lit: ' --> 'trailing_Withespace'
out-lit: 'with a lot
out-lit: of Whitespace' --> 'with_a_lot_of_Whitespace'
out-lit: 'with"much (punctuation)[]!' --> 'withmuch_(punctuation)'
out-lit: '§&Ω%€ leading garbage' --> 'leading_garbage'
out-lit: 'mixed Ω garbage' --> 'mixed_garbage'
out-lit: 'Bääääh!!' --> 'Bh'
out-lit: '§&Ω%€' --> ''
END
TEST "ScopedHolder_test" ScopedHolder_test <<END
out: checking ScopedHolder<Dummy>...
out: checking ScopedPtrHolder<Dummy>...
END
TEST "ScopedHolderTransfer_test" ScopedHolderTransfer_test <<END
out-lit: checking ScopedHolder<Dummy>...
out-lit: .
out-lit: ..install one element at index[0]
out-lit: .
out-lit: ..*** resize table to 16 elements
out-lit: .
out-lit: .throw some exceptions...
out-lit: checking ScopedPtrHolder<Dummy>...
out-lit: .
out-lit: ..install one element at index[0]
out-lit: .
out-lit: ..*** resize table to 16 elements
out-lit: .
out-lit: .throw some exceptions...
END
TEST "Managed Collection (I)" ScopedCollection_test <<END
return: 0
END
TEST "Managed Collection (II)" ScopedPtrVect_test <<END
return: 0
END
TEST "Search path walking" SearchPathSplitter_test <<END
out-lit: ➢➢a
out-lit: ➢➢a
out-lit: ➢➢a
out-lit: ➢➢b
out-lit: ➢➢a
out-lit: ➢➢b
out-lit: ➢➢c
out: ➢➢.d.
out-lit: ➢➢ e f
out-lit: ➢➢/usr/bin
out-lit: ➢➢/usr/lib
END
TEST "Singleton_test" 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
END
TEST "SingletonSubclass_test" 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
END
TEST "SingletonTestMock_test" SingletonTestMock_test <<END
out-lit: TestSingletonO::doIt() call=1
out-lit: TestSingletonO::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-lit: Mock_2::doIt() call=1
out-lit: TestSingletonO::doIt() call=3
END
PLANNED "StreamTypeBasics_test" StreamTypeBasics_test <<END
END
PLANNED "StreamTypeLifecycle_test" StreamTypeLifecycle_test <<END
END
TEST "Multithread Locking by Monitor" SyncLocking_test <<END
return: 0
END
TEST "Multithread Locking whole class" SyncClasslock_test <<END
return: 0
END
TEST "Wrapper thread-local pointers" ThreadLocal_test <<END
return: 0
END
TEST "Thread-local diagnostic context" DiagnosticContext_test <<END
return: 0
END
TEST "Wait/Notify on Object Monitor" SyncWaiting_test <<END
return: 0
END
TEST "Create 20 Threads passing context" ThreadWrapper_test <<END
return: 0
END
TEST "Waiting on Thread termination" ThreadWrapperJoin_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
out: .?.:..:..\....
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: Test-Case. Target=.+time.Duration. <--feed--- .+time.TimeValue.$
out: Test-Case. Target=.+time.Duration. <--feed--- .+time.Time.$
out: Test-Case. Target=.+time.Duration. <--feed--- .+time.Duration.$
out: Test-Case. Target=.+time.Duration. <--feed--- .+time.TimeSpan.$
out: Test-Case. Target=.+time.Duration. <--feed--- .+time.QuTime.$
out: Test-Case. Target=.+time.TimeSpan. <--feed--- .+time.TimeValue.$
out: Test-Case. Target=.+time.TimeSpan. <--feed--- .+time.Time.$
out: Test-Case. Target=.+time.TimeSpan. <--feed--- .+time.Duration.$
out: Test-Case. Target=.+time.TimeSpan. <--feed--- .+time.TimeSpan.$
out: Test-Case. Target=.+time.TimeSpan. <--feed--- .+time.QuTime.$
out: Test-Case. Target=.+time.QuTime. <--feed--- .+time.TimeValue.$
out: Test-Case. Target=.+time.QuTime. <--feed--- .+time.Time.$
out: Test-Case. Target=.+time.QuTime. <--feed--- .+time.Duration.$
out: Test-Case. Target=.+time.QuTime. <--feed--- .+time.TimeSpan.$
out: Test-Case. Target=.+time.QuTime. <--feed--- .+time.QuTime.$
return: 0
END
TEST "Quantiser API basics" QuantiserBasics_test <<END
return: 0
END
TEST "Defining Suppport 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
END
TEST "Symbol_test" Symbol_test <<END
out: one
out: sizeof.+lib.Literal.+ = (4|8)
out: Ss
out: one\.\.\.\.one
return: 0
END
TEST "Hashtable with Symbol keys" SymbolHashtable_test <<END
return: 0
END
TEST "Test support functions" TestHelper_test <<END
out: [a-z0-9]{80}$
out: Displaying types and sizes....
out: sizeof..theUniverse.+ = 42
out: sizeof..just a char.+ = 1
out: sizeof.+lib.+test.+test.+Murpf.+ = 1
out: sizeof.+lib.+test.+test.+Wrmrmpft.+ = 2
out: sizeof.+lib.+test.+test.+Wrmrmpft.+ = 3
out: sizeof.+lib.+test.+test.+Wrmrmpft.+Murpf.+ = 1
END
TEST "Variadic template diagnostics" TestHelperVariadic_test <<END
out-lit: --no-arg--
out-lit: :.
out-lit: --value--
out: .+#1.+ Type: d VAL Address. 0x.+
out-lit: :.
out-lit: --reference--
out: .+#1.+ Type: d REF Address. 0x.+
out-lit: :.
out-lit: --move--
out: .+#1.+ Type: d MOV Address. 0x.+
out-lit: :.
out-lit: --two values--
out: .+#2.+ Type: A4_c REF Address. 0x.+
out: .+#1.+ Type: l MOV Address. 0x.+
out-lit: :.
out-lit: --matched--
out: .+#3.+ Type: d REF Address. 0x.+
out: .+#2.+ Type: d REF Address. 0x.+
out: .+#1.+ Type: d MOV Address. 0x.+
out-lit: :.
out-lit: --baseclass--
out: .+#1.+ Type: .+lib.test.test.+Interface. REF Address. 0x.+
out-lit: :.
END
TEST "TestOption_test" TestOption_test <<END
out: Testing invocation with cmdline: ...
out: --> Testgroup=ALL
out: --> Test-ID =--missing--
out: --> remaining=
out: Testing invocation with cmdline: --help...
out: --> Testgroup=ALL
out: --> Test-ID =--missing--
out: --> remaining=
out: Testing invocation with cmdline: --group TestGroupID...
out: --> Testgroup=TestGroupID
out: --> Test-ID =--missing--
out: --> remaining=
out: Testing invocation with cmdline: SingleTestID...
out: --> Testgroup=ALL
out: --> Test-ID =SingleTestID
out: --> remaining=SingleTestID
out: Testing invocation with cmdline: SingleTestID --group TestGroupID...
out: --> Testgroup=TestGroupID
out: --> Test-ID =SingleTestID
out: --> remaining=SingleTestID
out: Testing invocation with cmdline: --group TestGroupID SingleTestID ...
out: --> Testgroup=TestGroupID
out: --> Test-ID =SingleTestID
out: --> remaining=SingleTestID
out: Testing invocation with cmdline: --group TestGroupID SingleTestID spam eggs...
out: --> Testgroup=TestGroupID
out: --> Test-ID =SingleTestID
out: --> remaining=SingleTestID spam eggs
out: Testing invocation with cmdline: SingleTestID spam --group TestGroupID --eggs...
out: --> Testgroup=TestGroupID
out: --> Test-ID =SingleTestID
out: --> remaining=SingleTestID spam --eggs
END
TEST "TypeList_test" TypeList_test <<END
out: - 1 -- 2 -- 3 -- 5 -- 8 -- 13 -- The End -
out: ..Size of = 1
return: 0
END
TEST "simple typelist utils" TypeListUtil_test <<END
return: 0
END
TEST "TypeListGenerator_test" TypeListGenerator_test <<END
out: ctor DoIt<Block<13> >
out: ctor DoIt<Block< 8> >
out: ctor DoIt<Block< 5> >
out: ctor DoIt<Block< 3> >
out: ctor DoIt<Block< 2> >
out: ctor DoIt<Block< 1> >
out: devouring__Block< 2>__
out: devouring__Block< 5>__
out: devouring__Block<13>__
out: gulp!
out: dtor DoIt<Block< 1> >
out: dtor DoIt<Block< 2> >
out: dtor DoIt<Block< 3> >
out: dtor DoIt<Block< 5> >
out: dtor DoIt<Block< 8> >
out: dtor DoIt<Block<13> >
return: 0
END
TEST "typelist manipulation" TypeListManip_test <<END
out-lit: List1 :-<1>-<2>-<3>-
out-lit: List2 :-<5>-<6>-<7>-
out-lit: Added2 :-<3>-<4>-<5>-
out-lit: FilterEven :-<2>-<6>-
out-lit: Append1 :-
out-lit: Append2 :-<11>-<22>-
out-lit: Append3 :-<111>-
out-lit: Append4 :-<222>-
out-lit: Append5 :-<1>-<2>-<3>-
out-lit: Append6 :-<5>-<6>-<7>-
out-lit: Append7 :-<111>-<5>-<6>-<7>-
out-lit: Append8 :-<1>-<2>-<3>-<222>-
out-lit: Append9 :-<1>-<2>-<3>-<5>-<6>-<7>-
out-lit: Overl01 :-
out-lit: Overl02 :-
out-lit: Overl03 :-
out-lit: Overl04 :-<9>-<8>-<3>-
out-lit: Overl05 :-<1>-<9>-<8>-
out-lit: Overl06 :-<1>-<2>-<9>-
out-lit: Overl07 :-<1>-<2>-<3>-
out-lit: Overl08 :-<1>-<2>-<3>-
out-lit: Overl09 :-<1>-<2>-<3>-
out-lit: Overl10 :-<1>-<1>-<2>-
out-lit: Overl11 :-<1>-<2>-<3>-
out-lit: Overl12 :-<1>-<2>-<3>-
out-lit: Overl13 :-<1>-<2>-<3>-
out-lit: Front1 :-
out-lit: Front2 :-<1>-
out-lit: Front3 :-<1>-<2>-<3>-
out-lit: Back1 :-<2>-<3>-
out-lit: Back2 :-<3>-
out-lit: Back3 :-
out-lit: Front4 :-<1>-
out-lit: Back4 :-<2>-<3>-
out-lit: Prefix :-<1>-<2>-
out-lit: ElmL :-<3>-
out-lit: NPrefix :-
out-lit: Types<Elm1> :-<3>-
out-lit: NList :-
out-lit: Types<Nil> :-
out-lit: LL :-<1>-<2>-<3>-<5>-<6>-<7>-
out-lit: List :-<1>-<2>-<3>-<5>-<6>-<7>-
out-lit: First :-<1>-
out-lit: Tail :-<2>-<3>-<5>-<6>-<7>-
out-lit: Prefix :-<1>-<2>-<3>-<5>-<6>-
out-lit: Last :-<7>-
out-lit: HeadEnd :-<1>-<7>-
out-lit: Prefix1 :
out-lit: +---<11>-<22>-+-
out-lit: Prefix2 :
out-lit: +---<101>-<1>-+
out-lit: +---<101>-<2>-+
out-lit: +---<101>-<3>-+-
out-lit: Prefix3 :
out-lit: +---<1>-+
out-lit: +---<2>-+
out-lit: +---<3>-+-
out-lit: Prefix4 :
out-lit: +---<111>-<1>-<2>-<3>-+
out-lit: +---<111>-<0>-+
out-lit: +---<111>-<5>-<6>-<7>-+-
out-lit: Prefix5 :
out-lit: +---<1>-<2>-<3>-<5>-+
out-lit: +---<1>-<2>-<3>-<6>-+
out-lit: +---<1>-<2>-<3>-<7>-+-
out-lit: Prefix6 :
out-lit: +---<1>-<2>-<3>-<1>-<2>-<3>-+
out-lit: +---<1>-<2>-<3>-<0>-+
out-lit: +---<1>-<2>-<3>-<5>-<6>-<7>-+-
out-lit: Dist1 :
out-lit: +---<11>-<1>-+
out-lit: +---<11>-<2>-+
out-lit: +---<11>-<3>-+-
out-lit: Dist2 :
out-lit: +---<11>-<0>-+
out-lit: +---<22>-<0>-+
out-lit: +---<33>-<0>-+-
out-lit: Dist3 :
out-lit: +---<11>-<1>-+
out-lit: +---<11>-<2>-+
out-lit: +---<11>-<3>-+
out-lit: +---<22>-<1>-+
out-lit: +---<22>-<2>-+
out-lit: +---<22>-<3>-+
out-lit: +---<33>-<1>-+
out-lit: +---<33>-<2>-+
out-lit: +---<33>-<3>-+-
out-lit: Dist4 :
out-lit: +---<11>-<1>-<2>-<3>-+
out-lit: +---<11>-<5>-<6>-<7>-+
out-lit: +---<22>-<1>-<2>-<3>-+
out-lit: +---<22>-<5>-<6>-<7>-+
out-lit: +---<33>-<1>-<2>-<3>-+
out-lit: +---<33>-<5>-<6>-<7>-+-
out-lit: Down :-<11>-<10>-<9>-<8>-<7>-<6>-<5>-<4>-<3>-<2>-<1>-<0>-
out-lit: Combi :
out-lit: +---<1>-<2>-<3>-<·>-+
out-lit: +---<1>-<2>-<2>-<·>-+
out-lit: +---<1>-<2>-<1>-<·>-+
out-lit: +---<1>-<2>-<0>-<·>-+
out-lit: +---<1>-<1>-<3>-<·>-+
out-lit: +---<1>-<1>-<2>-<·>-+
out-lit: +---<1>-<1>-<1>-<·>-+
out-lit: +---<1>-<1>-<0>-<·>-+
out-lit: +---<1>-<0>-<3>-<·>-+
out-lit: +---<1>-<0>-<2>-<·>-+
out-lit: +---<1>-<0>-<1>-<·>-+
out-lit: +---<1>-<0>-<0>-<·>-+
out-lit: +---<0>-<2>-<3>-<·>-+
out-lit: +---<0>-<2>-<2>-<·>-+
out-lit: +---<0>-<2>-<1>-<·>-+
out-lit: +---<0>-<2>-<0>-<·>-+
out-lit: +---<0>-<1>-<3>-<·>-+
out-lit: +---<0>-<1>-<2>-<·>-+
out-lit: +---<0>-<1>-<1>-<·>-+
out-lit: +---<0>-<1>-<0>-<·>-+
out-lit: +---<0>-<0>-<3>-<·>-+
out-lit: +---<0>-<0>-<2>-<·>-+
out-lit: +---<0>-<0>-<1>-<·>-+
out-lit: +---<0>-<0>-<0>-<·>-+-
out-lit: OnOff :
out-lit: +---<1>-<2>-<3>-<·>-+
out-lit: +---<1>-<2>-<·>-+
out-lit: +---<1>-<3>-<·>-+
out-lit: +---<1>-<·>-+
out-lit: +---<2>-<3>-<·>-+
out-lit: +---<2>-<·>-+
out-lit: +---<3>-<·>-+
out-lit: +---<·>-+-
return: 0
END
TEST "type sequence manipulation" TypeSeqManipl_test <<END
out: LL :-<1>-<2>-<3>-<7>-<8>-<9>-
out: Seq :-<1>-<2>-<3>-<7>-<8>-<9>-
out: SeqList :-<1>-<2>-<3>-<7>-<8>-<9>-
out: NulS :-
out: Prepend1 :-<5>-<1>-<2>-<3>-
out: Prepend2 :-<·>-<1>-<2>-<3>-
out: Prepend3 :-<5>-
out: Prepend4 :-
out: Seq_0 :-<7>-<8>-<9>-<1>-<2>-<3>-
out: Seq_1 :-<8>-<9>-<1>-<2>-<3>-
out: Seq_2 :-<9>-<1>-<2>-<3>-
out: Seq_3 :-<1>-<2>-<3>-
out: Seq_4 :-<2>-<3>-
out: Seq_5 :-<3>-
out: Seq_6 :-
out: Head_0 :-<7>-
out: Head_1 :-<8>-
out: Head_2 :-<9>-
out: Head_3 :-<1>-
out: Head_4 :-<2>-
out: Head_5 :-<3>-
out: Head_6 :-
out: Seq :-<1>-<2>-<3>-<7>-<8>-<9>-
out: List :-<1>-<2>-<3>-<7>-<8>-<9>-
out: First :-<1>-
out: Tail :-<2>-<3>-<7>-<8>-<9>-
out: Prefix :-<1>-<2>-<3>-<7>-<8>-
out: Last :-<9>-
out: HeadEnd :-<1>-<9>-
return: 0
END
TEST "TypeTuple_test" TypeTuple_test <<END
out-lit: L1 :-<1>-<3>-<5>-
out-lit: L2 :-<2>-<4>-
out-lit: L3 :-<7>-
out-lit: Tup1 :TYPES-<>-<1>-<3>-<5>-
out-lit: Tup1() :...Tuple((1),(3),(5))
out-lit: tup1x :...Tuple({11},(3),(5))
out-lit: Type1 :-<1>-<3>-<5>-
out-lit: T_L1 :TYPES-[]-<1>-<3>-<5>-
out-lit: T1 :TYPES-<>-<1>-<3>-<5>-
out-lit: tup1 :...Tuple({8},(3),(5))
out-lit: tup2 :...Tuple({9},(3),(5))
out-lit: Prepend :TYPES-[]-<i>-<1>-<3>-<5>-
out-lit: prepend :...Tuple(22,{9},(3),(5))
out-lit: :
out-lit: : ---Sub-Tuple-Types----
out-lit: T_L2 :TYPES-[]-<2>-<4>-<1>-<3>-<5>-
out-lit: Head :-<2>-
out-lit: Tail :-<4>-<1>-<3>-<5>-
out-lit: T2 :TYPES-<>-<2>-<4>-<1>-<3>-<5>-
out-lit: Head2 :-<2>-
out-lit: Tail2 :-<4>-<1>-<3>-<5>-
out-lit: T2::Type :-<2>-<4>-<1>-<3>-<5>-
out-lit: T2::TailType :-<4>-<1>-<3>-<5>-
out-lit: T2::TupleType :TYPES-<>-<2>-<4>-<1>-<3>-<5>-
out-lit: T2::ThisType :TYPES-<>-<2>-<4>-<1>-<3>-<5>-
out-lit: T2::Tail :TYPES-<>-<4>-<1>-<3>-<5>-
out-lit: T2::ArgList :-<2>-<4>-<1>-<3>-<5>-
out-lit: T_L2::Type :-<2>-<4>-<1>-<3>-<5>-
out-lit: T_L2::TailType :-<4>-<1>-<3>-<5>-
out-lit: T_L2::TupleType :TYPES-<>-<2>-<4>-<1>-<3>-<5>-
out-lit: T_L2::ThisType :TYPES-[]-<2>-<4>-<1>-<3>-<5>-
out-lit: T_L2::Tail :TYPES-[]-<4>-<1>-<3>-<5>-
out-lit: T_L2::ArgList :-<2>-<4>-<1>-<3>-<5>-
out-lit: NulT::Type :-
out-lit: NulT::TailType :-
out-lit: NulT::TupleType :TYPES-<>-
out-lit: NulT::ThisType :TYPES-<>-
out-lit: NulT::Tail :TYPES-<>-
out-lit: NulT::ArgList :-
out-lit: NulL::Type :-
out-lit: NulL::TailType :-
out-lit: NulL::TupleType :TYPES-<>-
out-lit: NulL::ThisType :TYPES-[]-
out-lit: NulL::Tail :TYPES-[]-
out-lit: NulL::ArgList :-
out-lit: :
out-lit: : ---Shifted-Tuple---
out-lit: Ty_0 :-<2>-<4>-<7>-
out-lit: Ty_1 :-<4>-<7>-
out-lit: Ty_2 :-<7>-
out-lit: Ty_3 :-
out-lit: Ty_4 :-
out-lit: T_0 :TYPES-[]-<2>-<4>-<7>-
out-lit: T_1 :TYPES-[]-<4>-<7>-
out-lit: T_2 :TYPES-[]-<7>-
out-lit: T_3 :TYPES-[]-
out-lit: T_4 :TYPES-[]-
out-lit: tu3 :...Tuple((2),(4),(7))
out-lit: tu3_0 :...Tuple((2),(4),(7))
out-lit: tu3_1 :...Tuple((4),(7))
out-lit: tu3_2 :...Tuple((7))
out-lit: tu3_3 :...Tuple()
out-lit: tu3_4 :...Tuple()
out-lit: :
out-lit: : ---creating-Tuples---
out-lit: tup1 :...Tuple((1),(3),(5))
out-lit: tup11 :...Tuple({11},(3),(5))
out-lit: tup12 :...Tuple((1),{33},(5))
out-lit: tup13 :...Tuple({11},{33},(5))
out-lit: Tup2 :TYPES-<>-<i>-<i>-<11>-
out-lit: tup2 :...Tuple(41,42,{43})
out-lit: Tup22 :TYPES-<>-<i>-<11>-
out-lit: tup22 :...Tuple(42,{43})
out-lit: Tup222 :TYPES-<>-<11>-
out-lit: tup222 :...Tuple({43})
out-lit: T0T :TYPES-<>-
out-lit: T0L :TYPES-[]-
out-lit: nullT :...Tuple()
out-lit: nullL :...Tuple()
out-lit: nulTcpy :...Tuple()
out-lit: nulTref :...Tuple()
out-lit: :
out-lit: : ---build-from-sub-Tuples---
out-lit: T1357L :TYPES-[]-<1>-<3>-<5>-<7>-
out-lit: T1357T :TYPES-<>-<1>-<3>-<5>-<7>-
out-lit: T135L :TYPES-[]-<1>-<3>-<5>-
out-lit: T57T :TYPES-<>-<5>-<7>-
out-lit: T35T :TYPES-<>-<3>-<5>-
out-lit: sub135 :...Tuple((1),(3),(5))
out-lit: b_135 :...Tuple((1),(3),(5),(7))
out-lit: b_135 :...Tuple((1),(3),(5),(7))
out-lit: b_135 :...Tuple((1),(3),(5),(7))
out-lit: b_135 :...Tuple((1),(3),(5),(7))
out-lit: sub57 :...Tuple((5),(7))
out-lit: b_57 :...Tuple((1),(3),(5),(7))
out-lit: sub35 :...Tuple({8},{8})
out-lit: b_35 :...Tuple((1),{8},{8},(7))
out-lit: b_35 :...Tuple((1),(3),(5),(7))
out-lit: b_35 :...Tuple((1),(3),(5),(7))
out-lit: sub78 :...Tuple({77},{88})
out-lit: b_78 :...Tuple((1),(3),(5),{77})
out-lit: b_nul :...Tuple((1),(3),(5),(7))
out-lit: b_nul :...Tuple((1),(3),(5),(7))
out-lit: b_nul2 :...Tuple()
out-lit: b_nul2 :...Tuple()
out-lit: :
out-lit: : ---copy-operations---
out-lit: tup1 :...Tuple({11},{33},(5))
out-lit: tup11 :...Tuple({11},{33},{44})
out-lit: tup1 :...Tuple({11},{33},{44})
out-lit: tupL :...Tuple({11},{33},{44})
out-lit: tup1L :...Tuple({11},{33},{44})
out-lit: :
out-lit: : ---value-access---
out-lit: TupX :TYPES-[]-<2>-<4>-<2>-<4>-
out-lit: tupX :...Tuple((2),(4),(2),(4))
out-lit: tu2 :...Tuple((2),(4))
out-lit: tu2 :...Tuple({5},{5})
out-lit: tupX :...Tuple((2),(4),{5},{5})
out-lit: T4 :TYPES-<>-<2>-<4>-
out-lit: t4 :...Tuple({5},{5})
out-lit: TupX::Type :-<2>-<4>-<2>-<4>-
out-lit: TupX::TailType :-<4>-<2>-<4>-
out-lit: TupX::ThisType :TYPES-[]-<2>-<4>-<2>-<4>-
out-lit: TupX::TupleType :TYPES-<>-<2>-<4>-<2>-<4>-
out-lit: TupT::Type :-<2>-<4>-<2>-<4>-
out-lit: TupT::TailType :-<4>-<2>-<4>-
out-lit: TupT::ThisType :TYPES-<>-<2>-<4>-<2>-<4>-
out-lit: TupT::TupleType :TYPES-<>-<2>-<4>-<2>-<4>-
out-lit: tupXcopy :...Tuple((2),(4),{5},{5})
out-lit: tupXcast :...Tuple((2),(4),{5},{5})
return: 0
END
TEST "Typelist combinations generator" GeneratorCombinations_test <<END
out-lit: Cartesian :
out-lit: +---<1>-<2>-+
out-lit: +---<1>-<4>-+
out-lit: +---<1>-<6>-+
out-lit: +---<3>-<2>-+
out-lit: +---<3>-<4>-+
out-lit: +---<3>-<6>-+
out-lit: +---<5>-<2>-+
out-lit: +---<5>-<4>-+
out-lit: +---<5>-<6>-+-
out-lit: All-Test-Combinations--<12>-<14>-<16>-<32>-<34>-<36>-<52>-<54>-<56>-|
return: 0
END
TEST "custom allocator(I)" SimpleAllocator_test <<END
return: 0
END
TEST "custom allocator(II)" TypedAllocationManager_test <<END
return: 0
END
TEST "Type-based contexts" TypedCounter_test <<END
return: 0
END
TEST "extensible symbolic identifier" SubID_test <<END
out: ....RGB
out: id1=R.12
out: id2=G.13
out: verify...
out: Elements in hashtable: 3
out: verify...
out: Elements in hashtable: 5
return: 0
END
TEST "integer rounding utility" UtilFloordiv_test <<END
return: 0
END
TEST "integer scale wrapping utility" UtilFloorwrap_test <<END
out-lit: --------i--------12/4
out-lit: 12 / 4 = 3 % = 0 floor= 3.0 wrap = ( 3, 0)
out-lit: 11 / 4 = 2 % = 3 floor= 2.0 wrap = ( 2, 3)
out-lit: 10 / 4 = 2 % = 2 floor= 2.0 wrap = ( 2, 2)
out-lit: 9 / 4 = 2 % = 1 floor= 2.0 wrap = ( 2, 1)
out-lit: 8 / 4 = 2 % = 0 floor= 2.0 wrap = ( 2, 0)
out-lit: 7 / 4 = 1 % = 3 floor= 1.0 wrap = ( 1, 3)
out-lit: 6 / 4 = 1 % = 2 floor= 1.0 wrap = ( 1, 2)
out-lit: 5 / 4 = 1 % = 1 floor= 1.0 wrap = ( 1, 1)
out-lit: 4 / 4 = 1 % = 0 floor= 1.0 wrap = ( 1, 0)
out-lit: 3 / 4 = 0 % = 3 floor= 0.0 wrap = ( 0, 3)
out-lit: 2 / 4 = 0 % = 2 floor= 0.0 wrap = ( 0, 2)
out-lit: 1 / 4 = 0 % = 1 floor= 0.0 wrap = ( 0, 1)
out-lit: 0 / 4 = 0 % = 0 floor= 0.0 wrap = ( 0, 0)
out-lit: -1 / 4 = 0 % =-1 floor=-1.0 wrap = (-1, 3)
out-lit: -2 / 4 = 0 % =-2 floor=-1.0 wrap = (-1, 2)
out-lit: -3 / 4 = 0 % =-3 floor=-1.0 wrap = (-1, 1)
out-lit: -4 / 4 =-1 % = 0 floor=-1.0 wrap = (-1, 0)
out-lit: -5 / 4 =-1 % =-1 floor=-2.0 wrap = (-2, 3)
out-lit: -6 / 4 =-1 % =-2 floor=-2.0 wrap = (-2, 2)
out-lit: -7 / 4 =-1 % =-3 floor=-2.0 wrap = (-2, 1)
out-lit: -8 / 4 =-2 % = 0 floor=-2.0 wrap = (-2, 0)
out-lit: -9 / 4 =-2 % =-1 floor=-3.0 wrap = (-3, 3)
out-lit: -10 / 4 =-2 % =-2 floor=-3.0 wrap = (-3, 2)
out-lit: -11 / 4 =-2 % =-3 floor=-3.0 wrap = (-3, 1)
out-lit: -12 / 4 =-3 % = 0 floor=-3.0 wrap = (-3, 0)
out-lit: --------i--------12/-4
out-lit: 12 /-4 =-3 % = 0 floor=-3.0 wrap = (-3, 0)
out-lit: 11 /-4 =-2 % = 3 floor=-3.0 wrap = (-3,-1)
out-lit: 10 /-4 =-2 % = 2 floor=-3.0 wrap = (-3,-2)
out-lit: 9 /-4 =-2 % = 1 floor=-3.0 wrap = (-3,-3)
out-lit: 8 /-4 =-2 % = 0 floor=-2.0 wrap = (-2, 0)
out-lit: 7 /-4 =-1 % = 3 floor=-2.0 wrap = (-2,-1)
out-lit: 6 /-4 =-1 % = 2 floor=-2.0 wrap = (-2,-2)
out-lit: 5 /-4 =-1 % = 1 floor=-2.0 wrap = (-2,-3)
out-lit: 4 /-4 =-1 % = 0 floor=-1.0 wrap = (-1, 0)
out-lit: 3 /-4 = 0 % = 3 floor=-1.0 wrap = (-1,-1)
out-lit: 2 /-4 = 0 % = 2 floor=-1.0 wrap = (-1,-2)
out-lit: 1 /-4 = 0 % = 1 floor=-1.0 wrap = (-1,-3)
out-lit: 0 /-4 = 0 % = 0 floor=-0.0 wrap = ( 0, 0)
out-lit: -1 /-4 = 0 % =-1 floor= 0.0 wrap = ( 0,-1)
out-lit: -2 /-4 = 0 % =-2 floor= 0.0 wrap = ( 0,-2)
out-lit: -3 /-4 = 0 % =-3 floor= 0.0 wrap = ( 0,-3)
out-lit: -4 /-4 = 1 % = 0 floor= 1.0 wrap = ( 1, 0)
out-lit: -5 /-4 = 1 % =-1 floor= 1.0 wrap = ( 1,-1)
out-lit: -6 /-4 = 1 % =-2 floor= 1.0 wrap = ( 1,-2)
out-lit: -7 /-4 = 1 % =-3 floor= 1.0 wrap = ( 1,-3)
out-lit: -8 /-4 = 2 % = 0 floor= 2.0 wrap = ( 2, 0)
out-lit: -9 /-4 = 2 % =-1 floor= 2.0 wrap = ( 2,-1)
out-lit: -10 /-4 = 2 % =-2 floor= 2.0 wrap = ( 2,-2)
out-lit: -11 /-4 = 2 % =-3 floor= 2.0 wrap = ( 2,-3)
out-lit: -12 /-4 = 3 % = 0 floor= 3.0 wrap = ( 3, 0)
out-lit: --------l--------12/4
out-lit: 12 / 4 = 3 % = 0 floor= 3.0 wrap = ( 3, 0)
out-lit: 11 / 4 = 2 % = 3 floor= 2.0 wrap = ( 2, 3)
out-lit: 10 / 4 = 2 % = 2 floor= 2.0 wrap = ( 2, 2)
out-lit: 9 / 4 = 2 % = 1 floor= 2.0 wrap = ( 2, 1)
out-lit: 8 / 4 = 2 % = 0 floor= 2.0 wrap = ( 2, 0)
out-lit: 7 / 4 = 1 % = 3 floor= 1.0 wrap = ( 1, 3)
out-lit: 6 / 4 = 1 % = 2 floor= 1.0 wrap = ( 1, 2)
out-lit: 5 / 4 = 1 % = 1 floor= 1.0 wrap = ( 1, 1)
out-lit: 4 / 4 = 1 % = 0 floor= 1.0 wrap = ( 1, 0)
out-lit: 3 / 4 = 0 % = 3 floor= 0.0 wrap = ( 0, 3)
out-lit: 2 / 4 = 0 % = 2 floor= 0.0 wrap = ( 0, 2)
out-lit: 1 / 4 = 0 % = 1 floor= 0.0 wrap = ( 0, 1)
out-lit: 0 / 4 = 0 % = 0 floor= 0.0 wrap = ( 0, 0)
out-lit: -1 / 4 = 0 % =-1 floor=-1.0 wrap = (-1, 3)
out-lit: -2 / 4 = 0 % =-2 floor=-1.0 wrap = (-1, 2)
out-lit: -3 / 4 = 0 % =-3 floor=-1.0 wrap = (-1, 1)
out-lit: -4 / 4 =-1 % = 0 floor=-1.0 wrap = (-1, 0)
out-lit: -5 / 4 =-1 % =-1 floor=-2.0 wrap = (-2, 3)
out-lit: -6 / 4 =-1 % =-2 floor=-2.0 wrap = (-2, 2)
out-lit: -7 / 4 =-1 % =-3 floor=-2.0 wrap = (-2, 1)
out-lit: -8 / 4 =-2 % = 0 floor=-2.0 wrap = (-2, 0)
out-lit: -9 / 4 =-2 % =-1 floor=-3.0 wrap = (-3, 3)
out-lit: -10 / 4 =-2 % =-2 floor=-3.0 wrap = (-3, 2)
out-lit: -11 / 4 =-2 % =-3 floor=-3.0 wrap = (-3, 1)
out-lit: -12 / 4 =-3 % = 0 floor=-3.0 wrap = (-3, 0)
out-lit: --------l--------12/-4
out-lit: 12 /-4 =-3 % = 0 floor=-3.0 wrap = (-3, 0)
out-lit: 11 /-4 =-2 % = 3 floor=-3.0 wrap = (-3,-1)
out-lit: 10 /-4 =-2 % = 2 floor=-3.0 wrap = (-3,-2)
out-lit: 9 /-4 =-2 % = 1 floor=-3.0 wrap = (-3,-3)
out-lit: 8 /-4 =-2 % = 0 floor=-2.0 wrap = (-2, 0)
out-lit: 7 /-4 =-1 % = 3 floor=-2.0 wrap = (-2,-1)
out-lit: 6 /-4 =-1 % = 2 floor=-2.0 wrap = (-2,-2)
out-lit: 5 /-4 =-1 % = 1 floor=-2.0 wrap = (-2,-3)
out-lit: 4 /-4 =-1 % = 0 floor=-1.0 wrap = (-1, 0)
out-lit: 3 /-4 = 0 % = 3 floor=-1.0 wrap = (-1,-1)
out-lit: 2 /-4 = 0 % = 2 floor=-1.0 wrap = (-1,-2)
out-lit: 1 /-4 = 0 % = 1 floor=-1.0 wrap = (-1,-3)
out-lit: 0 /-4 = 0 % = 0 floor=-0.0 wrap = ( 0, 0)
out-lit: -1 /-4 = 0 % =-1 floor= 0.0 wrap = ( 0,-1)
out-lit: -2 /-4 = 0 % =-2 floor= 0.0 wrap = ( 0,-2)
out-lit: -3 /-4 = 0 % =-3 floor= 0.0 wrap = ( 0,-3)
out-lit: -4 /-4 = 1 % = 0 floor= 1.0 wrap = ( 1, 0)
out-lit: -5 /-4 = 1 % =-1 floor= 1.0 wrap = ( 1,-1)
out-lit: -6 /-4 = 1 % =-2 floor= 1.0 wrap = ( 1,-2)
out-lit: -7 /-4 = 1 % =-3 floor= 1.0 wrap = ( 1,-3)
out-lit: -8 /-4 = 2 % = 0 floor= 2.0 wrap = ( 2, 0)
out-lit: -9 /-4 = 2 % =-1 floor= 2.0 wrap = ( 2,-1)
out-lit: -10 /-4 = 2 % =-2 floor= 2.0 wrap = ( 2,-2)
out-lit: -11 /-4 = 2 % =-3 floor= 2.0 wrap = ( 2,-3)
out-lit: -12 /-4 = 3 % = 0 floor= 3.0 wrap = ( 3, 0)
return: 0
END
TEST "for-each operations" UtilForeach_test 10 <<END
out: ---:check_foreach_plain
out: :10:9:8:7:6:5:4:3:2:1
out: :10$
out: ---:check_foreach_plain
out: :10:9:8:7:6:5:4:3:2:1
out: :10$
out: ---:check_foreach_bind
out: :20:19:18:17:16:15:14:13:12:11
out: :20$
out: :20:18:16:14:12:10:8:6:4:2
out: :20$
out: ---:check_foreach_bind
out: :20:19:18:17:16:15:14:13:12:11
out: :20$
out: :20:18:16:14:12:10:8:6:4:2
out: :20$
out: ---:check_foreach_bind_const
out: :20:19:18:17:16:15:14:13:12:11
out: :20$
out: :20:18:16:14:12:10:8:6:4:2
out: :20$
out: :20:38:54:68:80:90:98:104:108:110
out: :130:148:164:178:190:200:208:214:218:220
out: :240
out: ---:check_foreach_memFun
out: :10:19:27:34:40:45:49:52:54:55
out: :10$
out: :10:19:27:34:40:45:49:52:54:55
out: :65:74:82:89:95:100:104:107:109:110
out: :120
out: sum=120
out: ---:check_foreach_memFun
out: :10:19:27:34:40:45:49:52:54:55
out: :10$
out: :10:19:27:34:40:45:49:52:54:55
out: :65:74:82:89:95:100:104:107:109:110
out: :120
out: sum=120
out: ---:check_foreach_lambda
out: ---:check_existence_quant
out: ---:assign_to_input
out: :20:19:18:17:16:15:14:13:12:11
out: :30:29:28:27:26:25:24:23:22:21
out: :40:39:38:37:36:35:34:33:32:31
out: :50:49:48:47:46:45:44:43:42:41
out: :60
out: :70
out: :80:59:58:57:56:55:54:53:52:51
out: :90:69:68:67:66:65:64:63:62:61
out: :100$
out: ---:assign_to_var
out: :90:149:207:264:320:375:429:482:534:585
out: :675:734:792:849:905:960:1014:1067:1119:1170
out: :1260:1319:1377:1434:1490:1545:1599:1652:1704:1755
out: sum=1755
out: :90:149:207:264:320:375:429:482:534:585
out: :675:734:792:849:905:960:1014:1067:1119:1170
out: :1260:1319:1377:1434:1490:1545:1599:1652:1704:1755
out: sum=1755
out: :90
out: :180
out: :270
out: sum=270
out: ---:assign_to_input
out: :20:19:18:17:16:15:14:13:12:11
out: :30:29:28:27:26:25:24:23:22:21
out: :40:39:38:37:36:35:34:33:32:31
out: :50:49:48:47:46:45:44:43:42:41
out: :60
out: :70
out: :80:59:58:57:56:55:54:53:52:51
out: :90:69:68:67:66:65:64:63:62:61
out: :100$
out: ---:assign_to_var
out: :90:149:207:264:320:375:429:482:534:585
out: :675:734:792:849:905:960:1014:1067:1119:1170
out: :1260:1319:1377:1434:1490:1545:1599:1652:1704:1755
out: sum=1755
out: :90:149:207:264:320:375:429:482:534:585
out: :675:734:792:849:905:960:1014:1067:1119:1170
out: :1260:1319:1377:1434:1490:1545:1599:1652:1704:1755
out: sum=1755
out: :90
out: :180
out: :270
out: sum=270
out: ---:wrapped_container_passing
out: :10:9:8:7:6:5:4:3:2:1
out: :-20:-21:-22:-23:-24:-25:-26:-27:-28:-29
out: ---:check_invoke_on_each
out: :0:1:2:3:4:5
out: :0$
out: :0:1$
out: :0:1:2:3:4:5
out: :0$
out: :0:1$
END
TEST "collection utils" UtilCollection_test <<END
return: 0
END
TEST "VectorTransfer_test" VectorTransfer_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