Files
@ 068be3e00177
Branch filter:
Location: Rank-Progress/test.py - annotation
068be3e00177
1.4 KiB
text/x-python
ranks tracked by the RankTracker
6644c5267fb5 6644c5267fb5 6644c5267fb5 6644c5267fb5 6644c5267fb5 6644c5267fb5 6644c5267fb5 6644c5267fb5 6644c5267fb5 6644c5267fb5 6644c5267fb5 6644c5267fb5 6644c5267fb5 6644c5267fb5 6644c5267fb5 6644c5267fb5 6644c5267fb5 6644c5267fb5 6644c5267fb5 6644c5267fb5 6644c5267fb5 6644c5267fb5 6644c5267fb5 6644c5267fb5 6644c5267fb5 6644c5267fb5 6644c5267fb5 6644c5267fb5 6644c5267fb5 6644c5267fb5 6644c5267fb5 6644c5267fb5 6644c5267fb5 6644c5267fb5 6644c5267fb5 6644c5267fb5 6644c5267fb5 6644c5267fb5 6644c5267fb5 6644c5267fb5 6644c5267fb5 6644c5267fb5 6644c5267fb5 6644c5267fb5 6644c5267fb5 6644c5267fb5 6644c5267fb5 6644c5267fb5 6644c5267fb5 6644c5267fb5 6644c5267fb5 6644c5267fb5 6644c5267fb5 6644c5267fb5 | from unittest import TestCase
from rank_progress import RankTracker
class TestRankTracker(TestCase):
def test_no_change(self):
t = RankTracker(1945) # 2k
for r in [1945, 1949, 1900, 1850]:
self.assertFalse(t.update(r), r)
def test_promotion(self):
# basic
t = RankTracker(1945)
for (rating, rank) in [(1950, "1k"), (1945, False), (2000, False), (2049, False), (2051, "1d")]:
self.assertEqual(t.update(rating), rank, (rating, rank))
# 2+ ranks leaps
# limited when pushing the personal best
self.skipTest("not yet implemented")
t = RankTracker(1100)
self.assertEqual(t.update(1299), "9k")
self.assertEqual(t.update(1250), "8k")
self.assertEqual(t.update(1500), "6k")
# regular below the personal best
t = RankTracker(1201) # 9k
t.update(1000)
t.update(900)
t.update(849) # 11k
self.assertEqual(t.update(1250), "8k")
def test_demotion(self):
t = RankTracker(2069)
self.assertEqual(t.update(1995), "1k")
t = RankTracker(1590)
self.assertEqual(t.update(1387), "7k")
t = RankTracker(1087)
self.assertFalse(t.update(995))
self.assertEqual(t.update(940), "11k")
def test_edges_cases(self):
t = RankTracker(-900)
self.assertEqual(t.rank, "30k")
with self.assertRaises(AssertionError):
t.update(-901)
t = RankTracker(2700)
self.assertEqual(t.rank, "7d")
self.assertFalse(t.update(2750))
self.assertFalse(t.update(2800))
|