LUMIERA.clone/tests/15library.tests

502 lines
15 KiB
Text
Raw Normal View History

TESTING "Library Test Suite: basic and low-level components" ./test-suite --group=common
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 "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 "Diff: apply list diff to target sequence" DiffListApplication_test <<END
return: 0
END
TEST "Diff: compare sequences to generate list diff" DiffListGeneration_test <<END
return: 0
END
TEST "Diff: lookup table helper" DiffIndexTable_test <<END
return: 0
END
TEST "A Digxel (numeric component)" Digxel_test <<END
out-lit: empty____## +0.0 ##
out-lit: value____##-88.8 ##
out: timings\(\w+\)....*ns
return: 0
END
TEST "Digxel standard configurations" DigxelConfigurations_test <<END
out: .+Digxel.+Formatter.+--empty-- 0--\(val=123\)--123\|
out: .+Digxel.+Formatter.+--empty--00.000--\(val=123.457\)--123.457
out: .+Digxel.+SexaFormatter.+--empty--00--\(val=42\)--42
out: .+Digxel.+SexaFormatter.+--empty--00--\(val=-5\)---5
out: .+Digxel.+HexaFormatter.+--empty--00--\(val=12\)--0C
out: .+Digxel.+HexaFormatter.+--empty--00--\(val=111\)--6F
out: .+Digxel.+CountFormatter.+--empty--0000--\(val=-1234567890\)---1234567890
return: 0
END
TEST "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
PLANNED "GenNodeBasic_test" GenNodeBasic_test <<END
return: 0
END
PLANNED "GenericRecordRepresentation_test" GenericRecordRepresentation_test <<END
return: 0
END
PLANNED "GenericTreeRepresentation_test" GenericTreeRepresentation_test <<END
return: 0
END
PLANNED "GenericTreeMutator_test" GenericTreeMutator_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 "configurable Factory" MultiFact_test <<END
END
TEST "Family of Singleton Factories" MultiFactSingleton_test <<END
out: Impl-1
out: Impl-2
out: Impl-3
out: Impl-4
out: sizeof\( .+MultiFact.+Interface.+theID.+PassAsIs.+ \) =
return: 0
END
TEST "Factory argument handling" MultiFactArgument_test <<END
out: sizeof\( .+MultiFact.+Num.+prodID.+BuildRefcountPtr.+ \) =
out: fabricate\(1, 2\)
out: fabricate\(2, 3\)
return: 0
END
TEST "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 "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
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 "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 "ownership of malloced data" UniqueMallocOwner_test <<END
return: 0
END
TEST "collection utils" UtilCollection_test <<END
return: 0
END
TEST "verb token based double dispatch helper" VerbFunctionDispatch_test <<END
out-lit: consuming woof -> 'Woof-Woof!'
out-lit: consuming honk -> 'Honk-Honk!'
out-lit: consuming moo -> 'Moo-Moo!'
out-lit: consuming meh -> 'Meh!'
return: 0
END
TEST "VectorTransfer_test" VectorTransfer_test <<END
return: 0
END