Üdv!
A feladat szövegéből a csapatunk számára nem egyértelmű, hogy mi feladata, és mi nem feladata a tesztelő keretrendszernek.
A csapaton belül két értelmezés ütötte fel fejét:
- A keretrendszer feladata a megvalósított funkciókon kívül az, hogy a dinamikus tulajdonságokat fel tudja olvasni JSON-ból: vonatok elhelyezéses és mozgása, váltók állásának állítása. Ezek után az így definiált kezdőállapotból a definiált események lejátszása, tehát a rendszer meghajtása szimulációs adatokkal. A tesztek ezek után abból állnak, hogy a logok kimenetét összehasonlítjuk (emberi erővel) az elvárt, előre definiált működéssel.
- A keretrendszer feladata a fentieken kívül az is, hogy a JSON-ben elvárt végállapotokat definiáljunk szegmensekre, esetleg másra is. Ezek alapján a rendszer valamilyen módszerrel, valószínűleg az
AbstractPahoMQTTClient
saját kiterjesztésén keresztül feliratkozik az üzenetekre, ellenőrzi, hogy a megfelelők érkeztek-e meg, és automatizáltan (JUnit segítségével) eldönti, hogy a self-contained JSON-ben definiált teszt áll vagy bukik.
A kérdésünk tehát az, hogy a fenti két értelmezés közül melyik állja meg a helyét?