Changeset 2042 for trunk/autoquest-core-usability/src/main/java/de/ugoe/cs/autoquest/usability/DefaultValueRule.java
- Timestamp:
- 10/20/15 10:11:04 (9 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/autoquest-core-usability/src/main/java/de/ugoe/cs/autoquest/usability/DefaultValueRule.java
r1941 r2042 29 29 30 30 import de.ugoe.cs.autoquest.eventcore.Event; 31 import de.ugoe.cs.autoquest.eventcore.gui.MouseClick; 31 32 import de.ugoe.cs.autoquest.eventcore.gui.TextInput; 32 33 import de.ugoe.cs.autoquest.eventcore.gui.ValueSelection; 33 34 import de.ugoe.cs.autoquest.eventcore.guimodel.GUIModel; 34 35 import de.ugoe.cs.autoquest.eventcore.guimodel.ICheckBox; 36 import de.ugoe.cs.autoquest.eventcore.guimodel.IComboBox; 35 37 import de.ugoe.cs.autoquest.eventcore.guimodel.IGUIElement; 36 38 import de.ugoe.cs.autoquest.eventcore.guimodel.IGUIElementSpec; … … 136 138 maxObserved = Math.max(maxObserved, selectedValue.getValue()); 137 139 138 if (mostOftenSelected.size() > 0) { 139 ListIterator<Object> iterator = mostOftenSelected.listIterator(); 140 while (iterator.hasNext()) { 141 if (selectedValues.get(iterator.next()) < selectedValue.getValue()) { 142 iterator.previous(); 143 iterator.add(selectedValue.getKey()); 144 145 while (mostOftenSelected.size() > 5) { 146 mostOftenSelected.removeLast(); 147 } 148 149 break; 150 } 151 } 152 } 153 else { 140 boolean added = false; 141 ListIterator<Object> iterator = mostOftenSelected.listIterator(); 142 while (iterator.hasNext()) { 143 if (selectedValues.get(iterator.next()) < selectedValue.getValue()) { 144 iterator.previous(); 145 iterator.add(selectedValue.getKey()); 146 added = true; 147 break; 148 } 149 } 150 151 if (!added) { 154 152 mostOftenSelected.add(selectedValue.getKey()); 153 } 154 155 while (mostOftenSelected.size() > 5) { 156 mostOftenSelected.removeLast(); 155 157 } 156 158 } … … 163 165 } 164 166 165 if ((expected.length == 1) ||167 if ((expected.length > 1) && 166 168 (new ChiSquareTest().chiSquareTest(expected, observed, 0.05))) 167 169 { … … 218 220 */ 219 221 private boolean isValueSelection(ITaskInstance instance) { 220 return (instance instanceof IEventTaskInstance) && 221 ((((IEventTaskInstance) instance).getEvent().getType() instanceof TextInput) || 222 (((IEventTaskInstance) instance).getEvent().getType() instanceof ValueSelection)); 222 if (instance instanceof IEventTaskInstance) { 223 Event event = ((IEventTaskInstance) instance).getEvent(); 224 225 if ((event.getType() instanceof TextInput) || 226 (event.getType() instanceof ValueSelection)) 227 { 228 return true; 229 } 230 231 if (("JFC".equals(event.getTarget().getPlatform())) && 232 (event.getTarget() instanceof ICheckBox) && 233 (event.getType() instanceof MouseClick)) 234 { 235 return true; 236 } 237 } 238 239 return false; 223 240 } 224 241 … … 439 456 ((ValueSelection<?>) valueChange.getEvent().getType()).getSelectedValue(); 440 457 441 if ((target instanceof IRadioButton) || (target instanceof ICheckBox)) { 458 if ((target.target instanceof IRadioButton) || 459 (target.target instanceof ICheckBox)) 460 { 442 461 selectedValue = selectedValue + " (" + target + ")"; 462 } 463 else if (target.target instanceof IComboBox) { 464 if (selectedValue == null) { 465 // this may have happened due to the recording issue that selected 466 // values of combo boxes are not logged correctly. In this case, 467 // pretend to have the a random value selected 468 selectedValue = "randomValueDueToRecordingBug_" + Math.random(); 469 } 470 } 471 } 472 else if (valueChange.getEvent().getType() instanceof MouseClick) { 473 if ((target.target instanceof IRadioButton) || 474 (target.target instanceof ICheckBox)) 475 { 476 selectedValue = target.toString(); 477 } 478 else { 479 throw new IllegalStateException("the implementation needs to be extended " + 480 "to fully support clicks as value changes"); 443 481 } 444 482 }
Note: See TracChangeset
for help on using the changeset viewer.