Skip to content

Commit 6f8f706

Browse files
committed
correctly failing unit test
1 parent 5a516cb commit 6f8f706

2 files changed

Lines changed: 68 additions & 1 deletion

File tree

pythonbible/tests/parser/parser_test.py

Lines changed: 67 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
from __future__ import annotations
22

3+
import pytest
34
import pythonbible as bible
45

56

@@ -334,3 +335,69 @@ def test_book_abbreviations() -> None:
334335

335336
if book != book.SONG_OF_SONGS:
336337
assert expected == actual_period
338+
339+
340+
@pytest.mark.parametrize(
341+
"input_reference, expected_output",
342+
[
343+
(
344+
"micah-jon",
345+
bible.NormalizedReference(
346+
book=bible.Book.MICAH,
347+
start_chapter=None,
348+
start_verse=None,
349+
end_chapter=None,
350+
end_verse=None,
351+
end_book=None,
352+
),
353+
),
354+
(
355+
"jon-jon",
356+
bible.NormalizedReference(
357+
book=bible.Book.JONAH,
358+
start_chapter=None,
359+
start_verse=None,
360+
end_chapter=None,
361+
end_verse=None,
362+
end_book=None,
363+
),
364+
),
365+
(
366+
"obadiah-jon",
367+
bible.NormalizedReference(
368+
book=bible.Book.OBADIAH,
369+
start_chapter=None,
370+
start_verse=None,
371+
end_chapter=None,
372+
end_verse=None,
373+
end_book=bible.Book.JONAH,
374+
),
375+
),
376+
(
377+
"jon-john",
378+
bible.NormalizedReference(
379+
book=bible.Book.JONAH,
380+
start_chapter=None,
381+
start_verse=None,
382+
end_chapter=None,
383+
end_verse=None,
384+
end_book=bible.Book.JOHN,
385+
)
386+
),
387+
],
388+
)
389+
def test_issue_235_jonah_abbreviation(
390+
input_reference: str,
391+
expected_output: bible.NormalizedReference,
392+
) -> None:
393+
"""Test for Issue 235 "Error getting reference to Jonah".
394+
395+
:param input_reference: The input reference string to test.
396+
:param expected_output: The expected normalized reference output.
397+
"""
398+
# Given a text string with an abbreviation for the book of Jonah
399+
# When we parse the references from that text
400+
references: list[bible.NormalizedReference] = bible.get_references(input_reference)
401+
402+
# Then the parser returns the appropriate normalized reference
403+
assert references == [expected_output]

pythonbible/uv.lock

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)