Files
@ 6644c5267fb5
Branch filter:
Location: Rank-Progress/test.py - annotation
6644c5267fb5
1.4 KiB
text/x-python
added tests
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))
|