Obviously there are many possible tests that we can use to
reach 100% branch and condition coverage. So I'm just going to show a
possible one, which is x equal to 3 and y is
equal to negative 2. If we specify this as case, you can
see that the overall condition is false, because neither x is
equal to 0 nor y is greater than 0. Therefore we will
follow the false, false branch, and achieve 100% branch and condition coverage
for this code. And we might require to be even more thorough,
that all the combinations of our conditions inside each
decision, inside each predicate, are tested. Which is what is
called, multiple condition coverage. But because of the way
this criterion is defined, it is combinatorial, becuse you have
to consider all the possible combinations of conditions. And
therefore it's extremely expensive, to the point of being impractical.
So instead of defining that criterion, we're going to find
another one which finds a good trade off between thoroughness
of the tests and their cost.