2014-10-17 21:15:59 +02:00
TESTING "Library Test Suite: basic and low-level components" ./test-suite --group=common
2014-10-17 20:02:25 +02:00
2022-08-28 23:36:27 +02:00
TEST "Builder Support (qualifiers)" BuilderQualifierSupport_test <<END
return: 0
END
2014-10-17 20:02:25 +02:00
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
2016-01-28 22:30:24 +01:00
return: 0
2014-10-17 20:02:25 +02:00
END
TEST "CustomSharedPtr_test" CustomSharedPtr_test <<END
return: 0
END
TEST "Deleter function collection" DelStash_test <<END
return: 0
END
2023-09-24 02:45:43 +02:00
TEST "Thread-local diagnostic context" DiagnosticContext_test <<END
return: 0
END
2014-12-11 04:46:47 +01:00
TEST "Diff: apply list diff to target sequence" DiffListApplication_test <<END
return: 0
END
2014-12-17 02:15:15 +01:00
TEST "Diff: compare sequences to generate list diff" DiffListGeneration_test <<END
return: 0
END
2015-01-04 13:23:57 +01:00
TEST "Diff: lookup table helper" DiffIndexTable_test <<END
return: 0
END
2019-12-15 21:40:09 +01:00
TEST "Diff: reshape a tree data structure through diff (1)" DiffTreeApplicationSimple_test <<END
return: 0
END
TEST "Diff: reshape a tree data structure through diff (2)" DiffTreeApplication_test <<END
2015-11-01 07:03:47 +01:00
return: 0
END
2016-05-26 02:16:34 +02:00
TEST "Diff: Generic recursive mutation with closure binding" TreeMutator_test <<END
2016-08-29 23:04:44 +02:00
out-lit: |
out-lit: | »simpleAttributeBinding«
2016-05-26 02:16:34 +02:00
out: concrete TreeMutator .+Builder<ChangeOperation<TreeMutator, test::TreeMutator_test::simpleAttributeBinding().+lambda\(string\).+> >
out-lit: "data" closure received something that would be acceptable
out-lit: localData changed to: that would be acceptable
2016-08-29 23:04:44 +02:00
out-lit: |
out-lit: | »simpleCollectionBinding«
out-lit: a, b
out: concrete TreeMutator .+Builder<ChildCollectionMutator<TreeMutator,
out-lit: c, b
2016-05-26 02:16:34 +02:00
return: 0
END
TEST "Diff: mapping of changes onto opaque tree data" TreeMutatorBinding_test <<END
return: 0
END
2016-08-29 23:04:44 +02:00
TEST "Diff: integration test with opaque target data" DiffComplexApplication_test <<END
out-lit: before...
out: Opaque.+__\(α :-1 β:-1 γ :-1.00000 δ:⟂ «unique_ptr<Opaque>»
out: nested:$
out: data:$
out: \)__END_Opaque.+
out-lit: after...I
out: Opaque.+__\(α :1 β:-1 γ :3.45000 δ:⟂ «unique_ptr<Opaque>»
out: nested:$
out: data:b, b, 78:56:34\.012$
out: \)__END_Opaque.+
out-lit: after...II
out: Opaque.+__\(α :1 β:2 γ :3.45000 δ:⟂ «unique_ptr<Opaque>»
out: nested:_CHILD_Record.+__\(α :-1 β:-1 γ :-1.00000 δ:⟂ «unique_ptr<Opaque>»
out: nested:$
out: data:$
out: \)__END__CHILD_Record.+
out: data:78:56:34\.012, b$
out: \)__END_Opaque.+
out-lit: after...III
out: Opaque.+__\(α :1 β:2 γ :3.14159 δ:unique_ptr.+ ↗≺ζ≻.+__\(α :-1 β:-1 γ :-1.00000 δ:⟂ «unique_ptr<Opaque>»
out: nested:$
out: data:a, a, a$
out: \)__END_≺ζ≻\.+
out: nested:_CHILD_Record.+≺ξ≻.+__\(α :-1 β:2 γ :-1.00000 δ:⟂ «unique_ptr<Opaque>»
out: nested:$
out: data:b, a$
out: \)__END__CHILD_Record.+≺ξ≻.+
out: data:78:56:34.012, b$
out: \)__END_Opaque.+
return: 0
END
2018-10-11 23:56:33 +02:00
TEST "Diff: accept and ignore arbitrary diff" DiffIgnoreChanges_test <<END
return: 0
END
2019-12-15 21:40:09 +01:00
TEST "Diff: listener for structural changes" DiffTreeMutationListener_test <<END
return: 0
END
2014-10-17 20:02:25 +02:00
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
2016-01-10 12:25:45 +01:00
out-lit: Digxel<int, digxel::Formatter<int> >--empty-- 0--(val=123)--123|
out-lit: Digxel<double, digxel::Formatter<double> >--empty--00.000--(val=123.457)--123.457|
out-lit: Digxel<int, digxel::SexaFormatter>--empty--00--(val=42)--42|
out-lit: Digxel<int, digxel::SexaFormatter>--empty--00--(val=-5)---5|
2024-11-21 18:07:30 +01:00
out-lit: Digxel<uint, digxel::HexaFormatter>--empty--00--(val=12)--0C|
out-lit: Digxel<uint, digxel::HexaFormatter>--empty--00--(val=111)--6F|
2016-01-10 12:25:45 +01:00
out-lit: Digxel<long, digxel::CountFormatter>--empty--0000--(val=-1234567890)---1234567890|
2014-10-17 20:02:25 +02:00
return: 0
END
2016-01-10 12:25:45 +01:00
TEST "plain entry-ID" EntryID_test <<END
out: ID<Dummy>-Dummy.0..
out: ID<Dummy>-strange
out: ID<Dummy>-Dummy.0..
out: ID<Fork>-Fork.0..
out: ID<Fork>-special
out: sizeof\( idi::EntryID<Fork> \) .+ =
out: sizeof\( idi::BareEntryID \) .+ =
2018-04-29 03:15:57 +02:00
out: sizeof\( \w+[^\)]* \) .+ =
2016-01-28 22:30:24 +01:00
return: 0
2016-01-10 12:25:45 +01:00
END
2024-03-14 23:44:39 +01:00
TEST "Filesystem manipulations" FileSupport_test <<END
2024-03-12 22:54:05 +01:00
return: 0
END
2016-01-09 04:05:14 +01:00
TEST "formatting/string conversion in output" FormatCOUT_test <<END
2017-12-02 03:37:21 +01:00
out-lit: Type: int ......
out-lit: is_StringLike<int> : No
out-lit: BasicallyString<int> : No
out-lit: BasicallyCString<int> : No
out-lit: std::is_arithmetic<int> : Yes
out-lit: can_lexical2string<int> : Yes
out-lit: can_convertToString<int> : No
out-lit: use_StringConversion4Stream<int> : No
out-lit: Type: char ......
out-lit: is_StringLike<char> : No
out-lit: BasicallyString<char> : No
out-lit: BasicallyCString<char> : No
out-lit: std::is_arithmetic<char> : Yes
out-lit: can_lexical2string<char> : Yes
out-lit: can_convertToString<char> : No
out-lit: use_StringConversion4Stream<char> : No
out-lit: Type: double ......
out-lit: is_StringLike<double> : No
out-lit: BasicallyString<double> : No
out-lit: BasicallyCString<double> : No
out-lit: std::is_arithmetic<double> : Yes
out-lit: can_lexical2string<double> : Yes
out-lit: can_convertToString<double> : No
out-lit: use_StringConversion4Stream<double> : No
out-lit: Type: int64_t ......
out-lit: is_StringLike<int64_t> : No
out-lit: BasicallyString<int64_t> : No
out-lit: BasicallyCString<int64_t> : No
out-lit: std::is_arithmetic<int64_t> : Yes
out-lit: can_lexical2string<int64_t> : Yes
out-lit: can_convertToString<int64_t> : No
out-lit: use_StringConversion4Stream<int64_t> : No
out-lit: Type: string ......
out-lit: is_StringLike<string> : Yes
out-lit: BasicallyString<string> : Yes
out-lit: BasicallyCString<string> : No
out-lit: std::is_arithmetic<string> : No
out-lit: can_lexical2string<string> : Yes
out-lit: can_convertToString<string> : Yes
out-lit: use_StringConversion4Stream<string> : No
out-lit: Type: StringPtr ......
out-lit: is_StringLike<StringPtr> : No
out-lit: BasicallyString<StringPtr> : No
out-lit: BasicallyCString<StringPtr> : No
out-lit: std::is_arithmetic<StringPtr> : No
out-lit: can_lexical2string<StringPtr> : No
out-lit: can_convertToString<StringPtr> : No
out-lit: use_StringConversion4Stream<StringPtr> : No
out-lit: Type: StringRef ......
out-lit: is_StringLike<StringRef> : Yes
out-lit: BasicallyString<StringRef> : Yes
out-lit: BasicallyCString<StringRef> : No
out-lit: std::is_arithmetic<StringRef> : No
out-lit: can_lexical2string<StringRef> : Yes
out-lit: can_convertToString<StringRef> : Yes
out-lit: use_StringConversion4Stream<StringRef> : No
out-lit: Type: StringRRef ......
out-lit: is_StringLike<StringRRef> : Yes
out-lit: BasicallyString<StringRRef> : Yes
out-lit: BasicallyCString<StringRRef> : No
out-lit: std::is_arithmetic<StringRRef> : No
out-lit: can_lexical2string<StringRRef> : Yes
out-lit: can_convertToString<StringRRef> : Yes
out-lit: use_StringConversion4Stream<StringRRef> : No
out-lit: Type: StrConstRef ......
2024-04-01 19:44:21 +02:00
out-lit: is_StringLike<StrConstRef> : Yes
out-lit: BasicallyString<StrConstRef> : Yes
2017-12-02 03:37:21 +01:00
out-lit: BasicallyCString<StrConstRef> : No
out-lit: std::is_arithmetic<StrConstRef> : No
2024-04-01 19:44:21 +02:00
out-lit: can_lexical2string<StrConstRef> : Yes
2017-12-02 03:37:21 +01:00
out-lit: can_convertToString<StrConstRef> : Yes
2024-04-01 19:44:21 +02:00
out-lit: use_StringConversion4Stream<StrConstRef> : No
2017-12-02 03:37:21 +01:00
out-lit: Type: CharLit ......
out-lit: is_StringLike<CharLit> : Yes
out-lit: BasicallyString<CharLit> : No
out-lit: BasicallyCString<CharLit> : Yes
out-lit: std::is_arithmetic<CharLit> : No
out-lit: can_lexical2string<CharLit> : Yes
out-lit: can_convertToString<CharLit> : Yes
out-lit: use_StringConversion4Stream<CharLit> : No
out-lit: Type: CharPtr ......
out-lit: is_StringLike<CharPtr> : Yes
out-lit: BasicallyString<CharPtr> : No
out-lit: BasicallyCString<CharPtr> : Yes
out-lit: std::is_arithmetic<CharPtr> : No
out-lit: can_lexical2string<CharPtr> : Yes
out-lit: can_convertToString<CharPtr> : Yes
out-lit: use_StringConversion4Stream<CharPtr> : No
out-lit: Type: Reticent ......
out-lit: is_StringLike<Reticent> : No
out-lit: BasicallyString<Reticent> : No
out-lit: BasicallyCString<Reticent> : No
out-lit: std::is_arithmetic<Reticent> : No
out-lit: can_lexical2string<Reticent> : No
out-lit: can_convertToString<Reticent> : No
out-lit: use_StringConversion4Stream<Reticent> : Yes
out-lit: Type: P<Reticent> ......
out-lit: is_StringLike<P<Reticent>> : No
out-lit: BasicallyString<P<Reticent>> : No
out-lit: BasicallyCString<P<Reticent>> : No
out-lit: std::is_arithmetic<P<Reticent>> : No
out-lit: can_lexical2string<P<Reticent>> : No
out-lit: can_convertToString<P<Reticent>> : Yes
out-lit: use_StringConversion4Stream<P<Reticent>> : Yes
out-lit: Type: GenNode ......
out-lit: is_StringLike<GenNode> : No
out-lit: BasicallyString<GenNode> : No
out-lit: BasicallyCString<GenNode> : No
out-lit: std::is_arithmetic<GenNode> : No
out-lit: can_lexical2string<GenNode> : No
out-lit: can_convertToString<GenNode> : Yes
out-lit: use_StringConversion4Stream<GenNode> : Yes
out-lit: Type: GenNodePtr ......
out-lit: is_StringLike<GenNodePtr> : No
out-lit: BasicallyString<GenNodePtr> : No
out-lit: BasicallyCString<GenNodePtr> : No
out-lit: std::is_arithmetic<GenNodePtr> : No
out-lit: can_lexical2string<GenNodePtr> : No
out-lit: can_convertToString<GenNodePtr> : No
out-lit: use_StringConversion4Stream<GenNodePtr> : No
out-lit: Type: GenNodeRef ......
out-lit: is_StringLike<GenNodeRef> : No
out-lit: BasicallyString<GenNodeRef> : No
out-lit: BasicallyCString<GenNodeRef> : No
out-lit: std::is_arithmetic<GenNodeRef> : No
out-lit: can_lexical2string<GenNodeRef> : No
out-lit: can_convertToString<GenNodeRef> : Yes
out-lit: use_StringConversion4Stream<GenNodeRef> : Yes
out-lit: Type: GenNodeRRef ......
out-lit: is_StringLike<GenNodeRRef> : No
out-lit: BasicallyString<GenNodeRRef> : No
out-lit: BasicallyCString<GenNodeRRef> : No
out-lit: std::is_arithmetic<GenNodeRRef> : No
out-lit: can_lexical2string<GenNodeRRef> : No
out-lit: can_convertToString<GenNodeRRef> : Yes
out-lit: use_StringConversion4Stream<GenNodeRRef> : Yes
out-lit: Type: P<GenNode> ......
out-lit: is_StringLike<P<GenNode>> : No
out-lit: BasicallyString<P<GenNode>> : No
out-lit: BasicallyCString<P<GenNode>> : No
out-lit: std::is_arithmetic<P<GenNode>> : No
out-lit: can_lexical2string<P<GenNode>> : No
out-lit: can_convertToString<P<GenNode>> : Yes
out-lit: use_StringConversion4Stream<P<GenNode>> : Yes
out-lit: ───────────────────────────╼━━━━━━━━━━╾───────────────────────────
out-lit: smart-ptr, no string conv...«Reticent»
out-lit: smart-ptr, custom conv......GenNode-ID("Hui")-DataCap|«string»|Buh
out-lit: reference, no string conv...«Reticent»
out-lit: reference, custom conv......GenNode-ID("Hui")-DataCap|«string»|Buh
out: pointer, custom conv......╲_....+ ↗GenNode-ID("Hui")-DataCap|«string»|Buh
out-lit: smart-ptr, NULL pointee.....⟂ P<GenNode>
out-lit: pointer, NULL pointee.....⟂ «GenNode»
2016-01-28 22:30:24 +01:00
return: 0
2016-01-09 04:05:14 +01:00
END
2014-10-17 20:02:25 +02:00
TEST "formatting/diagnostics helpers" FormatHelper_test <<END
return: 0
END
TEST "formatting by string template" FormatString_test <<END
out-lit: --format-template--int=0012--double=+1.23--string=Lumiera --
out: 0x....+ _____+ .
2016-01-10 12:25:45 +01:00
out-lit: «test::FormatString_test::Silent»
2014-10-17 20:02:25 +02:00
out-lit: __nix_
out-lit: ____
out-lit: __1__
out-lit: __1__
2016-01-10 12:25:45 +01:00
out-lit: __⟂__
2014-10-17 20:02:25 +02:00
out-lit: __dirt__
out-lit: __1234__
out-lit: __0xff__
return: 0
END
2015-08-28 17:18:52 +02:00
TEST "Generic ID generation" GenericIdFunction_test <<END
return: 0
END
2019-12-12 23:41:26 +01:00
TEST "Generic Object Record" GenericRecord_test <<END
2015-08-17 06:17:00 +02:00
out-lit: enterprise = Rec(starship| Name = USS Enterprise, Registry = NCC-1701-D, Class = Galaxy, Owner = United Federation of Planets, Operator = Starfleet, built = 2363 |{Picard, Riker, Data, Troi, Worf, Crusher, La Forge})
2015-08-17 03:59:53 +02:00
out-lit: Name = USS Enterprise
out-lit: Registry = NCC-1701-D
out-lit: Class = Galaxy
out-lit: Owner = United Federation of Planets
out-lit: Operator= Starfleet
out-lit: built=2363
out-lit: Picard
out-lit: Riker
out-lit: Data
out-lit: Troi
out-lit: Worf
out-lit: Crusher
out-lit: La Forge
out-lit: --Attributes--
out-lit: Name = USS Enterprise
out-lit: Registry = NCC-1701-D
out-lit: Class = Galaxy
out-lit: Owner = United Federation of Planets
out-lit: Operator= Starfleet
out-lit: built=2363
out-lit: --Keys--->Name<->Registry<->Class<->Owner<->Operator<->built
out-lit: --Vals--->USS Enterprise<->NCC-1701-D<->Galaxy<->United Federation of Planets<->Starfleet<->2363
out-lit: --Crew--->Picard | Riker | Data | Troi | Worf | Crusher | La Forge
2015-03-21 02:00:55 +01:00
return: 0
2015-09-25 02:47:44 +02:00
END
2019-12-12 23:41:26 +01:00
TEST "Generic Record data node" GenNode_test <<END
2015-11-01 23:26:26 +01:00
out: GenNode.+_CHILD_Record.+Rec.spam..ham = DataCap.+eggs
2015-09-25 02:47:44 +02:00
out-lit: --spam--
2016-01-10 12:25:45 +01:00
out: GenNode.+"baked beans".+Rec...hasSpam = DataCap.«bool».true.+«char».+«string».*«double».+GenNode.+"spam".+«Record<GenNode>».+«string».eggs.+«string».spam.+«string».spam
out: GenNode.+"hasSpam".+«bool».true
2015-11-01 23:26:26 +01:00
out: GenNode.+_CHILD_char.+«char».\*
2017-08-17 12:50:25 +02:00
out: GenNode.+_CHILD_(basic_)?string.+«string».★
2015-12-13 05:03:36 +01:00
out: GenNode.+_CHILD_double.+«double».3.1415927
2016-01-10 12:25:45 +01:00
out: GenNode.+"spam".+«Record<GenNode>».Rec.ham.+eggs.+spam.+spam
2017-08-17 12:50:25 +02:00
out: GenNode.+_CHILD_(basic_)?string.+«string».eggs
out: GenNode.+_CHILD_(basic_)?string.+«string».spam
2016-01-10 12:25:45 +01:00
out: GenNode.+_CHILD_TimeSpan.+«TimeSpan»|0:00:00.000≺920ms≻
2015-11-14 21:20:32 +01:00
out: GenNode.+_CHILD_long.+«long.+42
2015-09-25 02:47:44 +02:00
return: 0
2015-03-21 02:00:55 +01:00
END
2024-04-03 19:31:00 +02:00
TEST "generate a Gnuplot diagram" GnuplotGen_test <<END
2014-10-17 20:02:25 +02:00
return: 0
END
2024-03-18 22:32:49 +01:00
TEST "generate hash values" HashGenerator_test <<END
return: 0
END
TEST "verify indexing by hash" HashIndexed_test <<END
2014-10-17 20:02:25 +02:00
return: 0
END
TEST "bridge boost::hash to std::hash" HashStandardToBoostBridge_test <<END
return: 0
END
Invocation: develop a concept for handling parameter data
...as part of the rendering process, executed on top of the
low-level-model (Render Node network) as conceived thus far.
Parameter handling could be ''encoded'' into render nodes altogether,
or, at the other extreme, an explicit parameter handling could be specified
as part of the Render Node execution. As both extremes will lead to some
unfavourable consequences, I am aiming at a middle ground: largely, the
''automation computation'' will be encoded and hidden within the network,
implying that this topic remains to be addressed as part of defining
the Builder semantics and implementation. Yet in part the required
processing structure can be foreseen at an abstract level, and thus
the essential primitive operations are specified explicitly as part
of the Render Node definition. Notably the ''standard Weaving Pattern''
will include a ''parameter tuple'' into each `FeedManifold` and require
a binding function, which accepts this tuple as first argument.
Moreover — at implementation level, a library facility must be provided
to support handling of ''arbitrary heterogeneous data values'' embedded
directly into stack frame memory, together with a type-safe compile-time
overlay, which allows the builder to embed specific ''accessor handles''
into functor bindings, even while the actual storage location is not
yet known at that time (obviously, as being located on the stack).
__Note__: a recurring topic is how to return descriptor objects from builder functions; for this purpose, I am adjusting the semantics of `lib/nocopy.hpp` to be more specific...
2024-12-09 21:55:48 +01:00
PLANNED "Heterogeneous data in local storage" HeteroData_test <<END
return: 0
END
2024-02-14 20:58:57 +01:00
TEST "Instrumentation: concurrent calls" IncidenceCount_test <<END
2024-02-12 17:53:47 +01:00
return: 0
END
2022-09-27 01:51:21 +02:00
TEST "IOS restore format" IosSavepoint_test <<END
out-lit: 0x2a
out-lit: 42
out-lit: ******************42
out-lit: 42
out-lit: 2a
out-lit: 052
out-lit: 2a
out-lit: 42
out-lit: 1234
out-lit: Tilt
out-lit: 42
END
2023-11-25 23:47:20 +01:00
TEST "Lazy init of a functor" LazyInit_test <<END
2023-11-23 23:42:55 +01:00
END
2014-10-17 21:15:59 +02:00
TEST "configurable Factory" MultiFact_test <<END
2014-10-17 20:02:25 +02:00
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 "NIL object singleton" NullValue_test <<END
return: 0
END
TEST "inline type erasure" OpaqueHolder_test <<END
out: 1
out: 3
out: 5
out: 7
2016-01-10 12:25:45 +01:00
out: sizeof\( Base . =.+[12468]{1,2}
out: sizeof\( Special . =.+[12468]{1,2}
out: sizeof\( OpaqueHolder<Base, ........ =.+[12468]{1,2}
2014-10-17 20:02:25 +02:00
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
2017-08-17 12:50:25 +02:00
out: ItemWrapper: sizeof\( wrapper::ItemWrapper<.+ = .
2016-01-28 22:30:24 +01:00
return: 0
2014-10-17 20:02:25 +02:00
END
2017-01-12 23:26:57 +01:00
TEST "inline adapter for state snapshot" ReplaceableItem_test <<END
return: 0
END
2014-10-17 20:02:25 +02:00
TEST "switchable reference" OptionalRef_test <<END
return: 0
END
2017-09-24 22:41:45 +02:00
TEST "path array abstraction" PathArray_test <<END
return: 0
END
2023-11-23 02:42:02 +01:00
TEST "pick limited numbers randomly" RandomDraw_test <<END
2023-11-20 16:38:55 +01:00
return: 0
END
2022-11-18 02:55:28 +01:00
TEST "fractional arithmetics" Rational_test <<END
return: 0
END
2014-10-17 20:02:25 +02:00
TEST "RefArray_test" RefArray_test <<END
return: 0
END
2017-01-12 23:26:57 +01:00
TEST "verify removing values from a set" RemoveFromSet_test <<END
2016-01-08 00:16:14 +01:00
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 ]
2016-01-28 22:30:24 +01:00
return: 0
2014-10-17 20:02:25 +02:00
END
2023-09-27 01:27:53 +02:00
TEST "Either-result-or-failure" Result_test <<END
return: 0
END
2014-10-17 20:02:25 +02:00
TEST "ScopedHolder_test" ScopedHolder_test <<END
out: checking ScopedHolder<Dummy>...
out: checking ScopedPtrHolder<Dummy>...
2016-01-28 22:30:24 +01:00
return: 0
2014-10-17 20:02:25 +02:00
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...
2016-01-28 22:30:24 +01:00
return: 0
2014-10-17 20:02:25 +02:00
END
TEST "Managed Collection (I)" ScopedCollection_test <<END
return: 0
END
TEST "Managed Collection (II)" ScopedPtrVect_test <<END
return: 0
END
2024-11-20 05:50:44 +01:00
TEST "Several elements" SeveralBuilder_test <<END
2024-05-12 19:05:50 +02:00
return: 0
END
2014-10-17 20:02:25 +02:00
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
2016-01-28 22:30:24 +01:00
return: 0
2014-10-17 20:02:25 +02:00
END
2023-05-04 15:59:17 +02:00
TEST "Split/Splice segmentation" SplitSplice_test <<END
2023-05-04 00:48:29 +02:00
return: 0
END
2014-10-17 20:02:25 +02:00
TEST "Symbol_test" Symbol_test <<END
out: one
2016-01-10 12:25:45 +01:00
out: sizeof. Literal.+ = (4|8)
2017-04-07 20:06:19 +02:00
out-lit: onenight
out-lit: minus one
2016-01-10 12:25:45 +01:00
out-lit: one....one
2014-10-17 20:02:25 +02:00
return: 0
END
TEST "Hashtable with Symbol keys" SymbolHashtable_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
2018-10-03 04:43:16 +02:00
TEST "ownership of malloced data" UniqueMallocOwner_test <<END
return: 0
END
2024-11-14 22:10:43 +01:00
TEST "collection utils" UtilCollection_test <<END
return: 0
END
TEST "util: integer rounding" UtilFloordiv_test <<END
2014-10-17 20:02:25 +02:00
return: 0
END
2024-11-14 22:10:43 +01:00
TEST "util: integer scale wrapping" UtilFloorwrap_test <<END
2016-01-10 12:25:45 +01:00
out-lit: --------int--------12/4
2014-10-17 20:02:25 +02:00
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)
2016-01-10 12:25:45 +01:00
out-lit: --------int--------12/-4
2014-10-17 20:02:25 +02:00
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)
2016-01-10 12:25:45 +01:00
out-lit: --------long--------12/4
2014-10-17 20:02:25 +02:00
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)
2016-01-10 12:25:45 +01:00
out-lit: --------long--------12/-4
2014-10-17 20:02:25 +02:00
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
2024-11-14 22:10:43 +01:00
TEST "util: address identity" UtilIdentity_test <<END
2014-11-16 04:26:12 +01:00
return: 0
END
2018-10-03 04:43:16 +02:00
TEST "util: parse text to bool" UtilParseBool_test <<END
return: 0
END
TEST "util: sanitised identifier" UtilSanitizedIdentifier_test <<END
2014-10-17 20:02:25 +02:00
return: 0
END
2024-03-28 01:12:55 +01:00
TEST "text template substitution" TextTemplate_test <<END
2024-03-18 22:32:49 +01:00
return: 0
END
2023-05-10 13:50:19 +02:00
TEST "tuple sequence utils" UtilTuple_test <<END
return: 0
END
2015-04-19 03:18:24 +02:00
TEST "typesafe Variant record" Variant_test <<END
2016-01-10 12:25:45 +01:00
out: Variant.«bool».false
2015-08-23 02:00:33 +02:00
out: Variant.«int».11
2016-01-10 12:25:45 +01:00
out: Variant.«string».lololo
out: Variant.«Time».0:00:00.000
2015-04-19 03:18:24 +02:00
return: 0
END
2014-11-16 04:26:12 +01:00
TEST "verb token based double dispatch helper" VerbFunctionDispatch_test <<END
2014-11-24 05:11:03 +01:00
out-lit: consuming woof -> 'Woof-Woof!'
out-lit: consuming honk -> 'Honk-Honk!'
out-lit: consuming moo -> 'Moo-Moo!'
out-lit: consuming meh -> 'Meh!'
2014-11-16 04:26:12 +01:00
return: 0
END
2019-05-11 18:08:00 +02:00
TEST "verb token with embedded arguments" VerbVisitorDispatch_test <<END
out-lit: dispatching VerbPack(woof) -> 'haw-hawhaw-hawhaw-hawhaw-haw'
out-lit: dispatching VerbPack(honk) -> 'quaack-quaack!'
out-lit: dispatching VerbPack(honk) -> 'Hoonk-Hoonk!'
out-lit: dispatching VerbPack(woof) -> 'Woof..Woof..'
out-lit: dispatching VerbPack(moo) -> 'Moo__Moo__Moo'
out-lit: dispatching VerbPack(meh) -> 'Meh?'
return: 0
END
2014-10-17 20:02:25 +02:00
TEST "VectorTransfer_test" VectorTransfer_test <<END
return: 0
END