Skip to content

Module manubot.cite.tests.test_wikidata

View Source
from manubot.cite.wikidata import get_wikidata_csl_item

def test_get_wikidata_csl_item():

    """

    Test metadata extraction from https://www.wikidata.org/wiki/Q50051684

    """

    wikidata_id = "Q50051684"

    csl_item = get_wikidata_csl_item(wikidata_id)

    assert (

        "Sci-Hub provides access to nearly all scholarly literature"

        in csl_item["title"]

    )

    assert csl_item["container-title"] == "eLife"

    assert csl_item["DOI"] == "10.7554/elife.32822"

def test_get_wikidata_csl_item_author_ordering():

    """

    Test extraction of author ordering from https://www.wikidata.org/wiki/Q50051684.

    Wikidata uses a "series ordinal" qualifier that must be considered or else author

    ordering may be wrong.

    Author ordering was previously not properly set by the Wikidata translator

    https://github.com/zotero/translators/issues/1790

    """

    wikidata_id = "Q50051684"

    csl_item = get_wikidata_csl_item(wikidata_id)

    family_names = [author["family"] for author in csl_item["author"]]

    print(family_names)

    assert family_names == [

        "Himmelstein",

        "Romero",

        "Levernier",

        "Munro",

        "McLaughlin",

        "Tzovaras",

        "Greene",

    ]

Functions

test_get_wikidata_csl_item

def test_get_wikidata_csl_item(

)

Test metadata extraction from https://www.wikidata.org/wiki/Q50051684

View Source
def test_get_wikidata_csl_item():

    """

    Test metadata extraction from https://www.wikidata.org/wiki/Q50051684

    """

    wikidata_id = "Q50051684"

    csl_item = get_wikidata_csl_item(wikidata_id)

    assert (

        "Sci-Hub provides access to nearly all scholarly literature"

        in csl_item["title"]

    )

    assert csl_item["container-title"] == "eLife"

    assert csl_item["DOI"] == "10.7554/elife.32822"

test_get_wikidata_csl_item_author_ordering

def test_get_wikidata_csl_item_author_ordering(

)

Test extraction of author ordering from https://www.wikidata.org/wiki/Q50051684.

Wikidata uses a "series ordinal" qualifier that must be considered or else author ordering may be wrong.

Author ordering was previously not properly set by the Wikidata translator https://github.com/zotero/translators/issues/1790

View Source
def test_get_wikidata_csl_item_author_ordering():

    """

    Test extraction of author ordering from https://www.wikidata.org/wiki/Q50051684.

    Wikidata uses a "series ordinal" qualifier that must be considered or else author

    ordering may be wrong.

    Author ordering was previously not properly set by the Wikidata translator

    https://github.com/zotero/translators/issues/1790

    """

    wikidata_id = "Q50051684"

    csl_item = get_wikidata_csl_item(wikidata_id)

    family_names = [author["family"] for author in csl_item["author"]]

    print(family_names)

    assert family_names == [

        "Himmelstein",

        "Romero",

        "Levernier",

        "Munro",

        "McLaughlin",

        "Tzovaras",

        "Greene",

    ]