"""Unit tests for structured issue/branch ownership parsing (#440).""" import sys import unittest from pathlib import Path sys.path.insert(0, str(Path(__file__).resolve().parent.parent)) from issue_branch_ownership import ( # noqa: E402 branch_tracks_issue, parse_tracked_issue_number, ) class TestIssueBranchOwnership(unittest.TestCase): def test_parses_canonical_author_branch(self): self.assertEqual( parse_tracked_issue_number("feat/issue-420-server-code-parity"), 420, ) def test_issue_4200_does_not_track_issue_420(self): self.assertEqual(parse_tracked_issue_number("feat/issue-4200-unrelated"), 4200) self.assertFalse(branch_tracks_issue("feat/issue-4200-unrelated", 420)) def test_branch_tracks_issue_exact_match(self): self.assertTrue( branch_tracks_issue("fix/issue-440-branch-recovery", 440) ) def test_unrelated_branch_does_not_track(self): self.assertFalse(branch_tracks_issue("feat/issue-999-other", 440)) if __name__ == "__main__": unittest.main()