Vonkajší podmienený operátor okamžite vyberie critical pre blokujúcu požiadavku.
Iba jeho nepravdivá vetva kontroluje ageHours.
Vnútorná podmienka rozdelí high a normal.
Požiadavka spĺňajúca obe podmienky zostane critical, pretože prvá vetva má prednosť.
Čo dokazujú testovacie prípady
Blokujúca požiadavka: očakáva sa "critical" (string).
Stará požiadavka: očakáva sa "high" (string).
Bežná požiadavka: očakáva sa "normal" (string).
Blokujúca a stará: očakáva sa "critical" (string).
Prípady sú zámerne rozdielne. Riešenie, ktoré prejde iba prvým prípadom, ešte nezapracovalo celé pravidlo.
Častá chyba
Výraz neprispôsobujte iba prvému úspešnému vstupu. Požiadavka je zapracovaná až vtedy, keď kladný, záporný aj hraničný prípad vytvoria určený výsledok.
Kontrolná otázka
Viete ukázať presnú časť riešenia, ktorá spôsobí zlyhanie každého nepravdivého testu? Ak dve rozdielne zlyhania závisia od rovnakej podmienky, vysvetlite prečo.
Hlavná myšlienka
Viete zoradiť podmienky podľa priority a vysvetliť, prečo sa vyberie iba jedna vetva.
Zdroje
CEL-DEV — oficiálny prehľad CEL.
CEL-LANG — oficiálna definícia jazyka CEL pre operátory, typy, makrá, prítomnosť, reťazce a časové hodnoty použité v tejto úlohe.