LocationSolver: simple unit test PASS

This commit is contained in:
Fischlurch 2018-02-10 00:34:24 +01:00
parent a1ee7574ef
commit 6d0e8a35a6
2 changed files with 57 additions and 42 deletions

View file

@ -116,8 +116,8 @@ namespace test {
CHECK (isnil (solver.solve (rule, UIC_VIEW, "worldview")));
// add second location clause to the rule
// (meaning: accept any suitable location within the first window)
rule.append(UICoord::firstWindow());
// (meaning: accept any path leading down to an "exclusivePanel")
rule.append(UICoord().panel("exclusivePanel"));
// and now we get a solution, since the second rule can be wildcard-matched
UICoord location = solver.solve (rule, UIC_VIEW, "worldview");
@ -130,8 +130,9 @@ namespace test {
// To verify this, we attach a coordinate resolver (likewise backed by our dummy UI)
UICoordResolver resolver{location, locationQuery};
CHECK (resolver.isCoveredPartially());
CHECK (UIC_PANEL == resolver.coverDepth());
}
CHECK (not resolver.isCoveredTotally());
CHECK (UIC_VIEW == resolver.coverDepth()); // covered up to VIEW level
} // (the view itself is not covered)

View file

@ -8402,7 +8402,7 @@
</node>
</node>
</node>
<node COLOR="#338800" CREATED="1510941748388" HGAP="38" ID="ID_209463158" MODIFIED="1517508865279" TEXT="Zustands-Layer" VSHIFT="1">
<node COLOR="#338800" CREATED="1510941748388" FOLDED="true" HGAP="38" ID="ID_209463158" MODIFIED="1518219054532" TEXT="Zustands-Layer" VSHIFT="1">
<icon BUILTIN="button_ok"/>
<node COLOR="#338800" CREATED="1514333524247" ID="ID_1136271037" MODIFIED="1514908803527" TEXT="Zustand umfa&#xdf;t...">
<icon BUILTIN="info"/>
@ -8883,7 +8883,21 @@
<node CREATED="1514329465117" ID="ID_1304144230" MODIFIED="1515120860646" TEXT="trailing Wildcards scheitern">
<icon BUILTIN="button_cancel"/>
<node CREATED="1515120863655" ID="ID_1222552441" MODIFIED="1515120873442" TEXT="werden stets schon vom Konstrukor bereinigt"/>
<node COLOR="#338800" CREATED="1515120874318" ID="ID_282902710" MODIFIED="1515120893868" TEXT="kann jedoch demonstrieren, da&#xdf; der Algorithmus solche L&#xf6;sungen verwirft">
<node COLOR="#338800" CREATED="1515120874318" ID="ID_282902710" MODIFIED="1518219117769">
<richcontent TYPE="NODE"><html>
<head>
</head>
<body>
<p>
kann jedoch demonstrieren,
</p>
<p>
da&#223; der Algorithmus solche L&#246;sungen verwirft
</p>
</body>
</html>
</richcontent>
<icon BUILTIN="button_ok"/>
</node>
</node>
@ -8989,7 +9003,7 @@
</node>
</node>
</node>
<node COLOR="#338800" CREATED="1518052051947" ID="ID_1272905286" MODIFIED="1518143016697" TEXT="coverPartially">
<node COLOR="#338800" CREATED="1518052051947" FOLDED="true" ID="ID_1272905286" MODIFIED="1518219040054" TEXT="coverPartially">
<linktarget COLOR="#50546a" DESTINATION="ID_1272905286" ENDARROW="Default" ENDINCLINATION="394;1164;" ID="Arrow_ID_396720500" SOURCE="ID_1447232325" STARTARROW="None" STARTINCLINATION="1558;-33;"/>
<icon BUILTIN="button_ok"/>
<node COLOR="#338800" CREATED="1518052100828" ID="ID_1400256094" MODIFIED="1518143014344" TEXT="funktioniert analog zu cover()">
@ -9910,14 +9924,14 @@
</node>
</node>
</node>
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1517505346701" ID="ID_1733459677" MODIFIED="1517505382894" TEXT="LocationSolver einf&#xfc;hren">
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1517505346701" ID="ID_1733459677" MODIFIED="1518219028843" TEXT="LocationSolver einf&#xfc;hren">
<linktarget COLOR="#7999a3" DESTINATION="ID_1733459677" ENDARROW="Default" ENDINCLINATION="460;0;" ID="Arrow_ID_1447990036" SOURCE="ID_570287604" STARTARROW="None" STARTINCLINATION="-15;211;"/>
<icon BUILTIN="flag-yellow"/>
<icon BUILTIN="pencil"/>
<node CREATED="1517505662323" ID="ID_1295083929" MODIFIED="1517505692496" TEXT="baut auf LocationQuery auf">
<icon BUILTIN="idea"/>
</node>
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1517505700422" ID="ID_387055301" MODIFIED="1517507668288" TEXT="erweiterte solve()-Methode">
<icon BUILTIN="flag-yellow"/>
<node COLOR="#338800" CREATED="1517505700422" ID="ID_387055301" MODIFIED="1518219022672" TEXT="erweiterte solve()-Methode">
<icon BUILTIN="button_ok"/>
</node>
<node COLOR="#338800" CREATED="1517505717508" ID="ID_636863312" MODIFIED="1518055340567" TEXT="Framework f&#xfc;r mehrere Klauseln">
<icon BUILTIN="button_ok"/>
@ -9937,36 +9951,36 @@
</node>
</node>
</node>
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1517505737977" ID="ID_606655578" MODIFIED="1517508436161" TEXT="L&#xf6;sungsmechanismus">
<node COLOR="#338800" CREATED="1517505737977" ID="ID_606655578" MODIFIED="1518219011140" TEXT="L&#xf6;sungsmechanismus">
<arrowlink COLOR="#8b9e9d" DESTINATION="ID_1945600026" ENDARROW="None" ENDINCLINATION="341;-39;" ID="Arrow_ID_360373706" STARTARROW="Default" STARTINCLINATION="-302;83;"/>
<linktarget COLOR="#8b9e9d" DESTINATION="ID_606655578" ENDARROW="Default" ENDINCLINATION="-152;43;" ID="Arrow_ID_1433975114" SOURCE="ID_783849930" STARTARROW="None" STARTINCLINATION="213;-13;"/>
<icon BUILTIN="flag-yellow"/>
<icon BUILTIN="button_ok"/>
<node COLOR="#338800" CREATED="1517507636416" ID="ID_1159293904" MODIFIED="1518055040529" TEXT="f&#xfc;r jede Klausel...">
<icon BUILTIN="button_ok"/>
</node>
<node COLOR="#338800" CREATED="1517506994783" ID="ID_1943710017" MODIFIED="1518055043943" TEXT="baut jeweils UICorrdResolver">
<icon BUILTIN="button_ok"/>
</node>
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1517507036433" ID="ID_921121750" MODIFIED="1517507092163" TEXT="zieht die Antwort bei ersem Erfolg">
<icon BUILTIN="flag-yellow"/>
<node COLOR="#338800" CREATED="1517507036433" ID="ID_921121750" MODIFIED="1518219006168" TEXT="zieht die Antwort bei ersem Erfolg">
<icon BUILTIN="button_ok"/>
</node>
<node COLOR="#338800" CREATED="1518051766018" ID="ID_1447232325" MODIFIED="1518143325159" TEXT="brauche neue Resolver-Primitive">
<arrowlink COLOR="#50546a" DESTINATION="ID_1272905286" ENDARROW="Default" ENDINCLINATION="394;1164;" ID="Arrow_ID_396720500" STARTARROW="None" STARTINCLINATION="1558;-33;"/>
<icon BUILTIN="button_ok"/>
</node>
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1518055049276" ID="ID_1963190796" MODIFIED="1518055056879" TEXT="Fallunterscheidung">
<icon BUILTIN="flag-yellow"/>
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1518055059890" ID="ID_1240967474" MODIFIED="1518214982472" TEXT="Standard: totale Coverage!">
<icon BUILTIN="flag-yellow"/>
<node COLOR="#338800" CREATED="1518055049276" ID="ID_1963190796" MODIFIED="1518218983091" TEXT="Fallunterscheidung">
<icon BUILTIN="button_ok"/>
<node COLOR="#338800" CREATED="1518055059890" ID="ID_1240967474" MODIFIED="1518219003200" TEXT="Standard: totale Coverage!">
<icon BUILTIN="button_ok"/>
<node CREATED="1518055394000" ID="ID_1230502265" MODIFIED="1518215014491" TEXT="alles bis auf Komponente selber mu&#xdf; best&#xe4;tigt sein">
<icon BUILTIN="info"/>
</node>
<node CREATED="1518215016983" ID="ID_643091836" MODIFIED="1518215031985" TEXT="ggfs anzuh&#xe4;ngende KOmponente nicht Teil der L&#xf6;sung"/>
</node>
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1518055089510" ID="ID_1374209563" MODIFIED="1518055441235" TEXT="Create-Fall">
<icon BUILTIN="flag-yellow"/>
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1518055442607" ID="ID_93235547" MODIFIED="1518055447159" TEXT="partielle coverage erlauben">
<icon BUILTIN="flag-yellow"/>
<node COLOR="#338800" CREATED="1518055089510" ID="ID_1374209563" MODIFIED="1518218998611" TEXT="Create-Fall">
<icon BUILTIN="button_ok"/>
<node COLOR="#338800" CREATED="1518055442607" ID="ID_93235547" MODIFIED="1518219001012" TEXT="partielle coverage erlauben">
<icon BUILTIN="button_ok"/>
</node>
<node COLOR="#338800" CREATED="1518055453981" ID="ID_1927049673" MODIFIED="1518145561724" TEXT="Frage: totale Neuerzeugung unterst&#xfc;tzen?">
<richcontent TYPE="NOTE"><html>
@ -9992,7 +10006,7 @@
</node>
</node>
</node>
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1518055400412" ID="ID_1517580371" MODIFIED="1518055426432">
<node COLOR="#338800" CREATED="1518055400412" ID="ID_1517580371" MODIFIED="1518218995686">
<richcontent TYPE="NODE"><html>
<head>
@ -10003,10 +10017,10 @@
</p>
</body>
</html></richcontent>
<icon BUILTIN="flag-yellow"/>
<icon BUILTIN="button_ok"/>
</node>
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1518215051242" ID="ID_1984395087" MODIFIED="1518215068068" TEXT="Ablauf-Logik">
<icon BUILTIN="flag-yellow"/>
<node COLOR="#338800" CREATED="1518215051242" ID="ID_1984395087" MODIFIED="1518218973114" TEXT="Ablauf-Logik">
<icon BUILTIN="button_ok"/>
<node CREATED="1518213040236" ID="ID_1048898871" MODIFIED="1518213506527" STYLE="bubble" TEXT="L&#xe4;ngenbeschrenkung">
<node BACKGROUND_COLOR="#b6c6f7" CREATED="1518213142062" ID="ID_1389235831" MODIFIED="1518213765139" TEXT="next"/>
</node>
@ -10101,7 +10115,7 @@
</node>
<node COLOR="#338800" CREATED="1518145778249" ID="ID_462394658" MODIFIED="1518216304625" TEXT="F&#xe4;lle geschickt zusammenfassen (duplikate Aktionen)">
<icon BUILTIN="button_ok"/>
<node BACKGROUND_COLOR="#efedc4" CREATED="1518213086862" ID="ID_1713281564" MODIFIED="1518215136125">
<node BACKGROUND_COLOR="#efedc4" CREATED="1518213086862" ID="ID_1713281564" MODIFIED="1518219185801" STYLE="bubble">
<richcontent TYPE="NODE"><html>
<head>
@ -10116,26 +10130,26 @@
</body>
</html></richcontent>
<linktarget COLOR="#4976b7" DESTINATION="ID_1713281564" ENDARROW="Default" ENDINCLINATION="-214;-32;" ID="Arrow_ID_1015037061" SOURCE="ID_1840655064" STARTARROW="None" STARTINCLINATION="-133;64;"/>
<node CREATED="1518213159380" ID="ID_1113830798" MODIFIED="1518213515940" TEXT="ja?">
<node CREATED="1518213162419" ID="ID_621215851" MODIFIED="1518213515940" TEXT="ggfs Elmnt anhngn"/>
<node BACKGROUND_COLOR="#efbab6" CREATED="1518213219564" ID="ID_1128021646" MODIFIED="1518213810523" TEXT="move(Solution)"/>
<node CREATED="1518213159380" ID="ID_1113830798" MODIFIED="1518219185803" TEXT="ja?">
<node CREATED="1518213162419" ID="ID_621215851" MODIFIED="1518219185803" TEXT="ggfs Elmnt anhngn"/>
<node BACKGROUND_COLOR="#efbab6" CREATED="1518213219564" ID="ID_1128021646" MODIFIED="1518219185804" TEXT="move(Solution)"/>
</node>
<node CREATED="1518213134767" ID="ID_679511688" MODIFIED="1518214549232" TEXT="nein?">
<node BACKGROUND_COLOR="#efedc4" CREATED="1518213337332" ID="ID_1046262927" MODIFIED="1518214602396" TEXT="Create UND Klausel explizit?">
<node CREATED="1518214337116" ID="ID_1397265252" MODIFIED="1518214340389" TEXT="ja">
<node CREATED="1518213134767" ID="ID_679511688" MODIFIED="1518219185804" TEXT="nein?">
<node BACKGROUND_COLOR="#efedc4" CREATED="1518213337332" ID="ID_1046262927" MODIFIED="1518219185804" TEXT="Create UND Klausel explizit?">
<node CREATED="1518214337116" ID="ID_1397265252" MODIFIED="1518219185804" TEXT="ja">
<node BACKGROUND_COLOR="#efbab6" CREATED="1518213440630" ID="ID_343251054" MODIFIED="1518213851674" STYLE="bubble" TEXT="copy(Klausel)">
<edge COLOR="#808080" STYLE="bezier" WIDTH="thin"/>
</node>
</node>
<node CREATED="1518213451860" ID="ID_1801836476" MODIFIED="1518214363532" TEXT="sonst">
<node BACKGROUND_COLOR="#b6c6f7" CREATED="1518213469114" ID="ID_955201730" MODIFIED="1518213765138" TEXT="next"/>
<node CREATED="1518213451860" ID="ID_1801836476" MODIFIED="1518219185804" TEXT="sonst">
<node BACKGROUND_COLOR="#b6c6f7" CREATED="1518213469114" ID="ID_955201730" MODIFIED="1518219185805" TEXT="next"/>
</node>
</node>
</node>
</node>
</node>
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1517507082826" ID="ID_1177191870" MODIFIED="1517507092970" TEXT="R&#xfc;ckgabe per Value">
<icon BUILTIN="flag-yellow"/>
<node COLOR="#338800" CREATED="1517507082826" ID="ID_1177191870" MODIFIED="1518218979259" TEXT="R&#xfc;ckgabe per Value">
<icon BUILTIN="button_ok"/>
</node>
</node>
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1517505737977" ID="ID_1981924615" MODIFIED="1517506790089" TEXT="Unit-Test">
@ -10159,10 +10173,10 @@
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1517508464896" ID="ID_877224411" MODIFIED="1517966752222" TEXT="generische Aufruf-Schnittstelle">
<icon BUILTIN="flag-yellow"/>
</node>
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1517506116502" ID="ID_957265584" MODIFIED="1517506782722" TEXT="eigenst&#xe4;ndiger Unit-Test">
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1517506116502" ID="ID_957265584" MODIFIED="1518219221843" TEXT="eigenst&#xe4;ndiger Unit-Test">
<arrowlink COLOR="#465888" DESTINATION="ID_718086573" ENDARROW="Default" ENDINCLINATION="-185;-461;" ID="Arrow_ID_1844529849" STARTARROW="None" STARTINCLINATION="-598;29;"/>
<linktarget COLOR="#465888" DESTINATION="ID_957265584" ENDARROW="Default" ENDINCLINATION="351;-62;" ID="Arrow_ID_1922023705" SOURCE="ID_1981924615" STARTARROW="None" STARTINCLINATION="-226;69;"/>
<icon BUILTIN="flag-yellow"/>
<icon BUILTIN="pencil"/>
</node>
</node>
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1506181864011" ID="ID_615395774" MODIFIED="1515634504964" TEXT="Alternativen">
@ -10769,8 +10783,8 @@
<node COLOR="#338800" CREATED="1517506161024" ID="ID_21333166" MODIFIED="1518048296298" TEXT="Verdrahtung mit Test/Dummy-UI">
<icon BUILTIN="button_ok"/>
</node>
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1517506256691" ID="ID_360871736" MODIFIED="1517506280213" TEXT="einfaches Anwendungs-Beispiel">
<icon BUILTIN="flag-yellow"/>
<node COLOR="#338800" CREATED="1517506256691" ID="ID_360871736" MODIFIED="1518219228101" TEXT="einfaches Anwendungs-Beispiel">
<icon BUILTIN="button_ok"/>
</node>
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1517506268969" ID="ID_1285475519" MODIFIED="1517506287826" TEXT="theoretische Grenzf&#xe4;lle">
<icon BUILTIN="flag-yellow"/>