Invocation: cover definition of a »Test-Rand« filter-node
The scheme to provide preconfigured nodes with random `TestFrame` data seems to be suitable and easy to extend to further cases; should however always document the setup through a dedicated case in `NodeDevel_test`
This commit is contained in:
parent
b9b80ce923
commit
5121bce156
2 changed files with 144 additions and 8 deletions
|
|
@ -333,6 +333,20 @@ namespace test {
|
|||
buffHandle.release();
|
||||
}
|
||||
|
||||
/** shortcut to simplify the following test cases */
|
||||
static ProcNode
|
||||
makeSrcNode (ont::FraNo frameNr, ont::Flavr flavour)
|
||||
{
|
||||
auto spec = testRand().setupGenerator();
|
||||
return prepareNode(spec.nodeID())
|
||||
.preparePort()
|
||||
.invoke(spec.procID(), spec.makeFun())
|
||||
.setParam(frameNr,flavour)
|
||||
.completePort()
|
||||
.build();
|
||||
}
|
||||
|
||||
|
||||
|
||||
/** @test use the »TestRand«-framework to setup a filter node
|
||||
*
|
||||
|
|
@ -349,6 +363,42 @@ namespace test {
|
|||
CHECK (showType<Sig>() == "void (ulong, engine::test::TestFrame const*, engine::test::TestFrame*)"_expect);
|
||||
|
||||
// Results can be verified by ont::manipulateFrame() — see above
|
||||
size_t frameNr = defaultGen.u64();
|
||||
uint flavour = defaultGen.u64();
|
||||
uint64_t param = defaultGen.u64();
|
||||
|
||||
Buffer buff;
|
||||
buff.buildData(frameNr,flavour);
|
||||
CHECK (buff->isPristine());
|
||||
|
||||
// Invoke the processing-functor directly
|
||||
procFun (param, buff,buff);
|
||||
CHECK ( buff->isValid());
|
||||
CHECK (not buff->isPristine());
|
||||
HashVal checksum = buff->markChecksum();
|
||||
|
||||
// reproduce the same checksum...
|
||||
buff.buildData(frameNr,flavour);
|
||||
CHECK (buff->isPristine());
|
||||
CHECK (checksum != buff->markChecksum());
|
||||
ont::manipulateFrame (buff, buff, param);
|
||||
CHECK (checksum == buff->markChecksum());
|
||||
|
||||
// Build a node using this processing-functor...
|
||||
ProcNode nSrc = makeSrcNode (frameNr,flavour);
|
||||
ProcNode nFilt{prepareNode(spec.nodeID())
|
||||
.preparePort()
|
||||
.invoke(spec.procID(), procFun)
|
||||
.setParam(param)
|
||||
.connectLead(nSrc)
|
||||
.completePort()
|
||||
.build()};
|
||||
|
||||
CHECK (watch(nSrc).isSrc());
|
||||
CHECK (not watch(nFilt).isSrc());
|
||||
SHOW_EXPR(watch(nSrc).getNodeSpec() );
|
||||
SHOW_EXPR(watch(nFilt).getNodeSpec() );
|
||||
SHOW_EXPR(watch(nFilt).getPortSpec(0) );
|
||||
}
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -92243,7 +92243,7 @@ Date:   Thu Apr 20 18:53:17 2023 +0200<br/>
|
|||
</node>
|
||||
<node BACKGROUND_COLOR="#eef0c5" COLOR="#990000" CREATED="1739116464928" ID="ID_770787154" MODIFIED="1739116830133" TEXT="Test-Nodes für typische Verarbeitungsschrite">
|
||||
<arrowlink COLOR="#476dba" DESTINATION="ID_596205632" ENDARROW="Default" ENDINCLINATION="168;0;" ID="Arrow_ID_265273895" STARTARROW="None" STARTINCLINATION="-640;0;"/>
|
||||
<arrowlink COLOR="#aa1b54" DESTINATION="ID_551457644" ENDARROW="Default" ENDINCLINATION="799;-53;" ID="Arrow_ID_1372658878" STARTARROW="None" STARTINCLINATION="225;13;"/>
|
||||
<arrowlink COLOR="#aa1b54" DESTINATION="ID_551457644" ENDARROW="Default" ENDINCLINATION="799;-53;" ID="Arrow_ID_1372658878" STARTARROW="None" STARTINCLINATION="374;22;"/>
|
||||
<icon BUILTIN="pencil"/>
|
||||
</node>
|
||||
</node>
|
||||
|
|
@ -92252,10 +92252,10 @@ Date:   Thu Apr 20 18:53:17 2023 +0200<br/>
|
|||
</node>
|
||||
</node>
|
||||
</node>
|
||||
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1739116383263" ID="ID_596205632" MODIFIED="1739116698687" TEXT="Test-Node-Setups dokumentieren">
|
||||
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1739116383263" ID="ID_596205632" MODIFIED="1739137027197" TEXT="Test-Node-Setups dokumentieren">
|
||||
<linktarget COLOR="#476dba" DESTINATION="ID_596205632" ENDARROW="Default" ENDINCLINATION="168;0;" ID="Arrow_ID_265273895" SOURCE="ID_770787154" STARTARROW="None" STARTINCLINATION="-640;0;"/>
|
||||
<linktarget COLOR="#2c80c0" DESTINATION="ID_596205632" ENDARROW="Default" ENDINCLINATION="139;11;" ID="Arrow_ID_723151145" SOURCE="ID_656518843" STARTARROW="None" STARTINCLINATION="-985;-614;"/>
|
||||
<linktarget COLOR="#2c80c0" DESTINATION="ID_596205632" ENDARROW="Default" ENDINCLINATION="139;11;" ID="Arrow_ID_1998396288" SOURCE="ID_495521485" STARTARROW="None" STARTINCLINATION="-765;-533;"/>
|
||||
<linktarget COLOR="#2c80c0" DESTINATION="ID_596205632" ENDARROW="Default" ENDINCLINATION="1567;83;" ID="Arrow_ID_1998396288" SOURCE="ID_495521485" STARTARROW="None" STARTINCLINATION="-765;-533;"/>
|
||||
<linktarget COLOR="#2c80c0" DESTINATION="ID_596205632" ENDARROW="Default" ENDINCLINATION="1749;97;" ID="Arrow_ID_723151145" SOURCE="ID_656518843" STARTARROW="None" STARTINCLINATION="-985;-614;"/>
|
||||
<icon BUILTIN="flag-yellow"/>
|
||||
</node>
|
||||
</node>
|
||||
|
|
@ -104225,8 +104225,8 @@ StM_bind(Builder<R1> b1, Extension<R1,R2> extension)
|
|||
<icon BUILTIN="flag-yellow"/>
|
||||
</node>
|
||||
<node BACKGROUND_COLOR="#eef0c5" COLOR="#990000" CREATED="1732850184292" ID="ID_1540586352" MODIFIED="1739117411808" TEXT="Spec-Record aufbauen">
|
||||
<linktarget COLOR="#4d6e8c" DESTINATION="ID_1540586352" ENDARROW="Default" ENDINCLINATION="155;-1061;" ID="Arrow_ID_90130139" SOURCE="ID_1479776612" STARTARROW="None" STARTINCLINATION="452;98;"/>
|
||||
<linktarget COLOR="#7d4bba" DESTINATION="ID_1540586352" ENDARROW="Default" ENDINCLINATION="848;-1866;" ID="Arrow_ID_483514515" SOURCE="ID_1799637117" STARTARROW="None" STARTINCLINATION="1141;70;"/>
|
||||
<linktarget COLOR="#4d6e8c" DESTINATION="ID_1540586352" ENDARROW="Default" ENDINCLINATION="155;-1061;" ID="Arrow_ID_90130139" SOURCE="ID_1479776612" STARTARROW="None" STARTINCLINATION="452;98;"/>
|
||||
<icon BUILTIN="pencil"/>
|
||||
<node BACKGROUND_COLOR="#f0d5c5" COLOR="#990033" CREATED="1733004042912" ID="ID_1096486793" MODIFIED="1733080479928" TEXT="das hier ist zugleich Platzhalter und Keimzelle">
|
||||
<arrowlink COLOR="#b91c52" DESTINATION="ID_845660931" ENDARROW="Default" ENDINCLINATION="572;31;" ID="Arrow_ID_1879161582" STARTARROW="Default" STARTINCLINATION="268;992;"/>
|
||||
|
|
@ -104326,6 +104326,92 @@ StM_bind(Builder<R1> b1, Extension<R1,R2> extension)
|
|||
</node>
|
||||
</node>
|
||||
</node>
|
||||
<node BACKGROUND_COLOR="#f0d5c5" COLOR="#990033" CREATED="1739137093444" ID="ID_193888110" MODIFIED="1739138230995" TEXT="Integration mit NodeBuilder ermöglichen">
|
||||
<icon BUILTIN="help"/>
|
||||
<node CREATED="1739137106908" ID="ID_1390835704" MODIFIED="1739138922196" TEXT="fragt sich bloß: wie — der ist generisch">
|
||||
<richcontent TYPE="NOTE"><html>
|
||||
<head>
|
||||
|
||||
</head>
|
||||
<body>
|
||||
<p>
|
||||
...denn in der Policy steckt die Vorgschichte des jeweiligen Build-Vorgangs — und auch der Allokator!
|
||||
</p>
|
||||
</body>
|
||||
</html>
|
||||
</richcontent>
|
||||
</node>
|
||||
<node CREATED="1739138056436" ID="ID_297538159" MODIFIED="1739138152372" TEXT="und es ist kein point-and-shot">
|
||||
<richcontent TYPE="NOTE"><html>
|
||||
<head>
|
||||
|
||||
</head>
|
||||
<body>
|
||||
<p>
|
||||
die DomainOntology muß jeweils nur einige Aspekte beitragen
|
||||
</p>
|
||||
<ul>
|
||||
<li>
|
||||
der Node-Name
|
||||
</li>
|
||||
<li>
|
||||
Funktion und Spec für einen Port
|
||||
</li>
|
||||
</ul>
|
||||
<p>
|
||||
...dagegen andere Aspekte müssen frei bleiben
|
||||
</p>
|
||||
<ul>
|
||||
<li>
|
||||
Verdrahtung der Vorgänger-Nodes für diesen Port
|
||||
</li>
|
||||
<li>
|
||||
ggs andere Ports
|
||||
</li>
|
||||
</ul>
|
||||
</body>
|
||||
</html>
|
||||
</richcontent>
|
||||
</node>
|
||||
<node CREATED="1739138924536" ID="ID_546266242" MODIFIED="1739138928356" TEXT="Ansätze">
|
||||
<node CREATED="1739138930667" ID="ID_195321683" MODIFIED="1739139000291" TEXT="für einfache Fälle doch ein point-and-shot">
|
||||
<richcontent TYPE="NOTE"><html>
|
||||
<head>
|
||||
|
||||
</head>
|
||||
<body>
|
||||
<p>
|
||||
...vor allem für Src-Nodes könnte die TestRand-Ontology gleich eine fertige ProcNode liefern....
|
||||
</p>
|
||||
<p>
|
||||
Problem damit
|
||||
</p>
|
||||
<ul>
|
||||
<li>
|
||||
dann muß TestRand etwas über ProcNode wissen
|
||||
</li>
|
||||
</ul>
|
||||
</body>
|
||||
</html>
|
||||
</richcontent>
|
||||
<node CREATED="1739140280801" ID="ID_1585591460" MODIFIED="1739140297955" TEXT="vielleicht sogar nur hier für diesen Tescht"/>
|
||||
</node>
|
||||
<node CREATED="1739139021078" ID="ID_1083234628" MODIFIED="1739139075629" TEXT="der Spec-Builder hat generische Funktion, die auf einen NodeBuilder losgeht"/>
|
||||
<node CREATED="1739139083579" ID="ID_1865338853" MODIFIED="1739139122322" TEXT="der Node-Builder hat generische Funktion, die visitor-mäßig einen »configurator« akzeptiert"/>
|
||||
<node CREATED="1739139147065" ID="ID_1683401888" MODIFIED="1739139180912" TEXT="oder gar nicht und auf später vertagen...">
|
||||
<richcontent TYPE="NOTE"><html>
|
||||
<head>
|
||||
|
||||
</head>
|
||||
<body>
|
||||
<p>
|
||||
wie viele Fälle sind das jetzt tatsächlich
|
||||
</p>
|
||||
</body>
|
||||
</html></richcontent>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
<node BACKGROUND_COLOR="#eef0c5" COLOR="#990000" CREATED="1728785502988" ID="ID_1772786102" MODIFIED="1739116146953" TEXT="Prototyping-2">
|
||||
|
|
@ -105023,8 +105109,8 @@ StM_bind(Builder<R1> b1, Extension<R1,R2> extension)
|
|||
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1739116807329" ID="ID_9254864" MODIFIED="1739116818614" TEXT="zusätzliche Test-Node-Builder anlegen">
|
||||
<icon BUILTIN="flag-yellow"/>
|
||||
</node>
|
||||
<node BACKGROUND_COLOR="#eef0c5" COLOR="#990000" CREATED="1739116482304" ID="ID_551457644" MODIFIED="1739116830133" TEXT="Test-Nodes für typische Berechnungen aufbauen">
|
||||
<linktarget COLOR="#aa1b54" DESTINATION="ID_551457644" ENDARROW="Default" ENDINCLINATION="799;-53;" ID="Arrow_ID_1372658878" SOURCE="ID_770787154" STARTARROW="None" STARTINCLINATION="225;13;"/>
|
||||
<node BACKGROUND_COLOR="#eef0c5" COLOR="#990000" CREATED="1739116482304" ID="ID_551457644" MODIFIED="1739137044074" TEXT="Test-Nodes für typische Berechnungen aufbauen">
|
||||
<linktarget COLOR="#aa1b54" DESTINATION="ID_551457644" ENDARROW="Default" ENDINCLINATION="799;-53;" ID="Arrow_ID_1372658878" SOURCE="ID_770787154" STARTARROW="None" STARTINCLINATION="374;22;"/>
|
||||
<icon BUILTIN="pencil"/>
|
||||
<node COLOR="#338800" CREATED="1739118437462" ID="ID_548813842" MODIFIED="1739118441696" TEXT="Quelle">
|
||||
<icon BUILTIN="button_ok"/>
|
||||
|
|
@ -107516,7 +107602,7 @@ StM_bind(Builder<R1> b1, Extension<R1,R2> extension)
|
|||
<arrowlink COLOR="#ca2962" DESTINATION="ID_147760472" ENDARROW="Default" ENDINCLINATION="439;656;" ID="Arrow_ID_1735261452" STARTARROW="None" STARTINCLINATION="515;36;"/>
|
||||
<icon BUILTIN="pencil"/>
|
||||
<node BACKGROUND_COLOR="#eef0c5" COLOR="#990000" CREATED="1739116294867" HGAP="59" ID="ID_656518843" MODIFIED="1739116698687" TEXT="Node-Setup im NodeDevel_test dokumentieren" VSHIFT="16">
|
||||
<arrowlink COLOR="#2c80c0" DESTINATION="ID_596205632" ENDARROW="Default" ENDINCLINATION="139;11;" ID="Arrow_ID_723151145" STARTARROW="None" STARTINCLINATION="-985;-614;"/>
|
||||
<arrowlink COLOR="#2c80c0" DESTINATION="ID_596205632" ENDARROW="Default" ENDINCLINATION="1749;97;" ID="Arrow_ID_723151145" STARTARROW="None" STARTINCLINATION="-985;-614;"/>
|
||||
<icon BUILTIN="pencil"/>
|
||||
</node>
|
||||
</node>
|
||||
|
|
|
|||
Loading…
Reference in a new issue