def test_new_rating(self): new_rating = self.gl2.create_rating() user = User(self.app, username="******", perfs={variant: DEFAULT_PERF for variant in VARIANTS}) result = user.get_rating("chess", False) self.assertEqual(result.mu, new_rating.mu)
def test_rating(self): u1 = User( perfs={ "chess": { "la": datetime.utcnow(), "gl": { "r": 1500, "d": 200, "v": 0.06 } } }) r1 = u1.get_rating("chess") self.assertEqual(r1.mu, 1500) self.assertEqual(r1.phi, 200) self.assertEqual(r1.sigma, 0.06) u2 = User( perfs={ "chess": { "la": datetime.utcnow(), "gl": { "r": 1400, "d": 30, "v": 0.06 } } }) r2 = u2.get_rating("chess") self.assertEqual(r2.mu, 1400) u3 = User( perfs={ "chess": { "la": datetime.utcnow(), "gl": { "r": 1550, "d": 100, "v": 0.06 } } }) r3 = u3.get_rating("chess") self.assertEqual(r3.mu, 1550) u4 = User( perfs={ "chess": { "la": datetime.utcnow(), "gl": { "r": 1700, "d": 300, "v": 0.06 } } }) r4 = u4.get_rating("chess") self.assertEqual(r4.mu, 1700) async def coro(): rating = await self.gl2.rate(r1, [(WIN, r2), (LOSS, r3), (LOSS, r4)]) return rating new_rating = self.loop.run_until_complete(coro()) self.assertEqual(round(new_rating.mu, 3), 1464.051) self.assertEqual(round(new_rating.phi, 3), 151.515) self.assertEqual(round(new_rating.sigma, 6), 0.059996) async def coro(user, rating): await user.set_rating("chess", rating) self.loop.run_until_complete(coro(u1, new_rating)) r1 = u1.get_rating("chess") self.assertEqual(round(r1.mu, 3), 1464.051) self.assertEqual(round(r1.phi, 3), 151.515) self.assertEqual(round(r1.sigma, 6), 0.059996)
def test_new_rating(self): new_rating = self.gl2.create_rating() user = User() result = user.get_rating("chess") self.assertEqual(result.mu, new_rating.mu)