Changeset - 9598ea1d80e2
[Not reviewed]
default
0 2 0
Laman - 7 months ago 2024-09-19 11:18:50

changed to report only new personal bests, no demotions, no repeated promotions
2 files changed with 23 insertions and 7 deletions:
0 comments (0 inline, 0 general)
rank_progress.py
Show inline comments
 
@@ -77,9 +77,11 @@ class RankTracker:
 
			else:
 
				pass
 

	
 
		self._best = max(self._best, self._rounded_rating)
 
		new_rank = self.rank
 
		return new_rank if new_rank != old_rank else False
 
		if self._rounded_rating > self._best and self.rank != old_rank:
 
			self._best = self._rounded_rating
 
			return self.rank
 
		else:
 
			return False
 

	
 

	
 
def parse_record(record):
test.py
Show inline comments
 
@@ -18,7 +18,6 @@ class TestRankTracker(TestCase):
 
		# 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")
 
@@ -31,16 +30,31 @@ class TestRankTracker(TestCase):
 
		t.update(849)  # 11k
 
		self.assertEqual(t.update(1250), "8k")
 

	
 
	def test_repeated_promotion(self):
 
		t = RankTracker(1945)
 

	
 
		self.assertEqual(t.update(1950), "1k")
 
		self.assertFalse(t.update(1895))
 
		self.assertEqual(t.rank, "2k")
 
		self.assertFalse(t.update( 1951))
 
		self.assertEqual(t.rank, "1k")
 
		self.assertFalse(t.update(2049))
 
		self.assertEqual(t.update(2051), "1d")
 

	
 
	def test_demotion(self):
 
		t = RankTracker(2069)
 
		self.assertEqual(t.update(1995), "1k")
 
		self.assertFalse(t.update(1995))  # 1k
 
		self.assertEqual(t.rank, "1k")
 

	
 
		t = RankTracker(1590)
 
		self.assertEqual(t.update(1387), "7k")
 
		self.assertFalse(t.update(1387))  # 7k
 
		self.assertEqual(t.rank, "7k")
 

	
 
		t = RankTracker(1087)
 
		self.assertFalse(t.update(995))
 
		self.assertEqual(t.update(940), "11k")
 
		self.assertEqual(t.rank, "10k")
 
		self.assertFalse(t.update(940))  # 11k
 
		self.assertEqual(t.rank, "11k")
 

	
 
	def test_edges_cases(self):
 
		t = RankTracker(-900)
0 comments (0 inline, 0 general)