示例#1
0
def test_all():
    assert functional.all(lambda e: e % 2 == 0, []) == \
           False
    assert functional.all(lambda e: e % 2 == 0, [ 2 ]) == \
           True
    assert functional.all(lambda e: e % 2 == 0, [ 2, 4, 6, 8, 10 ]) == \
           True
    assert functional.all(lambda e: e % 3 == 0, [ 2, 4, 6, 8, 10 ]) == \
           False
    def donate_step(self, enables, donations, accumulation, num_neighbors):
        enables_pattern = ''.join([str(i) for i in enables])
        if enables_pattern in self.patterns.keys():
            if self.patterns[enables_pattern] < accumulation:
                self.patterns[enables_pattern] = accumulation
            else:
                return
        else:
            self.patterns[enables_pattern] = accumulation

        if F.all(enables, F.is_false):
            if accumulation > self.max_acc:
                self.max_acc = accumulation

        e1 = copy.deepcopy(enables)

        for i, e in enumerate(e1):
            if not e:
                continue

            new_acc = donations[i] + accumulation
            e2 = self.enable_donate(i, e1, num_neighbors)
            self.donate_step(e2, donations, new_acc, num_neighbors)
示例#3
0
 def test_functional_all(self):
     self.assertEqual(F.all(_list, lambda x: x < 5), True)
     self.assertEqual(F.all(_list, lambda x: x < 2), False)
示例#4
0
 def is_loose(self):
     return functional.all(self.get_players(), lambda c: not c.is_alive())
示例#5
0
 def is_win(self):
     return functional.all(self.get_enemies(), lambda c: not c.is_alive())