needs overhaul, since current design leads to problems with GCC 4.8 onwards (and is messed up anyway)
1491 lines
44 KiB
Text
1491 lines
44 KiB
Text
TESTING "Core Component Test Suite: common and basic components" ./test-suite --group=common
|
|
|
|
|
|
|
|
TEST "Hello test world" HelloWorld_test 3 <<END
|
|
out-lit: This is how the world ends...
|
|
return: 0
|
|
END
|
|
|
|
|
|
TEST "Allocation Cluster" AllocationCluster_test <<END
|
|
return: 0
|
|
END
|
|
|
|
|
|
TEST "basic application state" Appconfig_test <<END
|
|
return: 0
|
|
END
|
|
|
|
|
|
TEST "Advice collaboration (basics)" AdviceBasics_test <<END
|
|
return: 0
|
|
END
|
|
|
|
|
|
PLANNED "Advice constellations" AdviceSituations_test <<END
|
|
return: 0
|
|
END
|
|
|
|
|
|
PLANNED "Advice variants and configurations" AdviceConfiguration_test <<END
|
|
return: 0
|
|
END
|
|
|
|
|
|
PLANNED "Advice multiplicity and concurrency" AdviceMultiplicity_test <<END
|
|
return: 0
|
|
END
|
|
|
|
|
|
TEST "Advice binding patterns" AdviceBindingPattern_test <<END
|
|
out-lit: --->Binding[]
|
|
out-lit: aSymbol --->Binding[aSymbol/0()]
|
|
out-lit: a.compound_Symbol-with-various.parts --->Binding[a.compound_Symbol-with-various.parts/0()]
|
|
out-lit: trailing Garbage allowed. ☢☢ eat ☠☠☠ atomic ☠☠☠ waste ☢☢ --->Binding[Garbage/0(), allowed/0(), trailing/0()]
|
|
out-lit: a, list , of ,symbols. --->Binding[a/0(), list/0(), of/0(), symbols/0()]
|
|
out-lit: nullary(). --->Binding[nullary/0()]
|
|
out-lit: nullary( ) --->Binding[nullary/0()]
|
|
out-lit: nullary . --->Binding[nullary/0()]
|
|
out-lit: predicate( with-argument ) --->Binding[predicate/1(with-argument)]
|
|
out-lit: Binding[advice.type.n7lumiera6advice4test12_GLOBAL__N_111DummyAdviceE/0(), one/0(), three/1(four), two/0()]
|
|
out-lit: b0==Binding[]
|
|
out-lit: b1==Binding[cat1/0(), cat2/0()]
|
|
out-lit: b2==Binding[cat1/0(), cat2/0()]
|
|
out-lit: b2==Binding[advice.type.n3lib4time4TimeE/0(), cat1/0(), cat2/0(), cat3/1(zzz)]
|
|
return: 0
|
|
END
|
|
|
|
|
|
TEST "Advice index implementation" AdviceIndex_test <<END
|
|
return: 0
|
|
END
|
|
|
|
|
|
TEST "implicit conversion to bool" BoolCheckable_test <<END
|
|
out: 1
|
|
out: 2
|
|
out: doIt
|
|
out: 4
|
|
out: 5
|
|
out: doIt
|
|
out: 7
|
|
out: 8
|
|
out: doIt
|
|
out: 10
|
|
out: 11
|
|
out: doIt
|
|
out: 13
|
|
out: 14
|
|
out: doIt
|
|
out: sizeof.+lib.+test.+ExampleCustomType123.+ = [248]
|
|
return: 0
|
|
END
|
|
|
|
|
|
TEST "CmdlineWrapper_test" CmdlineWrapper_test <<END
|
|
out-lit: wrapping cmdline:...
|
|
out-lit: -->
|
|
out-lit: wrapping cmdline:
|
|
out-lit: ...
|
|
out-lit: -->
|
|
out-lit: wrapping cmdline:spam...
|
|
out-lit: 0|spam|
|
|
out-lit: -->spam
|
|
out-lit: wrapping cmdline:
|
|
out-lit: spam...
|
|
out-lit: 0|spam|
|
|
out-lit: -->spam
|
|
out-lit: wrapping cmdline:eat more spam...
|
|
out-lit: 0|eat|
|
|
out-lit: 1|more|
|
|
out-lit: 2|spam|
|
|
out-lit: -->eat more spam
|
|
out-lit: wrapping cmdline: oo _O()O_ ☭ + €...
|
|
out-lit: 0|oo|
|
|
out-lit: 1|_O()O_|
|
|
out-lit: 2|☭|
|
|
out-lit: 3|+|
|
|
out-lit: 4|€|
|
|
out-lit: -->oo _O()O_ ☭ + €
|
|
out-lit: wrapping cmdline:Ω ooΩ oΩo Ωoo...
|
|
out-lit: 0|Ω|
|
|
out-lit: 1|ooΩ|
|
|
out-lit: 2|oΩo|
|
|
out-lit: 3|Ωoo|
|
|
out-lit: -->Ω ooΩ oΩo Ωoo
|
|
out-lit: Standard Cmdlineformat:one two
|
|
END
|
|
|
|
|
|
TEST "ConfigFlags_test" ConfigFlags_test <<END
|
|
out-lit: Conf0 :-
|
|
out-lit: Conf1 :-<1>-
|
|
out-lit: Conf2 :-<2>-
|
|
out-lit: Conf3 :-<3>-
|
|
out-lit: Conf4 :-<2>-<4>-
|
|
out-lit: AllFlags :-<1>-<2>-<3>-<4>-
|
|
out-lit: __________________________
|
|
out-lit: __________________________ check_flags()
|
|
out-lit: Flags1 :-<2>-<4>-
|
|
out-lit: Flags2 :-<2>-<4>-
|
|
out-lit: SimpleConfig_defined_by_Typelist :-<1>-
|
|
out-lit: AnotherConfig_defined_by_Typelist :-<1>-<2>-<3>-<4>-
|
|
out-lit: __________________________
|
|
out-lit: __________________________ check_instantiation()
|
|
out-lit: defined Conf0? ---> 0
|
|
out-lit: defined Conf1? ---> 1
|
|
out-lit: defined Conf2? ---> 1
|
|
out-lit: defined Conf3? ---> 1
|
|
out-lit: defined Conf4? ---> 1
|
|
out-lit: defined Trash? ---> 0
|
|
out-lit: __________________________
|
|
out-lit: __________________________ check_filter()
|
|
out-lit: SomeFlagsets :
|
|
out-lit: +---<1>-<3>-+
|
|
out-lit: +---<2>-<4>-+-
|
|
out-lit: Configs_defined_by_Flagsets :
|
|
out-lit: +-Conf-[-<1>-<3>-]
|
|
out-lit: +-Conf-[-<2>-<4>-]-
|
|
out-lit: Filter_possible_Configs :
|
|
out-lit: +-Conf-[-<2>-<4>-]-
|
|
out-lit: AllFlagCombinations :
|
|
out-lit: +---<1>-<2>-<3>-<4>-<·>-+
|
|
out-lit: +---<1>-<2>-<3>-<·>-+
|
|
out-lit: +---<1>-<2>-<4>-<·>-+
|
|
out-lit: +---<1>-<2>-<·>-+
|
|
out-lit: +---<1>-<3>-<4>-<·>-+
|
|
out-lit: +---<1>-<3>-<·>-+
|
|
out-lit: +---<1>-<4>-<·>-+
|
|
out-lit: +---<1>-<·>-+
|
|
out-lit: +---<2>-<3>-<4>-<·>-+
|
|
out-lit: +---<2>-<3>-<·>-+
|
|
out-lit: +---<2>-<4>-<·>-+
|
|
out-lit: +---<2>-<·>-+
|
|
out-lit: +---<3>-<4>-<·>-+
|
|
out-lit: +---<3>-<·>-+
|
|
out-lit: +---<4>-<·>-+
|
|
out-lit: +---<·>-+-
|
|
out-lit: ListAllConfigs :
|
|
out-lit: +-Conf-[-<1>-<2>-<3>-<4>-]
|
|
out-lit: +-Conf-[-<1>-<2>-<3>-]
|
|
out-lit: +-Conf-[-<1>-<2>-<4>-]
|
|
out-lit: +-Conf-[-<1>-<2>-]
|
|
out-lit: +-Conf-[-<1>-<3>-<4>-]
|
|
out-lit: +-Conf-[-<1>-<3>-]
|
|
out-lit: +-Conf-[-<1>-<4>-]
|
|
out-lit: +-Conf-[-<1>-]
|
|
out-lit: +-Conf-[-<2>-<3>-<4>-]
|
|
out-lit: +-Conf-[-<2>-<3>-]
|
|
out-lit: +-Conf-[-<2>-<4>-]
|
|
out-lit: +-Conf-[-<2>-]
|
|
out-lit: +-Conf-[-<3>-<4>-]
|
|
out-lit: +-Conf-[-<3>-]
|
|
out-lit: +-Conf-[-<4>-]
|
|
out-lit: +-Conf-[-]-
|
|
out-lit: Filter_all_possible_Configs :
|
|
out-lit: +-Conf-[-<1>-]
|
|
out-lit: +-Conf-[-<2>-<3>-]
|
|
out-lit: +-Conf-[-<2>-<4>-]
|
|
out-lit: +-Conf-[-<2>-]
|
|
out-lit: +-Conf-[-<3>-]-
|
|
out-lit: __________________________
|
|
out-lit: __________________________ check_FlagInfo()
|
|
out-lit: Flags1 :-<1>-<3>-
|
|
out-lit: max bit : 3
|
|
out-lit: binary code: 10
|
|
out-lit: SomeConfigs :
|
|
out-lit: +-Conf-[-<1>-<3>-]
|
|
out-lit: +-Conf-[-<2>-<4>-]-
|
|
out-lit: max bit in [SomeConfigs] : 4
|
|
out-lit: TestVisitor application:
|
|
out-lit: visit(code=10) -->
|
|
out-lit: +-Conf-[-<1>-<3>-]-
|
|
out-lit: visit(code=20) -->
|
|
out-lit: +-Conf-[-<2>-<4>-]-
|
|
out-lit: __________________________
|
|
out-lit: __________________________ check_ConfigSelector()
|
|
out-lit: Possible_Configs :
|
|
out-lit: +-Conf-[-<1>-]
|
|
out-lit: +-Conf-[-<2>-<3>-]
|
|
out-lit: +-Conf-[-<2>-<4>-]
|
|
out-lit: +-Conf-[-<2>-]
|
|
out-lit: +-Conf-[-<3>-]-
|
|
out-lit: Flag-code = 2 ConfigSelector() ---> 1010
|
|
out-lit: Flag-code = 12 ConfigSelector() ---> 1023
|
|
out-lit: Flag-code = 20 ConfigSelector() ---> 1024
|
|
out-lit: Flag-code = 4 ConfigSelector() ---> 1020
|
|
out-lit: Flag-code = 8 ConfigSelector() ---> 1030
|
|
out-lit: LUMIERA_ERROR_INVALID:invalid input or parameters (ConfigSelector: No preconfigured factory for config-bits=10111).
|
|
return: 0
|
|
END
|
|
|
|
|
|
TEST "CustomSharedPtr_test" CustomSharedPtr_test <<END
|
|
return: 0
|
|
END
|
|
|
|
|
|
TEST "Deleter function collection" DelStash_test <<END
|
|
return: 0
|
|
END
|
|
|
|
|
|
TEST "Dependency injection" DependencyFactory_test <<END
|
|
out-lit: ctor TargetObj(0) successful
|
|
out-lit: ctor TargetObj(1) successful
|
|
out-lit: ctor TargetObj(2) successful
|
|
out-lit: ctor TargetObj(3) successful
|
|
out-lit: dtor ~TargetObj(3) successful
|
|
out-lit: ctor TargetObj(4) successful
|
|
out-lit: dtor ~TargetObj(4) successful
|
|
out-lit: dtor ~TargetObj(2) successful
|
|
out-lit: dtor ~TargetObj(1) successful
|
|
out-lit: dtor ~TargetObj(0) successful
|
|
return: 0
|
|
END
|
|
|
|
|
|
TEST "A Digxel (numeric component)" Digxel_test <<END
|
|
out-lit: empty____## +0.0 ##
|
|
out-lit: value____##-88.8 ##
|
|
out: timings\(\w+\)....*ns
|
|
return: 0
|
|
END
|
|
|
|
|
|
TEST "Digxel standard configurations" DigxelConfigurations_test <<END
|
|
out: .+Digxel.+Formatter.+--empty-- 0--\(val=123\)--123\|
|
|
out: .+Digxel.+Formatter.+--empty--00.000--\(val=123.457\)--123.457
|
|
out: .+Digxel.+SexaFormatter.+--empty--00--\(val=42\)--42
|
|
out: .+Digxel.+SexaFormatter.+--empty--00--\(val=-5\)---5
|
|
out: .+Digxel.+HexaFormatter.+--empty--00--\(val=12\)--0C
|
|
out: .+Digxel.+HexaFormatter.+--empty--00--\(val=111\)--6F
|
|
out: .+Digxel.+CountFormatter.+--empty--0000--\(val=-1234567890\)---1234567890
|
|
return: 0
|
|
END
|
|
|
|
|
|
TEST "Duck typing support" DuckDetector_test <<END
|
|
out: HasNested_Core<PropperGander> : Yes
|
|
out: HasNested_Core<Propaganda> : No
|
|
out: HasMember_honk<PropperGander> : Yes
|
|
out: HasMember_honk<Propaganda> : Yes
|
|
out: HasFunSig_honk<PropperGander> : Yes
|
|
out: HasFunSig_honk<Propaganda> : No
|
|
return: 0
|
|
END
|
|
|
|
|
|
TEST "ExceptionError_test" ExceptionError_test <<END
|
|
out: caught: LUMIERA_ERROR_LIFE_AND_UNIVERSE:and everything\? \(don't panic\)...the answer is: 42
|
|
out: caught lumiera::Error: LUMIERA_ERROR_DERIVED:convoluted exception
|
|
out: caught error::Logic: LUMIERA_ERROR_FATAL:floundered \(test-2\).
|
|
out: caught error::Invalid: LUMIERA_ERROR_INVALID:invalid input or parameters \(test-3\).
|
|
out: caught lumiera::Error: LUMIERA_ERROR_EXTERNAL:failure in external service \(test-4\).
|
|
out: caught std::runtime_error: test-5
|
|
out: caught std::exception. \(unspecific\)
|
|
out: intermediate handler caught: LUMIERA_ERROR_EXTERNAL:failure in external service \(test-7\).....will rethrow as error::State
|
|
out: caught lumiera::Error: LUMIERA_ERROR_STATE:unforeseen state -- caused by: LUMIERA_ERROR_EXTERNAL:failure in external service \(test-7\).
|
|
out: intermediate handler caught: LUMIERA_ERROR_EXTERNAL:failure in external service \(test-8\).....will rethrow as error::State
|
|
out: 2nd intermediate handler caught: LUMIERA_ERROR_STATE:unforeseen state -- caused by: LUMIERA_ERROR_EXTERNAL:failure in external service \(test-8\).....will rethrow as error::Config
|
|
out: caught lumiera::Error: LUMIERA_ERROR_CONFIG:misconfiguration -- caused by: LUMIERA_ERROR_EXTERNAL:failure in external service \(test-8\)\.
|
|
out: caught lumiera::Error: LUMIERA_ERROR_LIFE_AND_UNIVERSE:and everything\? \(what is the answer\?\)\.
|
|
out: caught error::Logic: LUMIERA_ERROR_LOGIC:internal logic broken \(the big bang\). -- caused by: LUMIERA_ERROR_LIFE_AND_UNIVERSE:and everything\? \(what is the answer\?\)\.
|
|
END
|
|
|
|
|
|
TEST "formatting/diagnostics helpers" FormatHelper_test <<END
|
|
out: Displaying some types....
|
|
out: «..util.test.Reticent.»
|
|
out: <no comment>
|
|
out: ^hey Joe!
|
|
out: ^he says: hey Joe!
|
|
out: ^the truth: 0
|
|
out: ^just a number: 1.234.*e\+56
|
|
out: ^12345X
|
|
return: 0
|
|
END
|
|
|
|
|
|
TEST "formatting by string template" FormatString_test <<END
|
|
out-lit: --format-template--int=0012--double=+1.23--string=Lumiera --
|
|
out: 0x....+ _____+ .
|
|
out: «.+util.+test.+Silent.»
|
|
out-lit: __nix_
|
|
out-lit: ____
|
|
out-lit: __1__
|
|
out-lit: __1__
|
|
out-lit: __↯__
|
|
out-lit: __dirt__
|
|
out-lit: __1234__
|
|
out-lit: __0xff__
|
|
return: 0
|
|
END
|
|
|
|
|
|
TEST "functional closure" FunctionClosure_test <<END
|
|
out-lit: List1 :-<1>-<2>-<3>-
|
|
out-lit: List2 :-<5>-<6>-<7>-
|
|
out-lit: Args :-<5>-<9>-
|
|
out-lit: NewArgs :-<1>-<5>-<9>-
|
|
out-lit: :
|
|
out-lit: : ---Apply---
|
|
out-lit: tup0 :...Tuple()
|
|
out-lit: tup1 :...Tuple(11)
|
|
out-lit: tup2 :...Tuple(11,12)
|
|
out-lit: tup3 :...Tuple(11,12,13)
|
|
out-lit: :
|
|
out-lit: : ---Bind----
|
|
return: 0
|
|
END
|
|
|
|
|
|
TEST "functional composition" FunctionComposition_test <<END
|
|
return: 0
|
|
END
|
|
|
|
|
|
TEST "function type erasure" FunctionErasure_test <<END
|
|
return: 0
|
|
END
|
|
|
|
|
|
TEST "HashGenerator_test" HashGenerator_test <<END
|
|
return: 0
|
|
END
|
|
|
|
|
|
TEST "HashIndexed_test" HashIndexed_test <<END
|
|
return: 0
|
|
END
|
|
|
|
|
|
TEST "bridge boost::hash to std::hash" HashStandardToBoostBridge_test <<END
|
|
return: 0
|
|
END
|
|
|
|
|
|
TEST "Hierarchy rebuilding" HierarchyOrientationIndicator_test <<END
|
|
return: 0
|
|
END
|
|
|
|
|
|
TEST "LifeCycle_test" LifeCycle_test <<END
|
|
return: 0
|
|
END
|
|
|
|
|
|
PLANNED "configurable Factory" MultiFact_test <<END
|
|
END
|
|
|
|
|
|
TEST "Family of Singleton Factories" MultiFactSingleton_test <<END
|
|
out: Impl-1
|
|
out: Impl-2
|
|
out: Impl-3
|
|
out: Impl-4
|
|
out: sizeof\( .+MultiFact.+Interface.+theID.+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-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::9::8::7::6::5::4::3::2::1::0
|
|
out: iter::eachVal::18::16::14::12::10::8::6::4::2::0
|
|
out: iter::eachDistinctKey::9::8::7::6::5::4::3::2::1::0
|
|
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::9::8::8::2::2::2::2::2::2::2::2::1::1::1::1::1::1::1::1::1::0::0::0::0::0::0::0::0::0::0::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
|
|
out: iter::eachVal::1::1::2::1::2::3::4::5::6::7::8::1::2::3::4::5::6::7::8::9::1::2::3::4::5::6::7::8::9::10::1::2::3::4::5::6::7::1::2::3::4::5::6::1::2::3::4::5::1::2::3::4::1::2::3
|
|
out: iter::eachDistinctKey::9::8::2::1::0::3::4::5::6::7
|
|
out: -----iterateValues4Key---.+multimap
|
|
out: iter::eachValForKey::10::9::8::7::6::5::4::3::2::1
|
|
out: -----iterateValues4Key---.+unordered_multimap
|
|
out: iter::eachValForKey::1::2::3::4::5::6::7::8::9::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-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 "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
|
|
|
|
|