Ejemplo n.º 1
0
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)
Ejemplo n.º 2
0
def test_condition_any_in_any1():
    a = "123456789"
    b = "098765"
    assert condition.any_in_any(a, b)
Ejemplo n.º 3
0
def test_condition_any_in_any5():
    a = list("123456789")
    b = list("098765")
    assert condition.any_in_any(a, b)
Ejemplo n.º 4
0
def test_condition_any_in_any3():
    a = "123456789".split()
    b = "098765"
    assert not condition.any_in_any(a, b)
Ejemplo n.º 5
0
def test_condition_any_in_any2():
    a = ""
    b = "098765"
    assert not condition.any_in_any(a, b)
Ejemplo n.º 6
0
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)