Skip to content

Commit ee71745

Browse files
committed
add tests for partial dois
1 parent 2148ccf commit ee71745

File tree

1 file changed

+52
-0
lines changed

1 file changed

+52
-0
lines changed
Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
from .. import Corpus, Article, starterdir
2+
from ..plos_regex import validate_partial_doi, validate_doi
3+
from ..transformations import partial_to_doi, doi_to_partial
4+
5+
import pytest
6+
7+
8+
@pytest.fixture
9+
def corpus():
10+
return Corpus(starterdir, seed=1000)
11+
12+
13+
@pytest.fixture
14+
def test_article():
15+
return Article('10.1371/journal.pone.0040259', directory=starterdir)
16+
17+
18+
@pytest.fixture
19+
def test_doi():
20+
return '10.1371/journal.pone.0040259'
21+
22+
23+
@pytest.fixture
24+
def test_partial_doi():
25+
return 'pone.0040259'
26+
27+
28+
def test_partial_doi_regex(test_partial_doi):
29+
assert validate_partial_doi(test_partial_doi)
30+
assert not validate_partial_doi(' pone.0040259')
31+
assert not validate_partial_doi('pone.0040259 ')
32+
33+
34+
def test_partial_doi_transform(test_doi, test_partial_doi):
35+
partial_doi = doi_to_partial(test_doi)
36+
assert partial_doi == test_partial_doi
37+
38+
39+
def test_doi_transform(test_partial_doi, test_doi):
40+
doi = partial_to_doi(test_partial_doi)
41+
assert validate_doi(doi)
42+
assert doi == test_doi
43+
44+
45+
def test_partial_doi_method_article(test_partial_doi, test_article):
46+
article = Article.from_partial_doi(test_partial_doi, directory=starterdir)
47+
assert article == test_article
48+
49+
50+
def test_partial_doi_method_corpus(corpus, test_article, test_partial_doi):
51+
article = corpus[test_partial_doi]
52+
assert article == test_article

0 commit comments

Comments
 (0)