LUMIERA.clone/tests/45controller.tests
Ichthyostega 876c1dd1fd Commands: change implementation frame to include the command-ID
while the initial design treated the commands in a strictly top-down manner,
where the ID is known solely to the CommandRegistry, this change and information
duplication became necessary now, since by default we now always enqueue and
dispatch anonymous clone copies from the original command definition (prototype).

This implementation uses the trick to tag this command-ID when a command-hanlde
is activated, which is also the moment when it is tracked in the registry.
2017-04-17 03:09:12 +02:00

142 lines
4.1 KiB
Text

TESTING "Component Test Suite: Proc-Layer controller" ./test-suite --group=controller
TEST "Command Basics" CommandBasic_test <<END
return: 0
END
TEST "Argument & Memento handling" CommandArgument_test <<END
out: Command-State. arguments=unbound, ·noUNDO·.
out: capture state...
out: Command-State. arguments=OpClosure\(\), ·noUNDO·.
out: Command-State. arguments=OpClosure\(.\), ·noUNDO·.
out: Command-State. arguments=OpClosure\(.,.+s.*\), ·noUNDO·.
out: Command-State. arguments=OpClosure\(.+s.*,glorious,..\), <mem: destruction>.
out: would be serialised.....Command-State. arguments=OpClosure\(\), ·noUNDO·.
out: would be serialised.....Command-State. arguments=OpClosure\(.\), ·noUNDO·.
out: would be serialised.....Command-State. arguments=OpClosure\(.,.+s.*\), ·noUNDO·.
out: would be serialised.....Command-State. arguments=OpClosure\(.+s.*,glorious,..\), <mem: destruction>.
out: sizeof\( control::StorageHolder<void \(Tracker<TimeVar>, Tracker<string>, int\), Tracker<string> > \) = [0-9]{2,3}
out: Command-State. arguments=OpClosure\(.+s.*,Lumiera rocks,..\), ·noUNDO·.
out: capture state...
out: captured state: START...Lumiera rocks
out: Command-State. arguments=OpClosure\(.+s.*,Lumiera rocks,..\), <mem: START...Lumiera rocks>.
out: invoke operation...
out: START...doIt\( Time=.+s.* "Lumiera rocks" rand=.. \)
out: undo... memento=START...Lumiera rocks
out: START...doIt\( Time=.+s.* "Lumiera rocks" rand=.. \)undoIt\(time=.+s\)----memento-:START...Lumiera rocks
out: capture state...
out: modified: Command-State. arguments=OpClosure\(123ms,unbelievable,..\), <mem: START...doIt\( Time=.+s.* "Lumiera rocks" rand=.. \)undoIt\(time=.+s\)----memento-:START...Lumiera rocksLumiera rocks>.
out: copied : Command-State. arguments=OpClosure\(.+s.*,Lumiera rocks,..\), <mem: START...Lumiera rocks>.
out: undo... memento=START...doIt\( Time=.+s.* "Lumiera rocks" rand=.. \)undoIt\(time=.+s\)----memento-:START...Lumiera rocksLumiera rocks
out: RESET...undoIt\(time=.+s\)----memento-:START...doIt\( Time=.+s.* "Lumiera rocks" rand=.. \)undoIt\(time=.+s\)----memento-:START...Lumiera rocksLumiera rocks
return: 0
END
TEST "build argument accepting function" ArgumentTupleAccept_test <<END
out: sizeof\( TestClass<void \(\)> \) = 1
out: sizeof\( TestClass<int \(TimeVar, int\)> \) = (12|16)
out: .+s
return: 0
END
TEST "argument binding from GenNode message" CommandMessageBinding_test <<END
return: 0
END
TEST "Command functor and UNDO functor" CommandMutation_test <<END
out-lit: empty placeholder closure: Command-Closure{ arguments=unbound }
out-lit: param values: Command-Closure{ arguments=OpClosure(23) }
out-lit: saved state: 11
return: 0
END
TEST "Memento wiring and storage" MementoTie_test <<END
return: 0
END
TEST "Opaque cloning of implementation" CommandCloneBuilder_test <<END
return: 0
END
TEST "Equality comparisons" CommandEquality_test <<END
return: 0
END
TEST "Command index and allocation" CommandRegistry_test <<END
return: 0
END
TEST "Handling Pattern basics" HandlingPatternBasics_test <<END
return: 0
END
PLANNED "Handling Patterns" HandlingPatternStandardImpl_test <<END
return: 0
END
TEST "Command argument binding" CommandBinding_test <<END
out-lit: Command("test.command3.2") {exec}
return: 0
END
TEST "Command usage aspects I" CommandUse1_test <<END
out-lit: Command("test.command1.1") {undo}
out-lit: Command("test.command1.2") {def}
out-lit: Command("test.command1.3") {undo}
out-lit: Command("test.command1.4") {def}
out-lit: Command("↯") NIL
out-lit: Command("test.command1.5") {def}
out-lit: Command("test.command1.5") {exec}
out-lit: Command("test.command1.5") {undo}
return: 0
END
TEST "Command usage aspects II" CommandUse2_test <<END
return: 0
END
PLANNED "Command usage aspects III" CommandUse3_test <<END
return: 0
END
TEST "Command setup helper" CommandSetup_test <<END
return: 0
END
PLANNED "Command instance management" CommandInstanceManager_test <<END
return: 0
END
TEST "Dispatcher loop control logic" DispatcherLooper_test <<END
return: 0
END
TEST "Dispatcher command queue" CommandQueue_test <<END
return: 0
END
TEST "Dispatcher function test" SessionCommandFunction_test <<END
return: 0
END