import os import sys import unittest from src.tracking.tracking_utils import calculate_progress_stats class TestCalculateProgressStats(unittest.TestCase): def test_normal_case(self): ac_progress, b_progress = calculate_progress_stats(50, 100, 25, 50) self.assertAlmostEqual(ac_progress, 50.0) self.assertAlmostEqual(b_progress, 50.0) def test_zero_total(self): ac_progress, b_progress = calculate_progress_stats(50, 0, 25, 50) self.assertEqual(ac_progress, 0) self.assertAlmostEqual(b_progress, 50.0) def test_completed_exceeds_total(self): ac_progress, b_progress = calculate_progress_stats(120, 100, 60, 50) self.assertEqual(ac_progress, 100.0) self.assertEqual(b_progress, 100.0) def test_all_zeros(self): ac_progress, b_progress = calculate_progress_stats(0, 0, 0, 0) self.assertEqual(ac_progress, 0) self.assertEqual(b_progress, 0)