368 QCOMPARE(machine.configuration().size(), 2); |
369 QCOMPARE(machine.configuration().size(), 2); |
369 QVERIFY(machine.configuration().contains(s2)); |
370 QVERIFY(machine.configuration().contains(s2)); |
370 QVERIFY(machine.configuration().contains(s4)); |
371 QVERIFY(machine.configuration().contains(s4)); |
371 } |
372 } |
372 |
373 |
|
374 void tst_QState::transitions() |
|
375 { |
|
376 QState s1; |
|
377 QState s2; |
|
378 |
|
379 QVERIFY(s1.transitions().isEmpty()); |
|
380 |
|
381 QAbstractTransition *t1 = s1.addTransition(this, SIGNAL(destroyed()), &s2); |
|
382 QVERIFY(t1 != 0); |
|
383 QCOMPARE(s1.transitions().count(), 1); |
|
384 QCOMPARE(s1.transitions().first(), t1); |
|
385 QVERIFY(s2.transitions().isEmpty()); |
|
386 |
|
387 s1.removeTransition(t1); |
|
388 QVERIFY(s1.transitions().isEmpty()); |
|
389 |
|
390 s1.addTransition(t1); |
|
391 QCOMPARE(s1.transitions().count(), 1); |
|
392 QCOMPARE(s1.transitions().first(), t1); |
|
393 |
|
394 QAbstractTransition *t2 = new QEventTransition(&s1); |
|
395 QCOMPARE(s1.transitions().count(), 2); |
|
396 QVERIFY(s1.transitions().contains(t1)); |
|
397 QVERIFY(s1.transitions().contains(t2)); |
|
398 |
|
399 // Transitions from child states should not be reported. |
|
400 QState *s21 = new QState(&s2); |
|
401 QAbstractTransition *t3 = s21->addTransition(this, SIGNAL(destroyed()), &s2); |
|
402 QVERIFY(s2.transitions().isEmpty()); |
|
403 QCOMPARE(s21->transitions().count(), 1); |
|
404 QCOMPARE(s21->transitions().first(), t3); |
|
405 } |
373 |
406 |
374 QTEST_MAIN(tst_QState) |
407 QTEST_MAIN(tst_QState) |
375 #include "tst_qstate.moc" |
408 #include "tst_qstate.moc" |