class Test(unittest.TestCase):

    def setUp(self):
        self.mab = RandomMultiArmedBandit()

    def tearDown(self):
        pass

    def test_next(self):
        arms = 'abcdefghijklmnopqrstuvwxyz'
        for arm in arms:
            self.mab.add_item(arm, arm)

        i = 1
        n = 10000
        limit = n * len(arms)
        from collections import defaultdict
        seen = defaultdict(int)
        for arm in self.mab:
            if i > limit:
                break
            seen[arm] += 1
            i += 1

        for arm in arms:
            # ensure we saw each arm about n times
            share = seen[arm] / float(n)
            self.assertAlmostEqual(1.0, share, 1)
Exemplo n.º 2
0
class Test(unittest.TestCase):
    def setUp(self):
        self.mab = RandomMultiArmedBandit()

    def tearDown(self):
        pass

    def test_next(self):
        arms = 'abcdefghijklmnopqrstuvwxyz'
        for arm in arms:
            self.mab.add(arm, arm)

        i = 1
        n = 10000
        limit = n * len(arms)
        from collections import defaultdict
        seen = defaultdict(int)
        for arm in self.mab:
            if i > limit:
                break
            seen[arm] += 1
            i += 1

        for arm in arms:
            # ensure we saw each arm about n times
            share = seen[arm] / float(n)
            self.assertAlmostEqual(1.0, share, 1)
 def setUp(self):
     self.mab = RandomMultiArmedBandit()
Exemplo n.º 4
0
 def setUp(self):
     self.mab = RandomMultiArmedBandit()