# A set of function which exercise specific mutation operators. This
# is paired up with a test suite. The idea is that cosmic-ray should
# kill every mutant when that suite is run; if it doesn't, then we've
# got a problem.


def constant_number():
    return 42

def constant_true():
    return True


def constant_false():
    return False


def unary_sub():
    return -1


def unary_add():
    return +1


def equals(vals):
    def constraint(x, y):
        return (x == y) ^ (x != y)

    return all([constraint(x, y)
                for x in vals
                for y in vals])


def use_break(limit):
    for x in range(limit):
        break
    return x


def use_continue(limit):
    for x in range(limit):
        continue
    return x


def trigger_infinite_loop():
    # When `break` becomes `continue`, this should enter an infinite loop. This
    # helps us test timeouts.
    while True:
        break

@@ -890,18 +890,268 @@
     
-while True
+# Any object which isn't None passes the truth value testing so here%0A    # we use %60while object()%60 instead of %60while True%60 b/c the later becomes%0A    # %60while False%60 when BooleanReplacer is applied and we don't trigger an%0A    # infinite loop.%0A    while object()
 :%0A  

Modify the infinite loop function