Предлагаемое выражение верно для 2 «правил»:
Правило № 1: и M, и C равны нулю, независимо от значения D
Правило № 2: (2.a: и M, и C НЕ являются нулевыми) И (2.b: D равно C)
Формула Шингецу потерпит неудачу, если D равно нулю (означает C == null, это нарушает правило # 2a)
Неудачный тест: M = не (ноль), C = ноль, D = ноль
(M == null && C == null) || (M != null && D == C)
false && true || true && true
false || true
true
Хотя первоначальное предложенное выражение Джейка будет проанализировано как:
(M == null && C == null) || (M != null && C != null && D == C)
false && true || (true && false && true)
false || false
false
J. Формула Бруни потерпит неудачу в случае M или C! = Null (нарушено условие 1 или 2a)
Неудачный тест: M = не (ноль), C = ноль, D = ноль
((M == null) && (C == null)) || (D == C)
false && true || true
false || true
true