def test_optional(n): class Cat: def __init__(self, name): self.name = name self.optional = Optional() def meow(self): return self.name + ': meowww..' def growl(self): return self.name + ': KSSSSssss...' def jump(self, msg): return self.name + ': has jumped from {}'.format(msg) def fight_a_watermelon(self): r = [self.name + ': met a watermelon and decided to attack'] for i in range(self.optional.number(chance=(3, 5))): if self.optional(chance=(1, 4)): r.append(self.jump("a sudden blind attack")) elif self.optional(chance=(2, 5)): r.append(self.meow()) if self.optional(chance=(3, 4)): r.append(self.growl()) elif self.optional(): r.append(self.meow()) return r perry = Cat('Perri') actions = perry.fight_a_watermelon() assert "Perri: met a watermelon and decided to attack" == actions[0] if len(actions) > 1: assert condition.any_in_any( ("Perri: meowww..", "Perri: KSSSSssss...", "Perri: has jumped from a sudden blind attack"), actions)
def test_condition_any_in_any1(): a = "123456789" b = "098765" assert condition.any_in_any(a, b)
def test_condition_any_in_any5(): a = list("123456789") b = list("098765") assert condition.any_in_any(a, b)
def test_condition_any_in_any3(): a = "123456789".split() b = "098765" assert not condition.any_in_any(a, b)
def test_condition_any_in_any2(): a = "" b = "098765" assert not condition.any_in_any(a, b)
def test_random_utils(n): n = random_number(1, 100) assert 0 < n < 101 s = " goGOgoRangers " r = random_string(s, n) assert condition.any_in_any(s, r)