diff options
Diffstat (limited to 'packages/meshbay-node/tests/test_title_parse.py')
| -rw-r--r-- | packages/meshbay-node/tests/test_title_parse.py | 17 |
1 files changed, 14 insertions, 3 deletions
diff --git a/packages/meshbay-node/tests/test_title_parse.py b/packages/meshbay-node/tests/test_title_parse.py index 045635f..56f4e20 100644 --- a/packages/meshbay-node/tests/test_title_parse.py +++ b/packages/meshbay-node/tests/test_title_parse.py @@ -80,16 +80,27 @@ def test_sequel_variants_roman_numeral_offers_the_digit_form(): assert "Old Frontier 3" in v -def test_sequel_variants_strips_a_part_keyword_wrapper(): +def test_sequel_variants_rewrites_a_part_keyword_index_but_keeps_the_name(): + # §10.1/V14: with a "Part"/"Episode"/… keyword the bare base is + # withheld — "Some Saga" alone collides with a franchise-origin film. v = sequel_variants("Some Saga Part 2") - assert "Some Saga" in v assert "Some Saga II" in v + assert "Some Saga 2" in v + assert "Some Saga" not in v def test_sequel_variants_reads_a_spelled_out_index(): v = sequel_variants("Story Chapter Three") - assert "Story" in v assert "Story 3" in v and "Story III" in v + assert "Story" not in v # keyword present -> no bare base + + +def test_sequel_variants_star_wars_shape_does_not_offer_the_bare_franchise(): + # Every "<Franchise> Episode <N>" was matching the 1977 original + # because the "Franchise" variant hit it at ratio 1.0 (§10.1/V14). + v = sequel_variants("Star Wars Episode III") + assert "Star Wars" not in v + assert "Star Wars 3" in v def test_sequel_variants_ignores_a_trailing_word_that_is_not_an_index(): |