1464 lines
43 KiB
Text
1464 lines
43 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: wrapping cmdline:\.\.\.
|
|
out: -->
|
|
out: wrapping cmdline:
|
|
out: \.\.\.
|
|
out: -->
|
|
out: wrapping cmdline:spam...
|
|
out: 0\|spam\|
|
|
out: -->spam
|
|
out: wrapping cmdline:
|
|
out: spam...
|
|
out: 0\|spam\|
|
|
out: -->spam
|
|
out: wrapping cmdline:eat more spam...
|
|
out: 0\|eat\|
|
|
out: 1\|more\|
|
|
out: 2\|spam\|
|
|
out: -->eat more spam
|
|
out: wrapping cmdline: oo _O\(\)O_ ä \+ €...
|
|
out: 0\|oo\|
|
|
out: 1\|_O\(\)O_\|
|
|
out: 2\|ä\|
|
|
out: 3\|\+\|
|
|
out: 4\|€\|
|
|
out: -->oo _O\(\)O_ ä \+ €
|
|
out: wrapping cmdline:Ω ooΩ oΩo Ωoo...
|
|
out: 0\|Ω\|
|
|
out: 1\|ooΩ\|
|
|
out: 2\|oΩo\|
|
|
out: 3\|Ωoo\|
|
|
out: -->Ω ooΩ oΩo Ωoo
|
|
out: Standard Cmdlineformat:one two
|
|
END
|
|
|
|
|
|
TEST "ConfigFlags_test" ConfigFlags_test <<END
|
|
out: Conf0 :-
|
|
out: Conf1 :-<1>-
|
|
out: Conf2 :-<2>-
|
|
out: Conf3 :-<3>-
|
|
out: Conf4 :-<2>-<4>-
|
|
out: AllFlags :-<1>-<2>-<3>-<4>-
|
|
out: __________________________$
|
|
out: __________________________ check_flags\(\)
|
|
out: Flags1 :-<2>-<4>-
|
|
out: Flags2 :-<2>-<4>-
|
|
out: SimpleConfig_defined_by_Typelist :-<1>-
|
|
out: AnotherConfig_defined_by_Typelist :-<1>-<2>-<3>-<4>-
|
|
out: __________________________$
|
|
out: __________________________ check_instantiation\(\)
|
|
out: defined Conf0\? ---> 0
|
|
out: defined Conf1\? ---> 1
|
|
out: defined Conf2\? ---> 1
|
|
out: defined Conf3\? ---> 1
|
|
out: defined Conf4\? ---> 1
|
|
out: defined Trash\? ---> 0
|
|
out: __________________________$
|
|
out: __________________________ check_filter\(\)
|
|
out: SomeFlagsets :
|
|
out: \+---<1>-<3>-\+
|
|
out: \+---<2>-<4>-\+-
|
|
out: Configs_defined_by_Flagsets :
|
|
out: \+-Conf-\[-<1>-<3>-\]
|
|
out: \+-Conf-\[-<2>-<4>-\]-
|
|
out: Filter_possible_Configs :
|
|
out: \+-Conf-\[-<2>-<4>-\]-
|
|
out: AllFlagCombinations :
|
|
out: \+---<1>-<2>-<3>-<4>-<·>-\+
|
|
out: \+---<1>-<2>-<3>-<·>-\+
|
|
out: \+---<1>-<2>-<4>-<·>-\+
|
|
out: \+---<1>-<2>-<·>-\+
|
|
out: \+---<1>-<3>-<4>-<·>-\+
|
|
out: \+---<1>-<3>-<·>-\+
|
|
out: \+---<1>-<4>-<·>-\+
|
|
out: \+---<1>-<·>-\+
|
|
out: \+---<2>-<3>-<4>-<·>-\+
|
|
out: \+---<2>-<3>-<·>-\+
|
|
out: \+---<2>-<4>-<·>-\+
|
|
out: \+---<2>-<·>-\+
|
|
out: \+---<3>-<4>-<·>-\+
|
|
out: \+---<3>-<·>-\+
|
|
out: \+---<4>-<·>-\+
|
|
out: \+---<·>-\+-
|
|
out: ListAllConfigs :
|
|
out: \+-Conf-\[-<1>-<2>-<3>-<4>-\]
|
|
out: \+-Conf-\[-<1>-<2>-<3>-\]
|
|
out: \+-Conf-\[-<1>-<2>-<4>-\]
|
|
out: \+-Conf-\[-<1>-<2>-\]
|
|
out: \+-Conf-\[-<1>-<3>-<4>-\]
|
|
out: \+-Conf-\[-<1>-<3>-\]
|
|
out: \+-Conf-\[-<1>-<4>-\]
|
|
out: \+-Conf-\[-<1>-\]
|
|
out: \+-Conf-\[-<2>-<3>-<4>-\]
|
|
out: \+-Conf-\[-<2>-<3>-\]
|
|
out: \+-Conf-\[-<2>-<4>-\]
|
|
out: \+-Conf-\[-<2>-\]
|
|
out: \+-Conf-\[-<3>-<4>-\]
|
|
out: \+-Conf-\[-<3>-\]
|
|
out: \+-Conf-\[-<4>-\]
|
|
out: \+-Conf-\[-\]-
|
|
out: Filter_all_possible_Configs :
|
|
out: \+-Conf-\[-<1>-\]
|
|
out: \+-Conf-\[-<2>-<3>-\]
|
|
out: \+-Conf-\[-<2>-<4>-\]
|
|
out: \+-Conf-\[-<2>-\]
|
|
out: \+-Conf-\[-<3>-\]-
|
|
out: __________________________$
|
|
out: __________________________ check_FlagInfo\(\)
|
|
out: Flags1 :-<1>-<3>-
|
|
out: max bit : 3
|
|
out: binary code: 10
|
|
out: SomeConfigs :
|
|
out: \+-Conf-\[-<1>-<3>-\]
|
|
out: \+-Conf-\[-<2>-<4>-\]-
|
|
out: max bit in \[SomeConfigs\] : 4
|
|
out: TestVisitor application:
|
|
out: visit\(code=10\) -->
|
|
out: \+-Conf-\[-<1>-<3>-\]-
|
|
out: visit\(code=20\) -->
|
|
out: \+-Conf-\[-<2>-<4>-\]-
|
|
out: __________________________$
|
|
out: __________________________ check_ConfigSelector\(\)
|
|
out: Possible_Configs :
|
|
out: \+-Conf-\[-<1>-\]
|
|
out: \+-Conf-\[-<2>-<3>-\]
|
|
out: \+-Conf-\[-<2>-<4>-\]
|
|
out: \+-Conf-\[-<2>-\]
|
|
out: \+-Conf-\[-<3>-\]-
|
|
out: Flag-code = 2 ConfigSelector\(\) ---> 1010
|
|
out: Flag-code = 12 ConfigSelector\(\) ---> 1023
|
|
out: Flag-code = 20 ConfigSelector\(\) ---> 1024
|
|
out: Flag-code = 4 ConfigSelector\(\) ---> 1020
|
|
out: Flag-code = 8 ConfigSelector\(\) ---> 1030
|
|
out: 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 "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: List1 :-<1>-<2>-<3>-
|
|
out: List2 :-<5>-<6>-<7>-
|
|
out: Args :-<5>-<9>-
|
|
out: NewArgs :-<1>-<5>-<9>-
|
|
out: :$
|
|
out: : ---Apply---
|
|
out: tup0 :...Tuple\(\)
|
|
out: tup1 :...Tuple\(11\)
|
|
out: tup2 :...Tuple\(11,12\)
|
|
out: tup3 :...Tuple\(11,12,13\)
|
|
out: :$
|
|
out: : ---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 "Hierarchy rebuilding" HierarchyOrientationIndicator_test <<END
|
|
return: 0
|
|
END
|
|
|
|
|
|
TEST "LifeCycle_test" LifeCycle_test <<END
|
|
return: 0
|
|
END
|
|
|
|
|
|
TEST "configurable Factory" MultiFact_test <<END
|
|
out: Impl-1
|
|
out: Impl-2
|
|
out: Impl-3
|
|
out: Impl-4
|
|
out: sizeof\( .+MultiFact.+Interface.+theID.+PassReference.+ \) =
|
|
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: DD<5>: \*\*\*\*\*
|
|
out: DD<9>: I'm fine\*
|
|
out: 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::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---.+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::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::9::8::7::6::5::4::3::2::1::10::9::1::2::3::4::5::6::7::8::8::5::6::4::3::2::1::7::6::5::4::3::2::1::7::5::4::3::2::1::6::4::3::2::1::5::3::1::2::4::3::1::2::2::1::1
|
|
out: iter::eachDistinctKey::0::1::2::3::4::5::6::7::8::9
|
|
out: -----iterateValues4Key---.+multimap
|
|
out: iter::eachValForKey::10::9::8::7::6::5::4::3::2::1
|
|
out: -----iterateValues4Key---.+unordered_multimap
|
|
out: iter::eachValForKey::9::8::7::6::5::4::3::2::1::10
|
|
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::1::2::3::4::5::6::7::8::9::10::11::12
|
|
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: removed nothing ---> \[ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, \]
|
|
out: removed 0 ---> \[ 1, 2, 3, 4, 5, 6, 7, 8, 9, \]
|
|
out: removed 9 ---> \[ 0, 1, 2, 3, 4, 5, 6, 7, 8, \]
|
|
out: removed 5 ---> \[ 0, 1, 2, 3, 4, 6, 7, 8, 9, \]
|
|
out: removed 0 2 4 6 8 ---> \[ 1, 3, 5, 7, 9, \]
|
|
out: removed 1 3 5 7 9 ---> \[ 0, 2, 4, 6, 8, \]
|
|
out: removed 0 1 2 3 4 5 6 7 8 9 ---> \[ \]
|
|
out: removed 0 1 2 3 4 5 6 7 8 ---> \[ 9, \]
|
|
out: removed 1 2 3 4 5 6 7 8 9 ---> \[ 0, \]
|
|
out: removed 0 1 2 3 4 6 7 8 9 ---> \[ 5, \]
|
|
END
|
|
|
|
|
|
TEST "SanitizedIdentifier_test" SanitizedIdentifier_test <<END
|
|
out: 'Word' --> 'Word'
|
|
out: 'a Sentence' --> 'a_Sentence'
|
|
out: 'trailing Withespace
|
|
out: ' --> 'trailing_Withespace'
|
|
out: 'with a lot
|
|
out: of Whitespace' --> 'with_a_lot_of_Whitespace'
|
|
out: 'with"much \(punctuation\)\[\]!' --> 'withmuch_\(punctuation\)'
|
|
out: '§&Ω%€ leading garbage' --> 'leading_garbage'
|
|
out: 'mixed Ω garbage' --> 'mixed_garbage'
|
|
out: 'Bääääh!!' --> 'Bh'
|
|
out: '§&Ω%€' --> ''
|
|
END
|
|
|
|
|
|
TEST "SingletonSubclass_test" SingletonSubclass_test 13 <<END
|
|
out: using the Singleton should create TargetObj\(13\)...
|
|
out: ctor TargetObj\(13\) successful
|
|
out: calling a non-static method on the Singleton-Implementation
|
|
out: .....TargetObj\(13\): data="\*\*\*\*\*\*\*\*\*\*\*\*\*", array\[13\]=\{0,1,2,3,4,5,6,7,8,9,10,11,12,\}
|
|
out: dtor ~TargetObj\(13\) successful
|
|
END
|
|
|
|
|
|
TEST "SingletonTestMock_test" SingletonTestMock_test <<END
|
|
out: TestSingletonO::doIt\(\) call=1
|
|
out: TestSingletonO::doIt\(\) call=2
|
|
out: Mock_1::doIt\(\) call=1
|
|
out: Mock_1::doIt\(\) call=2
|
|
out: Mock_1::doIt\(\) call=3
|
|
out: Mock_1::doIt\(\) call=4
|
|
out: Mock_1::doIt\(\) call=5
|
|
out: Mock_2::doIt\(\) call=1
|
|
out: TestSingletonO::doIt\(\) call=3
|
|
END
|
|
|
|
|
|
TEST "ScopedHolder_test" ScopedHolder_test <<END
|
|
out: checking ScopedHolder<Dummy>...
|
|
out: checking ScopedPtrHolder<Dummy>...
|
|
END
|
|
|
|
|
|
TEST "ScopedHolderTransfer_test" ScopedHolderTransfer_test <<END
|
|
out: checking ScopedHolder<Dummy>...
|
|
out: \.$
|
|
out: \.\.install one element at index\[0\]
|
|
out: ^\.$
|
|
out: \.\.\*\*\* resize table to 16 elements
|
|
out: ^\.$
|
|
out: ^\.throw some exceptions...
|
|
out: checking ScopedPtrHolder<Dummy>...
|
|
out: ^\.$
|
|
out: ..install one element at index\[0\]
|
|
out: ^\.$
|
|
out: ..\*\*\* resize table to 16 elements
|
|
out: ^\.$
|
|
out: ^\.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: testing TargetObj\(23\) as Singleton\(statically allocated\)
|
|
out: ctor TargetObj\(23\) successful
|
|
out: calling a non-static method on the Singleton instance
|
|
out: .....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: testing TargetObj\(24\) as Singleton\(heap allocated\)
|
|
out: ctor TargetObj\(24\) successful
|
|
out: calling a non-static method on the Singleton instance
|
|
out: .....TargetObj\(24\): data="\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*", array\[24\]=\{0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,\}
|
|
out: dtor ~TargetObj\(23\) successful
|
|
out: dtor ~TargetObj\(24\) successful
|
|
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 "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: L1 :-<1>-<3>-<5>-
|
|
out: L2 :-<2>-<4>-
|
|
out: L3 :-<7>-
|
|
out: Tup1 :TYPES-<>-<1>-<3>-<5>-
|
|
out: Tup1\(\) :...Tuple\(\(1\),\(3\),\(5\)\)
|
|
out: tup1x :...Tuple\(\{11\},\(3\),\(5\)\)
|
|
out: Type1 :-<1>-<3>-<5>-
|
|
out: T_L1 :TYPES-\[\]-<1>-<3>-<5>-
|
|
out: T1 :TYPES-<>-<1>-<3>-<5>-
|
|
out: tup1 :...Tuple\(\{8\},\(3\),\(5\)\)
|
|
out: tup2 :...Tuple\(\{9\},\(3\),\(5\)\)
|
|
out: Prepend :TYPES-\[\]-<i>-<1>-<3>-<5>-
|
|
out: prepend :...Tuple\(22,\{9\},\(3\),\(5\)\)
|
|
out: :$
|
|
out: : ---Sub-Tuple-Types----
|
|
out: T_L2 :TYPES-\[\]-<2>-<4>-<1>-<3>-<5>-
|
|
out: Head :-<2>-
|
|
out: Tail :-<4>-<1>-<3>-<5>-
|
|
out: T2 :TYPES-<>-<2>-<4>-<1>-<3>-<5>-
|
|
out: Head2 :-<2>-
|
|
out: Tail2 :-<4>-<1>-<3>-<5>-
|
|
out: T2::Type :-<2>-<4>-<1>-<3>-<5>-
|
|
out: T2::TailType :-<4>-<1>-<3>-<5>-
|
|
out: T2::TupleType :TYPES-<>-<2>-<4>-<1>-<3>-<5>-
|
|
out: T2::ThisType :TYPES-<>-<2>-<4>-<1>-<3>-<5>-
|
|
out: T2::Tail :TYPES-<>-<4>-<1>-<3>-<5>-
|
|
out: T2::ArgList :-<2>-<4>-<1>-<3>-<5>-
|
|
out: T_L2::Type :-<2>-<4>-<1>-<3>-<5>-
|
|
out: T_L2::TailType :-<4>-<1>-<3>-<5>-
|
|
out: T_L2::TupleType :TYPES-<>-<2>-<4>-<1>-<3>-<5>-
|
|
out: T_L2::ThisType :TYPES-\[\]-<2>-<4>-<1>-<3>-<5>-
|
|
out: T_L2::Tail :TYPES-\[\]-<4>-<1>-<3>-<5>-
|
|
out: T_L2::ArgList :-<2>-<4>-<1>-<3>-<5>-
|
|
out: NulT::Type :-
|
|
out: NulT::TailType :-
|
|
out: NulT::TupleType :TYPES-<>-
|
|
out: NulT::ThisType :TYPES-<>-
|
|
out: NulT::Tail :TYPES-<>-
|
|
out: NulT::ArgList :-
|
|
out: NulL::Type :-
|
|
out: NulL::TailType :-
|
|
out: NulL::TupleType :TYPES-<>-
|
|
out: NulL::ThisType :TYPES-\[\]-
|
|
out: NulL::Tail :TYPES-\[\]-
|
|
out: NulL::ArgList :-
|
|
out: :$
|
|
out: : ---Shifted-Tuple---
|
|
out: Ty_0 :-<2>-<4>-<7>-
|
|
out: Ty_1 :-<4>-<7>-
|
|
out: Ty_2 :-<7>-
|
|
out: Ty_3 :-
|
|
out: Ty_4 :-
|
|
out: T_0 :TYPES-\[\]-<2>-<4>-<7>-
|
|
out: T_1 :TYPES-\[\]-<4>-<7>-
|
|
out: T_2 :TYPES-\[\]-<7>-
|
|
out: T_3 :TYPES-\[\]-
|
|
out: T_4 :TYPES-\[\]-
|
|
out: tu3 :...Tuple\(\(2\),\(4\),\(7\)\)
|
|
out: tu3_0 :...Tuple\(\(2\),\(4\),\(7\)\)
|
|
out: tu3_1 :...Tuple\(\(4\),\(7\)\)
|
|
out: tu3_2 :...Tuple\(\(7\)\)
|
|
out: tu3_3 :...Tuple\(\)
|
|
out: tu3_4 :...Tuple\(\)
|
|
out: :$
|
|
out: : ---creating-Tuples---
|
|
out: tup1 :...Tuple\(\(1\),\(3\),\(5\)\)
|
|
out: tup11 :...Tuple\(\{11\},\(3\),\(5\)\)
|
|
out: tup12 :...Tuple\(\(1\),\{33\},\(5\)\)
|
|
out: tup13 :...Tuple\(\{11\},\{33\},\(5\)\)
|
|
out: Tup2 :TYPES-<>-<i>-<i>-<11>-
|
|
out: tup2 :...Tuple\(41,42,\{43\}\)
|
|
out: Tup22 :TYPES-<>-<i>-<11>-
|
|
out: tup22 :...Tuple\(42,\{43\}\)
|
|
out: Tup222 :TYPES-<>-<11>-
|
|
out: tup222 :...Tuple\(\{43\}\)
|
|
out: T0T :TYPES-<>-
|
|
out: T0L :TYPES-\[\]-
|
|
out: nullT :...Tuple\(\)
|
|
out: nullL :...Tuple\(\)
|
|
out: nulTcpy :...Tuple\(\)
|
|
out: nulTref :...Tuple\(\)
|
|
out: :$
|
|
out: : ---build-from-sub-Tuples---
|
|
out: T1357L :TYPES-\[\]-<1>-<3>-<5>-<7>-
|
|
out: T1357T :TYPES-<>-<1>-<3>-<5>-<7>-
|
|
out: T135L :TYPES-\[\]-<1>-<3>-<5>-
|
|
out: T57T :TYPES-<>-<5>-<7>-
|
|
out: T35T :TYPES-<>-<3>-<5>-
|
|
out: sub135 :...Tuple\(\(1\),\(3\),\(5\)\)
|
|
out: b_135 :...Tuple\(\(1\),\(3\),\(5\),\(7\)\)
|
|
out: sub57 :...Tuple\(\(5\),\(7\)\)
|
|
out: b_57 :...Tuple\(\(1\),\(3\),\(5\),\(7\)\)
|
|
out: sub35 :...Tuple\(\{8\},\{8\}\)
|
|
out: b_35 :...Tuple\(\(1\),\{8\},\{8\},\(7\)\)
|
|
out: b_35 :...Tuple\(\(1\),\(3\),\(5\),\(7\)\)
|
|
out: sub78 :...Tuple\(\{77\},\{88\}\)
|
|
out: b_78 :...Tuple\(\(1\),\(3\),\(5\),\{77\}\)
|
|
out: b_nul :...Tuple\(\(1\),\(3\),\(5\),\(7\)\)
|
|
out: b_nul2 :...Tuple\(\)
|
|
out: :$
|
|
out: : ---copy-operations---
|
|
out: tup1 :...Tuple\(\{11\},\{33\},\(5\)\)
|
|
out: tup11 :...Tuple\(\{11\},\{33\},\{44\}\)
|
|
out: tup1 :...Tuple\(\{11\},\{33\},\{44\}\)
|
|
out: tupL :...Tuple\(\{11\},\{33\},\{44\}\)
|
|
out: tup1L :...Tuple\(\{11\},\{33\},\{44\}\)
|
|
out: :$
|
|
out: : ---value-access---
|
|
out: TupX :TYPES-\[\]-<2>-<4>-<2>-<4>-
|
|
out: tupX :...Tuple\(\(2\),\(4\),\(2\),\(4\)\)
|
|
out: tu2 :...Tuple\(\(2\),\(4\)\)
|
|
out: tu2 :...Tuple\(\{5\},\{5\}\)
|
|
out: tupX :...Tuple\(\(2\),\(4\),\{5\},\{5\}\)
|
|
out: T4 :TYPES-<>-<2>-<4>-
|
|
out: t4 :...Tuple\(\{5\},\{5\}\)
|
|
out: TupX::Type :-<2>-<4>-<2>-<4>-
|
|
out: TupX::TailType :-<4>-<2>-<4>-
|
|
out: TupX::ThisType :TYPES-\[\]-<2>-<4>-<2>-<4>-
|
|
out: TupX::TupleType :TYPES-<>-<2>-<4>-<2>-<4>-
|
|
out: TupT::Type :-<2>-<4>-<2>-<4>-
|
|
out: TupT::TailType :-<4>-<2>-<4>-
|
|
out: TupT::ThisType :TYPES-<>-<2>-<4>-<2>-<4>-
|
|
out: TupT::TupleType :TYPES-<>-<2>-<4>-<2>-<4>-
|
|
out: tupXcopy :...Tuple\(\(2\),\(4\),\{5\},\{5\}\)
|
|
out: 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: :80$
|
|
out: ---:assign_to_var
|
|
out: :60:99:137:174:210:245:279:312:344:375
|
|
out: :435:474:512:549:585:620:654:687:719:750
|
|
out: :810:789:788:787:786:785:784:783:782:781
|
|
out: sum=750
|
|
out: :60:99:137:174:210:245:279:312:344:375
|
|
out: :435:474:512:549:585:620:654:687:719:750
|
|
out: :810:789:788:787:786:785:784:783:782:781
|
|
out: sum=750
|
|
out: :60
|
|
out: :120
|
|
out: :180
|
|
out: sum=120
|
|
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: :80$
|
|
out: ---:assign_to_var
|
|
out: :60:99:137:174:210:245:279:312:344:375
|
|
out: :435:474:512:549:585:620:654:687:719:750
|
|
out: :810:789:788:787:786:785:784:783:782:781
|
|
out: sum=750
|
|
out: :60:99:137:174:210:245:279:312:344:375
|
|
out: :435:474:512:549:585:620:654:687:719:750
|
|
out: :810:789:788:787:786:785:784:783:782:781
|
|
out: sum=750
|
|
out: :60
|
|
out: :120
|
|
out: :180
|
|
out: sum=120
|
|
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
|
|
|
|
|