Každé has() vráti jednu logickú hodnotu prítomnosti.
Pravidlo potrebuje pravdu iba vtedy, keď sa hodnoty líšia.
!= vyjadrí tento rozdiel priamo.
Použitie || by nesprávne prijalo prípad, keď sú prítomné obe možnosti.
Čo dokazujú testovacie prípady
Osobné prevzatie: očakáva sa true (bool).
Doručenie na adresu: očakáva sa true (bool).
Obe možnosti: očakáva sa false (bool).
Žiadna možnosť: očakáva sa false (bool).
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 použiť rozdielnosť dvoch logických hodnôt na presne jednu z možností.
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.