Files
@ 882866aa38f6
Branch filter:
Location: Rank-Progress/test.py - annotation
882866aa38f6
1.4 KiB
text/x-python
adjusted all.hst encoding to iso8859
6644c5267fb5 6644c5267fb5 6644c5267fb5 6644c5267fb5 6644c5267fb5 6644c5267fb5 6644c5267fb5 6644c5267fb5 6644c5267fb5 6644c5267fb5 6644c5267fb5 6644c5267fb5 6644c5267fb5 6644c5267fb5 6644c5267fb5 6644c5267fb5 6644c5267fb5 6644c5267fb5 6644c5267fb5 6644c5267fb5 2a3c04d47300 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))
|