Source code for berhoel.ctitools.cti2bibtex.tests.test_base
"""Basic tests for generating BibTex entries from c't and iX articles."""
from __future__ import annotations
# First party library imports.
from berhoel.ctitools.cti2bibtex import BiBTeXEntry
from berhoel.ctitools.ctientry import CTIEntry
__date__ = "2024/06/23 23:07:01 hoel"
__author__ = "Berthold Höllmann"
__copyright__ = "Copyright © 2022 by Berthold Höllmann"
__credits__ = ["Berthold Höllmann"]
__maintainer__ = "Berthold Höllmann"
__email__ = "berhoel@gmail.com"
[docs]
def test_with_shorttitle() -> None:
"""Test correct generation of BiBTeX file entry."""
probe = BiBTeXEntry(
CTIEntry(
shorttitle="shorttitle",
title="title",
author=("author",),
pages=42,
issue="issue",
info={"info": "data"},
journaltitle="journaltitle",
date="date",
references="references",
keywords="keywords",
),
)
result = str(probe)
reference = """@article{42:journaltitle_issue,
title = {title},
shorttitle = {shorttitle},
author = {author},
date = {date},
journaltitle = {journaltitle},
pages = {42},
issue = {issue},
keywords = {keywords},
}
"""
if result != reference:
msg = f"{result=} != {reference}"
raise AssertionError(msg)
[docs]
def test_without_shorttitle() -> None:
"""Test correct generation of BiBTeX file entry."""
probe = BiBTeXEntry(
CTIEntry(
shorttitle=None,
title="title",
author=("author",),
pages=3,
issue="issue",
info={"info": "data"},
journaltitle="journaltitle",
date="date",
references="references",
keywords="keywords",
),
)
result = str(probe)
reference = """@article{3:journaltitle_issue,
title = {title},
author = {author},
date = {date},
journaltitle = {journaltitle},
pages = {3},
issue = {issue},
keywords = {keywords},
}
"""
if result != reference:
msg = f"{result=} != {reference=}"
raise AssertionError(msg)