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
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|
out-lit: Digxel<unsigned int, digxel::HexaFormatter>--empty--00--(val=12)--0C|
out-lit: Digxel<unsigned int, digxel::HexaFormatter>--empty--00--(val=111)--6F|
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
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 ......
out-lit: is_StringLike<StrConstRef> : No
out-lit: BasicallyString<StrConstRef> : No
out-lit: BasicallyCString<StrConstRef> : No
out-lit: std::is_arithmetic<StrConstRef> : No
out-lit: can_lexical2string<StrConstRef> : No
out-lit: can_convertToString<StrConstRef> : Yes
out-lit: use_StringConversion4Stream<StrConstRef> : Yes
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
2014-10-17 20:02:25 +02:00
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
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
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
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
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
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
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
2014-10-17 20:02:25 +02:00
TEST "integer rounding utility" UtilFloordiv_test <<END
return: 0
END
TEST "integer scale wrapping utility" 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
2018-10-03 04:43:16 +02:00
TEST "collection utils" UtilCollection_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
out-lit: 'Word' --> 'Word'
out-lit: 'a Sentence' --> 'a_Sentence'
out-lit: 'trailing Withespace
2018-10-08 05:00:06 +02:00
out-lit: ' --> 'trailing_Withespace'
out-lit: 'with a lot
2018-10-03 04:43:16 +02:00
out-lit: of Whitespace' --> 'with_a_lot_of_Whitespace'
2018-10-12 23:45:49 +02:00
out-lit: '@with".'much (\$punctuation)[]!' --> '@with.much_(\$punctuation)'
2018-10-03 04:43:16 +02:00
out-lit: '§&Ω%€ leading garbage' --> 'leading_garbage'
out-lit: 'mixed Ω garbage' --> 'mixed_garbage'
out-lit: 'Bääääh!!' --> 'Bh'
out-lit: '§&Ω%€' --> ''
2014-10-17 20:02:25 +02:00
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