Questo linguaggio è indipendente. Voglio sviluppare una semplice classe di asserzioni personalizzate utilizzando lo sviluppo basato su test.
La classe avrà un metodo di asserzione chiamato assertCarIsNotDamaged
che controllerà se l'auto di una persona non ha danni. Controllerà una mappa hash delle parti di auto e il loro stato desiderato con lo stato delle parti della macchina di una persona.
Ad esempio, diciamo che "windShieldStatus" di una buona auto dovrebbe essere "ok" e il "windShieldStatus" della persona è "rotto". Data questa condizione, l'asserzione dovrebbe generare un errore con queste informazioni.
Il mio problema: ho una sfida nel testare l'unità. Devo fare in modo che l'asserzione restituisca una mappa hash di valori errati e chiedi alle mie unittests di verificare che l'asserzione non sia riuscita solo a causa di esattamente questi cattivi valori e senza altri motivi? Le affermazioni dovrebbero sempre non restituire nulla?
Purtroppo, ho dei limiti. Mi è stato detto di non modificare la classe "CarStatus". Quindi, fondamentalmente, non posso scrivere un metodo di uguaglianza per verificare se gli stati delle auto corrispondono. Devo usare un'asserzione personalizzata per controllare l'uguaglianza degli oggetti. (IDK perché qualcuno lo vuole in questo modo;) ).