Prepare macOS package and improve output handling
This commit is contained in:
@@ -0,0 +1,38 @@
|
||||
import unittest
|
||||
from pathlib import Path
|
||||
|
||||
from radioeins_top100 import POINTS, derive_output_dir, parse_jury_page
|
||||
|
||||
|
||||
class RadioeinsTop100Tests(unittest.TestCase):
|
||||
def test_output_directory_is_derived_from_url_path(self):
|
||||
base = "https://www.radioeins.de/musik/top_100/2026"
|
||||
self.assertEqual(derive_output_dir(f"{base}/zeit/"), Path("output_zeit"))
|
||||
self.assertEqual(
|
||||
derive_output_dir(f"{base}/deutscher-hip-hop"),
|
||||
Path("output_deutscher-hip-hop"),
|
||||
)
|
||||
|
||||
def test_point_mapping(self):
|
||||
self.assertEqual(
|
||||
[POINTS[rank] for rank in range(1, 11)],
|
||||
[12, 10, 8, 7, 6, 5, 4, 3, 2, 1],
|
||||
)
|
||||
|
||||
def test_parse_existing_jury_fixture(self):
|
||||
fixture = Path(__file__).parent / "fixtures" / "aditya-sharma.html"
|
||||
votes = parse_jury_page(
|
||||
fixture.read_text(encoding="utf-8"),
|
||||
fallback_name="Fallback",
|
||||
source_url="https://example.test/aditya-sharma.html",
|
||||
)
|
||||
|
||||
self.assertEqual(len(votes), 10)
|
||||
self.assertEqual(votes[0].juror, "Aditya Sharma")
|
||||
self.assertEqual((votes[0].rank, votes[0].points), (1, 12))
|
||||
self.assertEqual((votes[1].artist, votes[1].title), ("Samy Deluxe", "Weck Mich Auf"))
|
||||
self.assertEqual((votes[-1].rank, votes[-1].points), (10, 1))
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
unittest.main()
|
||||
Reference in New Issue
Block a user