Ignore:
Timestamp:
05/31/15 19:22:54 (9 years ago)
Author:
pharms
Message:
  • fixed a bug in the detection of overlapping iterations before merging them.
  • now iterations are ignored, if they cause no repetitions in a task to be merged
  • the same applies for optionals making hopefully the merge more intuitive and cause less large selections
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/autoquest-core-tasktrees-test/src/test/java/de/ugoe/cs/autoquest/tasktrees/temporalrelation/CondenseSimilarTasksRuleTest.java

    r1845 r1954  
    666666        String output = 
    667667            "UserSession {" + 
    668             "  Selection sel1 {" + 
     668            "  Sequence sequence5 {" + 
     669            "    Iteration itSequence6 {" + 
     670            "      Sequence sequence6 {" + 
     671            "        Event action1 {}" + 
     672            "        Selection 1 {" + 
     673            "          Event action2 {}" + 
     674            "        }" + 
     675            "      }" + 
     676            "      Sequence sequence6 {" + 
     677            "        Event action1 {}" + 
     678            "        Selection 1 {" + 
     679            "          Event action2 {}" + 
     680            "        }" + 
     681            "      }" + 
     682            "    }" + 
     683            "    Event action3 {}" + 
     684            "  }" + 
     685            "  Sequence sequence5 {" + 
     686            "    Iteration itSequence6 {" + 
     687            "      Sequence sequence6 {" + 
     688            "        Event action1 {}" + 
     689            "        Selection 1 {" + 
     690            "          Event action4 {}" + 
     691            "        }" + 
     692            "      }" + 
     693            "    }" + 
     694            "    Event action3 {}" + 
     695            "  }" + 
     696            "}"; 
     697 
     698        applySessionScopeRule(CondenseSimilarTasksRule.class, input, output); 
     699    } 
     700 
     701    /** 
     702     * 
     703     */ 
     704    @Test 
     705    public void test_IterationPreservation_03() throws Exception { 
     706        String input = 
     707            "UserSession {" + 
     708            "  Sequence sequence1 {" + 
     709            "    Iteration itSequence2 {" + 
     710            "      Sequence sequence2 {" + 
     711            "        Event action1 {}" + 
     712            "        Event action2 {}" + 
     713            "      }" + 
     714            "      Sequence sequence2 {" + 
     715            "        Event action1 {}" + 
     716            "        Event action2 {}" + 
     717            "      }" + 
     718            "    }" + 
     719            "    Event action3 {}" + 
     720            "  }" + 
     721            "  Sequence sequence3 {" + 
     722            "    Event action1 {}" + 
     723            "    Iteration itSequence4 {" + 
     724            "      Sequence sequence4 {" + 
     725            "        Event action4 {}" + 
     726            "        Event action3 {}" + 
     727            "      }" + 
     728            "      Sequence sequence4 {" + 
     729            "        Event action4 {}" + 
     730            "        Event action3 {}" + 
     731            "      }" + 
     732            "      Sequence sequence4 {" + 
     733            "        Event action4 {}" + 
     734            "        Event action3 {}" + 
     735            "      }" + 
     736            "    }" + 
     737            "  }" + 
     738            "}"; 
     739 
     740        String output = 
     741            "UserSession {" + 
     742            "  Selection selection1 {" + 
    669743            "    Sequence sequence1 {" + 
    670744            "      Iteration itSequence2 {" + 
     
    681755            "    }" + 
    682756            "  }" + 
    683             "  Selection sel1 {" + 
     757            "  Selection selection1 {" + 
    684758            "    Sequence sequence3 {" + 
    685759            "      Event action1 {}" + 
     
    689763            "          Event action3 {}" + 
    690764            "        }" + 
     765            "        Sequence sequence4 {" + 
     766            "          Event action4 {}" + 
     767            "          Event action3 {}" + 
     768            "        }" + 
     769            "        Sequence sequence4 {" + 
     770            "          Event action4 {}" + 
     771            "          Event action3 {}" + 
     772            "        }" + 
    691773            "      }" + 
    692774            "    }" + 
     
    701783     */ 
    702784    @Test 
    703     public void test_IterationPreservation_03() throws Exception { 
     785    public void test_IterationPreservation_04() throws Exception { 
    704786        String input = 
    705787            "UserSession {" + 
     
    734816        String output = 
    735817            "UserSession {" + 
     818            "  Iteration itSequence5 {" + 
     819            "    Sequence sequence5 {" + 
     820            "      Iteration itSequence6 {" + 
     821            "        Sequence sequence6 {" + 
     822            "          Event action1 {}" + 
     823            "          Selection 1 {" + 
     824            "            Event action2 {}" + 
     825            "          }" + 
     826            "        }" + 
     827            "        Sequence sequence6 {" + 
     828            "          Event action1 {}" + 
     829            "          Selection 1 {" + 
     830            "            Event action2 {}" + 
     831            "          }" + 
     832            "        }" + 
     833            "      }" + 
     834            "      Event action3 {}" + 
     835            "    }" + 
     836            "    Sequence sequence5 {" + 
     837            "      Iteration itSequence6 {" + 
     838            "        Sequence sequence6 {" + 
     839            "          Event action1 {}" + 
     840            "          Selection 1 {" + 
     841            "            Event action4 {}" + 
     842            "          }" + 
     843            "        }" + 
     844            "      }" + 
     845            "      Event action3 {}" + 
     846            "    }" + 
     847            "  }" + 
     848            "}"; 
     849 
     850        applySessionScopeRule(CondenseSimilarTasksRule.class, input, output); 
     851    } 
     852 
     853    /** 
     854     * 
     855     */ 
     856    @Test 
     857    public void test_IterationPreservation_05() throws Exception { 
     858        String input = 
     859            "UserSession {" + 
     860            "  Iteration itSequence1 {" + 
     861            "    Sequence sequence1 {" + 
     862            "      Iteration itSequence2 {" + 
     863            "        Sequence sequence2 {" + 
     864            "          Event action1 {}" + 
     865            "          Event action2 {}" + 
     866            "        }" + 
     867            "        Sequence sequence2 {" + 
     868            "          Event action1 {}" + 
     869            "          Event action2 {}" + 
     870            "        }" + 
     871            "      }" + 
     872            "      Event action3 {}" + 
     873            "    }" + 
     874            "  }" + 
     875            "  Iteration itSequence3 {" + 
     876            "    Sequence sequence3 {" + 
     877            "      Event action1 {}" + 
     878            "      Iteration itSequence4 {" + 
     879            "        Sequence sequence4 {" + 
     880            "          Event action4 {}" + 
     881            "          Event action3 {}" + 
     882            "        }" + 
     883            "        Sequence sequence4 {" + 
     884            "          Event action4 {}" + 
     885            "          Event action3 {}" + 
     886            "        }" + 
     887            "        Sequence sequence4 {" + 
     888            "          Event action4 {}" + 
     889            "          Event action3 {}" + 
     890            "        }" + 
     891            "      }" + 
     892            "    }" + 
     893            "  }" + 
     894            "}"; 
     895 
     896        String output = 
     897            "UserSession {" + 
    736898            "  Iteration itSelection1 {" + 
    737             "    Selection sel1 {" + 
     899            "    Selection selection1 {" + 
    738900            "      Sequence sequence1 {" + 
    739901            "        Iteration itSequence2 {" + 
     
    750912            "      }" + 
    751913            "    }" + 
    752             "    Selection sel1 {" + 
     914            "    Selection selection1 {" + 
    753915            "      Sequence sequence3 {" + 
    754916            "        Event action1 {}" + 
     
    758920            "            Event action3 {}" + 
    759921            "          }" + 
     922            "          Sequence sequence4 {" + 
     923            "            Event action4 {}" + 
     924            "            Event action3 {}" + 
     925            "          }" + 
     926            "          Sequence sequence4 {" + 
     927            "            Event action4 {}" + 
     928            "            Event action3 {}" + 
     929            "          }" + 
    760930            "        }" + 
    761931            "      }" + 
     
    771941     */ 
    772942    @Test 
    773     public void test_IterationPreservation_04() throws Exception { 
     943    public void test_IterationPreservation_06() throws Exception { 
    774944        String input = 
    775945            "UserSession {" + 
     
    810980        String output = 
    811981            "UserSession {" + 
    812             "  Selection sel1 {" + 
    813             "    Sequence sequence1 {" + 
    814             "      Iteration itSequence2 {" + 
    815             "        Sequence sequence2 {" + 
    816             "          Event action1 {}" + 
    817             "          Iteration itSequence3 {" + 
    818             "            Sequence sequence3 {" + 
    819             "              Event action2 {}" + 
     982            "  Sequence sequence7 {" + 
     983            "    Event action1 {}" + 
     984            "    Iteration itSequence8 {" + 
     985            "      Sequence sequence8 {" + 
     986            "        Event action2 {}" + 
     987            "        Selection selection1 {" + 
     988            "          Event action3 {}" + 
     989            "        }" + 
     990            "      }" + 
     991            "      Sequence sequence8 {" + 
     992            "        Event action2 {}" + 
     993            "        Selection selection1 {" + 
     994            "          Event action3 {}" + 
     995            "        }" + 
     996            "      }" + 
     997            "    }" + 
     998            "    Event action4 {}" + 
     999            "  }" + 
     1000            "  Sequence sequence7 {" + 
     1001            "    Event action1 {}" + 
     1002            "    Iteration itSequence8 {" + 
     1003            "      Sequence sequence8 {" + 
     1004            "        Event action2 {}" + 
     1005            "        Selection selection1 {" + 
     1006            "          Event action5 {}" + 
     1007            "        }" + 
     1008            "      }" + 
     1009            "    }" + 
     1010            "    Event action4 {}" + 
     1011            "  }" + 
     1012            "}"; 
     1013 
     1014        applySessionScopeRule(CondenseSimilarTasksRule.class, input, output); 
     1015    } 
     1016 
     1017    /** 
     1018     * 
     1019     */ 
     1020    @Test 
     1021    public void test_IterationPreservation_07() throws Exception { 
     1022        String input = 
     1023            "UserSession {" + 
     1024            "  Sequence sequence1 {" + 
     1025            "    Iteration itSequence2 {" + 
     1026            "      Sequence sequence2 {" + 
     1027            "        Event action1 {}" + 
     1028            "        Iteration itSequence3 {" + 
     1029            "          Sequence sequence3 {" + 
     1030            "            Event action2 {}" + 
     1031            "            Event action3 {}" + 
     1032            "          }" + 
     1033            "          Sequence sequence3 {" + 
     1034            "            Event action2 {}" + 
     1035            "            Event action3 {}" + 
     1036            "          }" + 
     1037            "        }" + 
     1038            "      }" + 
     1039            "    }" + 
     1040            "    Event action4 {}" + 
     1041            "  }" + 
     1042            "  Sequence sequence4 {" + 
     1043            "    Event action1 {}" + 
     1044            "    Iteration itSequence5 {" + 
     1045            "      Sequence sequence5 {" + 
     1046            "        Iteration itSequence6 {" + 
     1047            "          Sequence sequence6 {" + 
     1048            "            Event action2 {}" + 
     1049            "            Event action5 {}" + 
     1050            "          }" + 
     1051            "          Sequence sequence6 {" + 
     1052            "            Event action2 {}" + 
     1053            "            Event action5 {}" + 
     1054            "          }" + 
     1055            "          Sequence sequence6 {" + 
     1056            "            Event action2 {}" + 
     1057            "            Event action5 {}" + 
     1058            "          }" + 
     1059            "        }" + 
     1060            "        Event action4 {}" + 
     1061            "      }" + 
     1062            "    }" + 
     1063            "  }" + 
     1064            "}"; 
     1065 
     1066        String output = 
     1067            "UserSession {" + 
     1068            "  Sequence sequence7 {" + 
     1069            "    Event action1 {}" + 
     1070            "    Iteration itSequence8 {" + 
     1071            "      Sequence sequence8 {" + 
     1072            "        Event action2 {}" + 
     1073            "        Selection selection1 {" + 
     1074            "          Event action3 {}" + 
     1075            "        }" + 
     1076            "      }" + 
     1077            "      Sequence sequence8 {" + 
     1078            "        Event action2 {}" + 
     1079            "        Selection selection1 {" + 
     1080            "          Event action3 {}" + 
     1081            "        }" + 
     1082            "      }" + 
     1083            "    }" + 
     1084            "    Event action4 {}" + 
     1085            "  }" + 
     1086            "  Sequence sequence7 {" + 
     1087            "    Event action1 {}" + 
     1088            "    Iteration itSequence8 {" + 
     1089            "      Sequence sequence8 {" + 
     1090            "        Event action2 {}" + 
     1091            "        Selection selection1 {" + 
     1092            "          Event action5 {}" + 
     1093            "        }" + 
     1094            "      }" + 
     1095            "      Sequence sequence8 {" + 
     1096            "        Event action2 {}" + 
     1097            "        Selection selection1 {" + 
     1098            "          Event action5 {}" + 
     1099            "        }" + 
     1100            "      }" + 
     1101            "      Sequence sequence8 {" + 
     1102            "        Event action2 {}" + 
     1103            "        Selection selection1 {" + 
     1104            "          Event action5 {}" + 
     1105            "        }" + 
     1106            "      }" + 
     1107            "    }" + 
     1108            "    Event action4 {}" + 
     1109            "  }" + 
     1110            "}"; 
     1111 
     1112        applySessionScopeRule(CondenseSimilarTasksRule.class, input, output); 
     1113    } 
     1114 
     1115    /** 
     1116     * 
     1117     */ 
     1118    @Test 
     1119    public void test_IterationPreservation_08() throws Exception { 
     1120        String input = 
     1121            "UserSession {" + 
     1122            "  Sequence sequence1 {" + 
     1123            "    Iteration itSequence2 {" + 
     1124            "      Sequence sequence2 {" + 
     1125            "        Event action1 {}" + 
     1126            "        Iteration itSequence3 {" + 
     1127            "          Sequence sequence3 {" + 
     1128            "            Event action2 {}" + 
     1129            "            Event action3 {}" + 
     1130            "          }" + 
     1131            "          Sequence sequence3 {" + 
     1132            "            Event action2 {}" + 
     1133            "            Event action3 {}" + 
     1134            "          }" + 
     1135            "        }" + 
     1136            "      }" + 
     1137            "    }" + 
     1138            "    Event action4 {}" + 
     1139            "  }" + 
     1140            "  Sequence sequence4 {" + 
     1141            "    Event action1 {}" + 
     1142            "    Iteration itSequence5 {" + 
     1143            "      Sequence sequence5 {" + 
     1144            "        Iteration itSequence6 {" + 
     1145            "          Sequence sequence6 {" + 
     1146            "            Event action2 {}" + 
     1147            "            Event action5 {}" + 
     1148            "          }" + 
     1149            "        }" + 
     1150            "        Event action4 {}" + 
     1151            "      }" + 
     1152            "      Sequence sequence5 {" + 
     1153            "        Iteration itSequence6 {" + 
     1154            "          Sequence sequence6 {" + 
     1155            "            Event action2 {}" + 
     1156            "            Event action5 {}" + 
     1157            "          }" + 
     1158            "        }" + 
     1159            "        Event action4 {}" + 
     1160            "      }" + 
     1161            "    }" + 
     1162            "  }" + 
     1163            "}"; 
     1164 
     1165        String output = 
     1166            "UserSession {" + 
     1167            "  Sequence sequence7 {" + 
     1168            "    Event action1 {}" + 
     1169            "    Iteration itSequence8 {" + 
     1170            "      Sequence sequence8 {" + 
     1171            "        Iteration itSequence9 {" + 
     1172            "          Sequence sequence9 {" + 
     1173            "            Event action2 {}" + 
     1174            "            Selection selection1 {" + 
    8201175            "              Event action3 {}" + 
    8211176            "            }" + 
    822             "            Sequence sequence3 {" + 
    823             "              Event action2 {}" + 
     1177            "          }" + 
     1178            "          Sequence sequence9 {" + 
     1179            "            Event action2 {}" + 
     1180            "            Selection selection1 {" + 
    8241181            "              Event action3 {}" + 
    8251182            "            }" + 
    8261183            "          }" + 
    8271184            "        }" + 
    828             "      }" + 
    829             "      Event action4 {}" + 
    830             "    }" + 
    831             "  }" + 
    832             "  Selection sel1 {" + 
    833             "    Sequence sequence4 {" + 
    834             "      Event action1 {}" + 
    835             "      Iteration itSequence5 {" + 
    836             "        Sequence sequence5 {" + 
    837             "          Iteration itSequence6 {" + 
    838             "            Sequence sequence6 {" + 
    839             "              Event action2 {}" + 
    840             "              Event action5 {}" + 
    841             "            }" + 
    842             "          }" + 
    843             "          Event action4 {}" + 
    844             "        }" + 
     1185            "        Event action4 {}" + 
     1186            "      }" + 
     1187            "    }" + 
     1188            "  }" + 
     1189            "  Sequence sequence7 {" + 
     1190            "    Event action1 {}" + 
     1191            "    Iteration itSequence8 {" + 
     1192            "      Sequence sequence8 {" + 
     1193            "        Iteration itSequence9 {" + 
     1194            "          Sequence sequence9 {" + 
     1195            "            Event action2 {}" + 
     1196            "            Selection selection1 {" + 
     1197            "              Event action3 {}" + 
     1198            "            }" + 
     1199            "          }" + 
     1200            "        }" + 
     1201            "        Event action4 {}" + 
     1202            "      }" + 
     1203            "      Sequence sequence8 {" + 
     1204            "        Iteration itSequence9 {" + 
     1205            "          Sequence sequence9 {" + 
     1206            "            Event action2 {}" + 
     1207            "            Selection selection1 {" + 
     1208            "              Event action3 {}" + 
     1209            "            }" + 
     1210            "          }" + 
     1211            "        }" + 
     1212            "        Event action4 {}" + 
    8451213            "      }" + 
    8461214            "    }" + 
     
    8551223     */ 
    8561224    @Test 
    857     public void test_IterationPreservation_05() throws Exception { 
     1225    public void test_IterationPreservation_09() throws Exception { 
    8581226        String input = 
    8591227            "UserSession {" + 
     
    9191287            "    Event noiseAction1 {}" + 
    9201288            "    Iteration itSelection1 {" + 
    921             "      Selection sel1 {" + 
    922             "        Sequence sequence2 {" + 
    923             "          Iteration itSequence3 {" + 
    924             "            Sequence sequence3 {" + 
    925             "              Event action1 {}" + 
    926             "              Iteration itSequence4 {" + 
    927             "                Sequence sequence4 {" + 
    928             "                  Event action2 {}" + 
    929             "                  Event action3 {}" + 
    930             "                }" + 
    931             "              }" + 
    932             "            }" + 
    933             "          }" + 
    934             "          Event action4 {}" + 
    935             "        }" + 
    936             "      }" + 
    937             "      Selection sel1 {" + 
    938             "        Sequence sequence2 {" + 
    939             "          Iteration itSequence3 {" + 
    940             "            Sequence sequence3 {" + 
    941             "              Event action1 {}" + 
    942             "              Iteration itSequence4 {" + 
    943             "                Sequence sequence4 {" + 
    944             "                  Event action2 {}" + 
    945             "                  Event action3 {}" + 
    946             "                }" + 
    947             "              }" + 
    948             "            }" + 
    949             "          }" + 
    950             "          Event action4 {}" + 
    951             "        }" + 
     1289            "      Sequence sequence10 {" + 
     1290            "        Event action1 {}" + 
     1291            "        Selection selection1 {" + 
     1292            "          Event action2 {}" + 
     1293            "        }" + 
     1294            "        Event action3 {}" + 
     1295            "        Event action4 {}" + 
     1296            "      }" + 
     1297            "      Sequence sequence10 {" + 
     1298            "        Event action1 {}" + 
     1299            "        Selection selection1 {" + 
     1300            "          Event action2 {}" + 
     1301            "        }" + 
     1302            "        Event action3 {}" + 
     1303            "        Event action4 {}" + 
    9521304            "      }" + 
    9531305            "    }" + 
     
    9571309            "    Event noiseAction1 {}" + 
    9581310            "    Iteration itSelection1 {" + 
    959             "      Selection sel1 {" + 
    960             "        Sequence sequence6 {" + 
    961             "          Event action1 {}" + 
    962             "          Iteration itSequence7 {" + 
    963             "            Sequence sequence7 {" + 
    964             "              Iteration itSequence8 {" + 
    965             "                Sequence sequence8 {" + 
    966             "                  Event action5 {}" + 
    967             "                  Event action3 {}" + 
    968             "                }" + 
    969             "              }" + 
    970             "              Event action4 {}" + 
    971             "            }" + 
    972             "          }" + 
    973             "        }" + 
     1311            "      Sequence sequence10 {" + 
     1312            "        Event action1 {}" + 
     1313            "        Selection selection1 {" + 
     1314            "          Event action5 {}" + 
     1315            "        }" + 
     1316            "        Event action3 {}" + 
     1317            "        Event action4 {}" + 
    9741318            "      }" + 
    9751319            "    }" + 
     
    9851329     */ 
    9861330    @Test 
    987     public void test_IterationPreservation_06() throws Exception { 
     1331    public void test_IterationPreservation_10() throws Exception { 
    9881332        String input = 
    9891333            "UserSession {" + 
Note: See TracChangeset for help on using the changeset viewer.