1519 lines
45 KiB
Text
1519 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: LUMIERA_ERROR_INVALID:invalid input or parameters.+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
|
||
|
|
|
||
|
|
|