all() použije dve validačné kontroly na každú položku.
Podmienka používa &&, pretože obe vlastnosti položky sú povinné.
exists() vykoná násobenie pre otázku vysokej hodnoty.
Pravdivé musia byť výsledky oboch makier.
Čo dokazujú testovacie prípady
Platné položky s vysokou hodnotou: očakáva sa true (bool).
Bez hodnotnej položky: očakáva sa false (bool).
Neplatné množstvo: očakáva sa false (bool).
Záporná cena: 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 kombinovať all() a exists() nad rovnakým zoznamom s rozdielnymi podmienkami.
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.