@@ -67,8 +67,9 @@ def test_redirect(needs_cloudscraper, urls) -> None:
67
67
68
68
69
69
@pytest .mark .net
70
- def test_validate_doi () -> None :
71
- data = [
70
+ @pytest .mark .parametrize (
71
+ "doi,url" ,
72
+ [
72
73
("10.1063/1.5081715" ,
73
74
"https://pubs.aip.org/jcp/article/150/7/074102/197572/Exact-two-component-equation-of-motion-coupled" ), # noqa: E501
74
75
("10.1007%2FBF01451751" ,
@@ -82,29 +83,41 @@ def test_validate_doi() -> None:
82
83
("10.1016/S0009-2614(97)04014-1" ,
83
84
"https://linkinghub.elsevier.com/retrieve/pii/S0009261497040141" ),
84
85
]
85
- for doi , url in data :
86
- assert normalize_eq (url , validate_doi (doi ))
86
+ )
87
+ def test_validate_doi (doi , url ) -> None :
88
+ assert normalize_eq (url , validate_doi (doi ))
89
+
87
90
88
- for doi in ["" , "asdf" ]:
89
- try :
90
- validate_doi (doi )
91
- except ValueError as e :
92
- assert str (e ) == "HTTP 404: DOI not found"
91
+ @pytest .mark .parametrize (
92
+ "doi" ,
93
+ [
94
+ "" ,
95
+ "asdf"
96
+ ]
97
+ )
98
+ def test_validate_invalid_doi (doi ) -> None :
99
+ try :
100
+ validate_doi (doi )
101
+ except ValueError as e :
102
+ assert str (e ) == "HTTP 404: DOI not found"
93
103
94
104
95
105
@pytest .mark .net
96
- def test_get_real_url_from_doi () -> None :
97
- data = [
106
+ @pytest .mark .parametrize (
107
+ "doi,url" ,
108
+ [
98
109
("10.1016/S0009-2614(97)04014-1" ,
99
110
"https://www.sciencedirect.com/science/"
100
111
"article/abs/pii/S0009261497040141" ),
101
112
]
102
- for doi , url in data :
103
- assert normalize_eq (url , get_real_url_from_doi (doi ))
113
+ )
114
+ def test_get_real_url_from_doi (doi , url ) -> None :
115
+ assert normalize_eq (url , get_real_url_from_doi (doi ))
104
116
105
117
106
- def test_find_doi_in_line () -> None :
107
- test_data = [
118
+ @pytest .mark .parametrize (
119
+ "url, doi" ,
120
+ [
108
121
("http://dx.doi.org/10.1063/1.881498" , "10.1063/1.881498" ),
109
122
("http://dx.doi.org/10.1063%2F1.881498" , "10.1063/1.881498" ),
110
123
(2 * "qer " + "var doi = '12345/12345.3'" , "12345/12345.3" ),
@@ -133,8 +146,9 @@ def test_find_doi_in_line() -> None:
133
146
"10.1016/j.comptc.2018.10.004" ),
134
147
("doi(10.1038/s41535-018-0103-6;)" , "10.1038/s41535-018-0103-6" ),
135
148
]
136
- for url , doi in test_data :
137
- assert find_doi_in_text (url ) == doi
149
+ )
150
+ def test_find_doi_in_line (url , doi ) -> None :
151
+ assert find_doi_in_text (url ) == doi
138
152
139
153
140
154
def test_doi_from_pdf () -> None :
0 commit comments