bolognese 2.3.7 → 2.3.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/Gemfile.lock +1 -1
- data/README.md +1 -1
- data/bolognese.gemspec +1 -2
- data/lib/bolognese/datacite_utils.rb +10 -3
- data/lib/bolognese/readers/datacite_reader.rb +5 -9
- data/lib/bolognese/utils.rb +4 -2
- data/lib/bolognese/version.rb +1 -1
- metadata +2 -545
- data/spec/array_spec.rb +0 -22
- data/spec/author_utils_spec.rb +0 -259
- data/spec/cli_spec.rb +0 -226
- data/spec/datacite_utils_spec.rb +0 -357
- data/spec/doi_utils_spec.rb +0 -314
- data/spec/find_from_format_spec.rb +0 -114
- data/spec/fixtures/aida.json +0 -82
- data/spec/fixtures/cgimp_package.json +0 -18
- data/spec/fixtures/cit_package.json +0 -19
- data/spec/fixtures/citeproc-no-author.json +0 -26
- data/spec/fixtures/citeproc-no-categories.json +0 -21
- data/spec/fixtures/citeproc.json +0 -36
- data/spec/fixtures/codemeta.json +0 -86
- data/spec/fixtures/codemeta_v2.json +0 -86
- data/spec/fixtures/crosscite.json +0 -63
- data/spec/fixtures/crossref.bib +0 -14
- data/spec/fixtures/crossref.ris +0 -15
- data/spec/fixtures/crossref.xml +0 -606
- data/spec/fixtures/crossref_schema_4.6_values.xml +0 -183
- data/spec/fixtures/datacite-by-nd-4.0.xml +0 -51
- data/spec/fixtures/datacite-empty-sizes.xml +0 -57
- data/spec/fixtures/datacite-example-ROR-nameIdentifiers.xml +0 -125
- data/spec/fixtures/datacite-example-affiliation.xml +0 -114
- data/spec/fixtures/datacite-example-ancientdates-v4.3.xml +0 -29
- data/spec/fixtures/datacite-example-complicated-tba.xml +0 -56
- data/spec/fixtures/datacite-example-complicated-v3.0.xml +0 -48
- data/spec/fixtures/datacite-example-complicated-v4.0.xml +0 -54
- data/spec/fixtures/datacite-example-complicated-v4.1.xml +0 -57
- data/spec/fixtures/datacite-example-dissertation-v4.4.xml +0 -56
- data/spec/fixtures/datacite-example-escaped-text.xml +0 -56
- data/spec/fixtures/datacite-example-full-v4.4.xml +0 -114
- data/spec/fixtures/datacite-example-full-v4.5.xml +0 -255
- data/spec/fixtures/datacite-example-full-v4.6.xml +0 -114
- data/spec/fixtures/datacite-example-geolocation-2.xml +0 -141
- data/spec/fixtures/datacite-example-geolocation.xml +0 -66
- data/spec/fixtures/datacite-example-nameIdentifier-with-schemeURI.xml +0 -94
- data/spec/fixtures/datacite-example-polygon-v4.1.xml +0 -163
- data/spec/fixtures/datacite-example-relateditems-with-attributes.xml +0 -61
- data/spec/fixtures/datacite-example-relateditems.xml +0 -61
- data/spec/fixtures/datacite-example-xs-string.xml +0 -28
- data/spec/fixtures/datacite-formats-with-xs.xml +0 -22
- data/spec/fixtures/datacite-funderIdentifier.xml +0 -98
- data/spec/fixtures/datacite-geolocation-empty.xml +0 -159
- data/spec/fixtures/datacite-geolocationpolygons-multiple.xml +0 -76
- data/spec/fixtures/datacite-metadata-sample-complicated-v2.2.xml +0 -52
- data/spec/fixtures/datacite-multiple-language.xml +0 -38
- data/spec/fixtures/datacite-multiple-rights.xml +0 -59
- data/spec/fixtures/datacite-schema-2.2.xml +0 -80
- data/spec/fixtures/datacite-seriesinformation.xml +0 -46
- data/spec/fixtures/datacite-space-in-sizes.xml +0 -52
- data/spec/fixtures/datacite-xml-lang.xml +0 -51
- data/spec/fixtures/datacite.json +0 -89
- data/spec/fixtures/datacite.xml +0 -40
- data/spec/fixtures/datacite_blank_name_identifier.xml +0 -22
- data/spec/fixtures/datacite_blank_publisher.xml +0 -18
- data/spec/fixtures/datacite_dataset.xml +0 -58
- data/spec/fixtures/datacite_journal_article.xml +0 -64
- data/spec/fixtures/datacite_malformed_creator.xml +0 -52
- data/spec/fixtures/datacite_missing_creator.xml +0 -33
- data/spec/fixtures/datacite_schema_3.xml +0 -58
- data/spec/fixtures/datacite_software.json +0 -21
- data/spec/fixtures/datacite_software_missing_comma.json +0 -18
- data/spec/fixtures/datacite_software_overlapping_keys.json +0 -18
- data/spec/fixtures/datacite_software_version.json +0 -74
- data/spec/fixtures/edam_package.json +0 -12
- data/spec/fixtures/funding_reference.xml +0 -53
- data/spec/fixtures/gtex.xml +0 -71
- data/spec/fixtures/maremma/codemeta.json +0 -36
- data/spec/fixtures/nist.xml +0 -35
- data/spec/fixtures/ns0.xml +0 -2
- data/spec/fixtures/pure.bib +0 -14
- data/spec/fixtures/pure.ris +0 -15
- data/spec/fixtures/pure.xml +0 -188
- data/spec/fixtures/ris_bug.ris +0 -9
- data/spec/fixtures/schema_4.0.xml +0 -140
- data/spec/fixtures/schema_org.json +0 -50
- data/spec/fixtures/schema_org_4.6_attributes.json +0 -108
- data/spec/fixtures/schema_org_geolocation.json +0 -82
- data/spec/fixtures/schema_org_geoshape.json +0 -550
- data/spec/fixtures/schema_org_gtex.json +0 -75
- data/spec/fixtures/schema_org_list.json +0 -12623
- data/spec/fixtures/schema_org_tdl_iodp_invalid_authors.json +0 -25
- data/spec/fixtures/schema_org_topmed.json +0 -53
- data/spec/fixtures/schema_org_type_as_array.json +0 -41
- data/spec/fixtures/vcr_cassettes/Bolognese_CLI/convert_from_id/crossref/default.yml +0 -106
- data/spec/fixtures/vcr_cassettes/Bolognese_CLI/convert_from_id/crossref/to_bibtex.yml +0 -106
- data/spec/fixtures/vcr_cassettes/Bolognese_CLI/convert_from_id/crossref/to_citation.yml +0 -106
- data/spec/fixtures/vcr_cassettes/Bolognese_CLI/convert_from_id/crossref/to_crossref.yml +0 -106
- data/spec/fixtures/vcr_cassettes/Bolognese_CLI/convert_from_id/crossref/to_datacite.yml +0 -106
- data/spec/fixtures/vcr_cassettes/Bolognese_CLI/convert_from_id/crossref/to_jats.yml +0 -106
- data/spec/fixtures/vcr_cassettes/Bolognese_CLI/convert_from_id/crossref/to_schema_org.yml +0 -106
- data/spec/fixtures/vcr_cassettes/Bolognese_CLI/convert_from_id/datacite/default.yml +0 -106
- data/spec/fixtures/vcr_cassettes/Bolognese_CLI/convert_from_id/datacite/to_bibtex.yml +0 -106
- data/spec/fixtures/vcr_cassettes/Bolognese_CLI/convert_from_id/datacite/to_citation.yml +0 -106
- data/spec/fixtures/vcr_cassettes/Bolognese_CLI/convert_from_id/datacite/to_datacite.yml +0 -106
- data/spec/fixtures/vcr_cassettes/Bolognese_CLI/convert_from_id/datacite/to_datacite_json.yml +0 -106
- data/spec/fixtures/vcr_cassettes/Bolognese_CLI/convert_from_id/datacite/to_jats.yml +0 -106
- data/spec/fixtures/vcr_cassettes/Bolognese_CLI/convert_from_id/datacite/to_schema_org.yml +0 -106
- data/spec/fixtures/vcr_cassettes/Bolognese_CLI/convert_from_id/schema_org/default.yml +0 -117
- data/spec/fixtures/vcr_cassettes/Bolognese_CLI/convert_from_id/schema_org/to_datacite.yml +0 -117
- data/spec/fixtures/vcr_cassettes/Bolognese_CLI/convert_from_id/schema_org/to_schema_org.yml +0 -115
- data/spec/fixtures/vcr_cassettes/Bolognese_CLI/find_from_format_by_id/crossref.yml +0 -54
- data/spec/fixtures/vcr_cassettes/Bolognese_CLI/find_from_format_by_id/datacite.yml +0 -54
- data/spec/fixtures/vcr_cassettes/Bolognese_CLI/find_from_format_by_id/jalc.yml +0 -54
- data/spec/fixtures/vcr_cassettes/Bolognese_CLI/find_from_format_by_id/kisti.yml +0 -54
- data/spec/fixtures/vcr_cassettes/Bolognese_CLI/find_from_format_by_id/medra.yml +0 -54
- data/spec/fixtures/vcr_cassettes/Bolognese_CLI/find_from_format_by_id/op.yml +0 -54
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/authors_as_string/author.yml +0 -48
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/authors_as_string/no_author.yml +0 -48
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/authors_as_string/single_author.yml +0 -48
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/authors_as_string/with_organization.yml +0 -48
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/change_datacite_metadata/change_state.yml +0 -106
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/change_datacite_metadata/change_title.yml +0 -106
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/change_metadata_as_datacite_xml/change_description.yml +0 -55
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/change_metadata_as_datacite_xml/change_identifiers.yml +0 -55
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/change_metadata_as_datacite_xml/change_license.yml +0 -55
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/change_metadata_as_datacite_xml/change_license_name.yml +0 -55
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/change_metadata_as_datacite_xml/change_license_url.yml +0 -55
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/change_metadata_as_datacite_xml/change_state.yml +0 -55
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/change_metadata_as_datacite_xml/validates_against_schema.yml +0 -55
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/change_metadata_as_datacite_xml/with_data_citation.yml +0 -55
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_api_url/doi.yml +0 -48
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_api_url/doi_with_protocol.yml +0 -48
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_api_url/dx_doi_org_url.yml +0 -48
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_api_url/force_test_resolver.yml +0 -48
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_api_url/https_url.yml +0 -48
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_api_url/test_resolver.yml +0 -48
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_api_url/test_resolver_http.yml +0 -48
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_from_url/doi.yml +0 -48
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_from_url/doi_with_special_characters.yml +0 -48
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_from_url/not_a_doi.yml +0 -48
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_from_url/sandbox_url.yml +0 -48
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_from_url/url.yml +0 -48
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_registration_agency/crossref.yml +0 -99
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_registration_agency/datacite.yml +0 -99
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_registration_agency/jalc.yml +0 -99
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_registration_agency/kisti.yml +0 -99
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_registration_agency/medra.yml +0 -99
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_registration_agency/not_a_valid_prefix.yml +0 -48
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_registration_agency/not_found.yml +0 -99
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_registration_agency/op.yml +0 -99
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_resolver/doi.yml +0 -48
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_resolver/doi_with_protocol.yml +0 -48
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_resolver/dx_doi_org_url.yml +0 -48
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_resolver/force_stage_resolver.yml +0 -48
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_resolver/https_url.yml +0 -48
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_resolver/stage_resolver.yml +0 -48
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_resolver/stage_resolver_http.yml +0 -48
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/find_from_format_by_ID/crossref.yml +0 -157
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/find_from_format_by_ID/crossref_doi_not_url.yml +0 -157
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/find_from_format_by_ID/datacite.yml +0 -157
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/find_from_format_by_ID/datacite_doi_http.yml +0 -157
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/find_from_format_by_ID/github.yml +0 -106
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/find_from_format_by_ID/orcid.yml +0 -106
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/find_from_format_by_ID/schema_org.yml +0 -106
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/find_from_format_by_ID/unknown_DOI_registration_agency.yml +0 -157
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/find_from_format_from_file/bibtex.yml +0 -106
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/find_from_format_from_file/citeproc.yml +0 -106
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/find_from_format_from_file/codemeta.yml +0 -106
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/find_from_format_from_file/crosscite.yml +0 -106
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/find_from_format_from_file/crossref.yml +0 -106
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/find_from_format_from_file/datacite.yml +0 -106
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/find_from_format_from_file/datacite_json.yml +0 -106
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/find_from_format_from_file/ris.yml +0 -106
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/find_from_format_from_file/schema_org.yml +0 -106
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/find_from_format_from_string/crosscite.yml +0 -106
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/fos/hsh_to_fos_for_match.yml +0 -48
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/fos/hsh_to_fos_for_with_schemeUri_in_hash.yml +0 -48
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/fos/hsh_to_fos_match.yml +0 -48
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/fos/hsh_to_fos_no_match.yml +0 -48
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/fos/name_to_fos_for_match.yml +0 -48
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/fos/name_to_fos_match.yml +0 -48
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/fos/name_to_fos_no_match.yml +0 -48
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/from_schema_org/with_id.yml +0 -48
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/from_schema_org_creators/with_affiliation.yml +0 -48
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/from_schema_org_creators/without_affiliation.yml +0 -48
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_codemeta_metadata/maremma.yml +0 -75
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_codemeta_metadata/metadata_reports.yml +0 -75
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/DOI_with_ORCID_ID.yml +0 -103
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/DOI_with_SICI_DOI.yml +0 -102
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/DOI_with_data_citation.yml +0 -106
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/JaLC.yml +0 -137
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/KISTI.yml +0 -158
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/OP.yml +0 -100
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/affiliation_is_space.yml +0 -101
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/another_book.yml +0 -98
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/another_book_chapter.yml +0 -100
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/article_id_as_page_number.yml +0 -101
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/author_literal.yml +0 -108
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/book.yml +0 -99
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/book_chapter.yml +0 -170
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/book_chapter_with_RDF_for_container.yml +0 -99
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/book_oup.yml +0 -98
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/component.yml +0 -120
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/dataset.yml +0 -130
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/dataset_usda.yml +0 -143
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/date_in_future.yml +0 -101
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/dissertation.yml +0 -129
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/empty_given_name.yml +0 -101
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/invalid_date.yml +0 -101
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/journal_article.yml +0 -100
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/journal_article_original_language_title.yml +0 -99
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/journal_article_with.yml +0 -104
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/journal_article_with_RDF_for_container.yml +0 -99
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/journal_article_with_funding.yml +0 -100
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/journal_issue.yml +0 -127
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/mEDRA.yml +0 -98
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/markup.yml +0 -105
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/missing_creator.yml +0 -100
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/multiple_issn.yml +0 -99
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/multiple_titles.yml +0 -98
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/multiple_titles_with_missing.yml +0 -450
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/not_found_error.yml +0 -97
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/peer_review.yml +0 -103
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/posted_content.yml +0 -99
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/posted_content_copernicus.yml +0 -102
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/report_osti.yml +0 -144
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/vor_with_url.yml +0 -102
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/yet_another_book.yml +0 -99
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/yet_another_book_chapter.yml +0 -99
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_json_metadata/metadata_from_api.yml +0 -106
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/BlogPosting.yml +0 -106
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/DOI_in_staging_system.yml +0 -106
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/DOI_in_staging_system_schema_3.yml +0 -106
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/DOI_in_with_related_id_system.yml +0 -106
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/DOI_not_found.yml +0 -102
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/Dataset.yml +0 -106
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/Funding.yml +0 -106
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/Funding_empty_awardTitle.yml +0 -106
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/Funding_schema_version_4.yml +0 -106
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/Referee_report_in_staging_system.yml +0 -106
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/Schema_org_type.yml +0 -106
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/author_only_full_name.yml +0 -106
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/author_with_scheme.yml +0 -106
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/author_with_wrong_orcid_scheme.yml +0 -106
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/cc-by_3_0_us.yml +0 -106
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/content_url.yml +0 -106
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/date.yml +0 -106
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/dissertation.yml +0 -106
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/doi_with_sign.yml +0 -106
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/empty_subject.yml +0 -106
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/even_more_subject_scheme_FOR.yml +0 -106
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/funding_references.yml +0 -106
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/funding_schema_version_3.yml +0 -106
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/is_identical_to.yml +0 -106
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/keywords_with_attributes.yml +0 -106
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/leading_and_trailing_whitespace.yml +0 -106
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/more_subject_scheme_FOR.yml +0 -106
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/multiple_author_names_in_one_creatorsName.yml +0 -106
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/multiple_licenses.yml +0 -106
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/series-information.yml +0 -106
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/subject_scheme.yml +0 -106
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/subject_scheme_FOR.yml +0 -106
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_date/publication_date.yml +0 -48
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_date_from_date_parts/date.yml +0 -48
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_date_from_date_parts/year-month.yml +0 -48
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_date_from_date_parts/year.yml +0 -48
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_date_from_parts/date.yml +0 -48
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_date_from_parts/year-month.yml +0 -48
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_date_from_parts/year.yml +0 -48
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_date_parts/date.yml +0 -48
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_date_parts/year-month.yml +0 -48
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_date_parts/year.yml +0 -48
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datetime_from_time/future.yml +0 -48
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datetime_from_time/invalid.yml +0 -48
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datetime_from_time/nil.yml +0 -48
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datetime_from_time/past.yml +0 -48
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datetime_from_time/present.yml +0 -48
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_one_author/has_familyName.yml +0 -55
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_one_author/has_name_in_Thai.yml +0 -55
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_one_author/has_name_in_display-order.yml +0 -55
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_one_author/has_name_in_display-order_with_ORCID.yml +0 -55
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_one_author/has_name_in_sort-order.yml +0 -55
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_one_author/hyper-authorship.yml +0 -55
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_one_author/is_organization.yml +0 -48
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_one_author/multiple_author_names_in_one_field.yml +0 -55
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_one_author/multiple_name_identifier.yml +0 -55
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_one_author/name_with_affiliation.yml +0 -55
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_one_author/name_with_affiliation_and_country.yml +0 -114
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_one_author/name_with_role.yml +0 -55
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_one_author/only_familyName_and_givenName.yml +0 -57
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_schema_org_metadata/BlogPosting.yml +0 -117
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_schema_org_metadata/BlogPosting_with_new_DOI.yml +0 -117
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_schema_org_metadata/harvard_dataverse.yml +0 -40
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_schema_org_metadata/pangaea.yml +0 -57
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_schema_org_metadata/zenodo.yml +0 -62
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_series_information/only_title.yml +0 -48
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_series_information/title_and_pages.yml +0 -48
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_series_information/title_volume_and_pages.yml +0 -48
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_series_information/title_volume_issue_and_pages.yml +0 -48
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/github/github_as_codemeta_url.yml +0 -48
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/github/github_from_url.yml +0 -48
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/github/github_from_url_file.yml +0 -48
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/handle_input/DOI_RA_not_Crossref_or_DataCite.yml +0 -54
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/handle_input/unknown_DOI_prefix.yml +0 -54
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_contributors/none.yml +0 -55
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_contributors_Translator/supports_Translator_contributorType.yml +0 -71
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_creators/insert.yml +0 -55
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_dates/insert.yml +0 -55
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_dates_with_Coverage/inserts_date_with_dateType_Coverage.yml +0 -71
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_descriptions/insert.yml +0 -55
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_identifier/doi.yml +0 -55
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_language/insert.yml +0 -55
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_person/creator_only_name.yml +0 -55
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_publication_year/insert.yml +0 -55
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_publisher/insert.yml +0 -55
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_related_identifiers/insert.yml +0 -55
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_related_identifiers/related_identifier.yml +0 -55
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_related_identifiers_CSTR/supports_CSTR_relatedIdentifierType.yml +0 -71
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_related_identifiers_HasTranslation/supports_HasTranslation_relationType.yml +0 -71
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_related_identifiers_RRID/supports_RRID_relatedIdentifierType.yml +0 -71
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_related_items/insert.yml +0 -73
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_resource_type/insert.yml +0 -55
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_resource_type_with_Award/supports_Award_as_resourceTypeGeneral.yml +0 -71
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_resource_type_with_Project/supports_Project_as_resourceTypeGeneral.yml +0 -71
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_rights_list/insert.yml +0 -55
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_sizes/insert.yml +0 -55
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_subjects/insert.yml +0 -73
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_titles/insert.yml +0 -55
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_version/insert.yml +0 -55
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/is_personal_name_/has_comma.yml +0 -48
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/is_personal_name_/has_family_name.yml +0 -48
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/is_personal_name_/has_id.yml +0 -48
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/is_personal_name_/has_known_given_name.yml +0 -48
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/is_personal_name_/has_no_info.yml +0 -48
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/is_personal_name_/has_orcid_id.yml +0 -48
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/is_personal_name_/has_type_organization.yml +0 -48
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/jsonlint/missing_comma.yml +0 -106
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/jsonlint/nil.yml +0 -106
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/jsonlint/overlapping_keys.yml +0 -106
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/jsonlint/valid.yml +0 -106
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_cc_url/not_found.yml +0 -48
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_cc_url/with_trailing_slash.yml +0 -48
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_cc_url/with_trailing_slash_and_to_https.yml +0 -48
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_doi/SICI_doi.yml +0 -48
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_doi/doi.yml +0 -48
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_doi/doi_force_datacite_sandbox.yml +0 -48
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_doi/doi_from_datacite_sandbox.yml +0 -48
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_doi/doi_from_url_without_doi_proxy.yml +0 -48
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_doi/doi_prefix_too_long.yml +0 -48
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_doi/doi_prefix_with_string.yml +0 -48
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_doi/doi_with_protocol.yml +0 -48
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_doi/dx_doi_org_url.yml +0 -48
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_doi/https_url.yml +0 -48
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_doi/not_valid_doi_prefix.yml +0 -48
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_doi/url_with_one_slash.yml +0 -48
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_id/doi.yml +0 -48
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_id/doi_as_url.yml +0 -48
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_id/ftp.yml +0 -48
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_id/invalid_url.yml +0 -48
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_id/sandbox_via_options.yml +0 -48
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_id/sandbox_via_url.yml +0 -48
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_id/string.yml +0 -48
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_id/url.yml +0 -48
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_id/url_with_utf-8.yml +0 -48
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_ids/doi.yml +0 -48
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_ids/url.yml +0 -48
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_issn/from_array.yml +0 -48
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_issn/from_empty_array.yml +0 -48
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_issn/from_hash.yml +0 -48
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_issn/from_string.yml +0 -48
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_url/uri.yml +0 -48
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_url/with_trailing_slash.yml +0 -48
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_url/with_trailing_slash_and_to_https.yml +0 -48
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/parse_attributes/array.yml +0 -48
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/parse_attributes/array_of_strings.yml +0 -48
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/parse_attributes/first.yml +0 -48
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/parse_attributes/hash.yml +0 -48
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/parse_attributes/nil.yml +0 -48
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/parse_attributes/string.yml +0 -48
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/sanitize/should_only_keep_specific_tags.yml +0 -48
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/sanitize/should_remove_a_tags.yml +0 -48
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/spdx/hsh_to_spdx_id.yml +0 -48
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/spdx/hsh_to_spdx_not_found.yml +0 -48
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/spdx/hsh_to_spdx_url.yml +0 -48
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/spdx/name_to_spdx_exists.yml +0 -48
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/spdx/name_to_spdx_id.yml +0 -48
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/to_schema_org/with_id.yml +0 -48
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/to_schema_org_identifiers/with_identifiers.yml +0 -48
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_doi/doi.yml +0 -48
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_funder_doi/1_7_10.yml +0 -48
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_funder_doi/1_7_11.yml +0 -48
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_funder_doi/1_7_12.yml +0 -48
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_funder_doi/1_7_13.yml +0 -48
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_funder_doi/1_7_14.yml +0 -48
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_funder_doi/1_7_4.yml +0 -48
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_funder_doi/1_7_5.yml +0 -48
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_funder_doi/1_7_6.yml +0 -48
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_funder_doi/1_7_7.yml +0 -48
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_funder_doi/1_7_8.yml +0 -48
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_funder_doi/1_7_9.yml +0 -48
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_funder_doi/funder_doi.yml +0 -48
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_funder_doi/funder_doi_without_prefix.yml +0 -48
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_funder_doi/non-funder_doi.yml +0 -48
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_orcid/validate_orcid.yml +0 -48
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_orcid/validate_orcid_https.yml +0 -48
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_orcid/validate_orcid_id.yml +0 -48
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_orcid/validate_orcid_sandbox.yml +0 -65
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_orcid/validate_orcid_sandbox_https.yml +0 -65
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_orcid/validate_orcid_with_spaces.yml +0 -48
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_orcid/validate_orcid_wrong_id.yml +0 -48
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_orcid/validate_orcid_www.yml +0 -48
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_orcid_scheme/validate_orcid_scheme.yml +0 -48
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_orcid_scheme/validate_orcid_scheme_https.yml +0 -48
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_orcid_scheme/validate_orcid_scheme_trailing_slash.yml +0 -48
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_orcid_scheme/validate_orcid_scheme_www.yml +0 -48
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_prefix/doi.yml +0 -48
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_prefix/doi_as_url.yml +0 -48
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_prefix/doi_with_protocol.yml +0 -48
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_prefix/only_prefix.yml +0 -48
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_url/DOI.yml +0 -48
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_url/ISSN.yml +0 -48
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_url/URL.yml +0 -48
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_url/string.yml +0 -48
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_bibtex/BlogPosting.yml +0 -55
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_bibtex/Dataset.yml +0 -55
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_bibtex/authors_with_affiliations.yml +0 -114
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_bibtex/climate_data.yml +0 -55
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_bibtex/from_schema_org.yml +0 -115
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_bibtex/keywords_subject_scheme.yml +0 -55
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_bibtex/maremma.yml +0 -75
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_bibtex/text.yml +0 -55
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_bibtex/with_data_citation.yml +0 -55
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_bibtex/with_pages.yml +0 -52
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_citation/Dataset.yml +0 -55
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_citation/Journal_article.yml +0 -55
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_citation/Journal_article_vancouver_style.yml +0 -55
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_citation/Missing_author.yml +0 -49
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_citation/interactive_resource_without_dates.yml +0 -55
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_citation/software_w/version.yml +0 -55
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_citeproc/Another_dataset.yml +0 -55
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_citeproc/BlogPosting.yml +0 -55
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_citeproc/BlogPosting_schema_org.yml +0 -115
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_citeproc/Dataset.yml +0 -55
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_citeproc/container_title.yml +0 -55
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_citeproc/interactive_resource_without_dates.yml +0 -55
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_citeproc/journal_article.yml +0 -55
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_citeproc/keywords_subject_scheme.yml +0 -55
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_citeproc/maremma.yml +0 -75
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_citeproc/missing_creator.yml +0 -49
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_citeproc/multiple_abstracts.yml +0 -55
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_citeproc/organization_author.yml +0 -52
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_citeproc/software.yml +0 -55
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_citeproc/software_w/version.yml +0 -55
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_citeproc/with_only_first_page.yml +0 -50
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_citeproc/with_pages.yml +0 -52
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_codemeta/SoftwareSourceCode_DataCite.yml +0 -55
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_codemeta/SoftwareSourceCode_DataCite_check_codemeta_v2.yml +0 -55
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_crosscite/datacite_database_attributes.yml +0 -55
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_crosscite/maremma.yml +0 -75
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_crosscite/with_ORCID_ID.yml +0 -52
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_crosscite/with_data_citation.yml +0 -55
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_crosscite/with_data_citation_schema_org.yml +0 -117
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_crossref/from_DataCite.yml +0 -55
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_csv/climate_data.yml +0 -55
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_csv/maremma.yml +0 -75
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_csv/text.yml +0 -55
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_csv/with_data_citation.yml +0 -55
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_csv/with_pages.yml +0 -52
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_datacite_json/maremma.yml +0 -75
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_datacite_json/with_ORCID_ID.yml +0 -52
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_datacite_json/with_data_citation.yml +0 -55
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_datacite_json/with_data_citation_schema_org.yml +0 -117
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_datacite_xml/DOI_not_found.yml +0 -51
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_datacite_xml/Dataset_in_schema_4_0.yml +0 -55
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_datacite_xml/Text_pass-thru.yml +0 -55
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_datacite_xml/Text_pass-thru_with_doi_in_options.yml +0 -55
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_datacite_xml/maremma.yml +0 -75
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_datacite_xml/with_ORCID_ID.yml +0 -52
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_datacite_xml/with_data_citation.yml +0 -55
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_datacite_xml/with_data_citation_schema_org.yml +0 -115
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_datacite_xml/with_editor.yml +0 -49
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_datacite_xml/with_version.yml +0 -55
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_jats_xml/Dataset_in_schema_4_0.yml +0 -55
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_jats_xml/Text_pass-thru.yml +0 -55
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_jats_xml/book_chapter.yml +0 -88
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_jats_xml/interactive_resource_without_dates.yml +0 -55
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_jats_xml/maremma.yml +0 -75
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_jats_xml/with_ORCID_ID.yml +0 -52
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_jats_xml/with_data_citation.yml +0 -55
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_jats_xml/with_data_citation_schema_org.yml +0 -117
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_jats_xml/with_editor.yml +0 -49
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_rdf_xml/BlogPosting.yml +0 -55
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_rdf_xml/BlogPosting_schema_org.yml +0 -117
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_rdf_xml/journal_article.yml +0 -55
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_rdf_xml/maremma.yml +0 -75
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_rdf_xml/with_pages.yml +0 -52
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_ris/BlogPosting.yml +0 -55
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_ris/BlogPosting_schema_org.yml +0 -117
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_ris/Dataset.yml +0 -55
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_ris/alternate_name.yml +0 -55
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_ris/journal_article.yml +0 -55
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_ris/keywords_with_subject_scheme.yml +0 -55
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_ris/maremma.yml +0 -75
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_ris/with_pages.yml +0 -52
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_schema_org/Funding.yml +0 -106
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_schema_org/Funding_OpenAIRE.yml +0 -106
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_schema_org/Schema_org_JSON.yml +0 -55
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_schema_org/Schema_org_JSON_Cyark.yml +0 -106
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_schema_org/Schema_org_JSON_IsSupplementTo.yml +0 -106
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_schema_org/Schema_org_JSON_isReferencedBy.yml +0 -55
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_schema_org/alternate_identifiers.yml +0 -55
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_schema_org/data_catalog.yml +0 -55
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_schema_org/geo_location_box.yml +0 -55
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_schema_org/interactive_resource_without_dates.yml +0 -55
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_schema_org/journal_article.yml +0 -55
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_schema_org/maremma_schema_org_JSON.yml +0 -75
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_schema_org/series_information.yml +0 -55
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_schema_org/subject_scheme.yml +0 -55
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_schema_org/subject_scheme_multiple_keywords.yml +0 -55
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_turtle/BlogPosting.yml +0 -55
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_turtle/BlogPosting_schema_org.yml +0 -117
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_turtle/Dataset.yml +0 -55
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_turtle/journal_article.yml +0 -55
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_turtle/with_pages.yml +0 -52
- data/spec/fixtures/vivli.xml +0 -1
- data/spec/metadata_spec.rb +0 -165
- data/spec/readers/bibtex_reader_spec.rb +0 -65
- data/spec/readers/citeproc_reader_spec.rb +0 -65
- data/spec/readers/codemeta_reader_spec.rb +0 -138
- data/spec/readers/crosscite_reader_spec.rb +0 -43
- data/spec/readers/crossref_reader_spec.rb +0 -1133
- data/spec/readers/datacite_json_reader_spec.rb +0 -82
- data/spec/readers/datacite_reader_spec.rb +0 -1865
- data/spec/readers/npm_reader_spec.rb +0 -68
- data/spec/readers/ris_reader_spec.rb +0 -78
- data/spec/readers/schema_org_reader_spec.rb +0 -371
- data/spec/spec_helper.rb +0 -95
- data/spec/utils_spec.rb +0 -666
- data/spec/writers/bibtex_writer_spec.rb +0 -195
- data/spec/writers/citation_writer_spec.rb +0 -61
- data/spec/writers/citeproc_writer_spec.rb +0 -299
- data/spec/writers/codemeta_writer_spec.rb +0 -45
- data/spec/writers/crosscite_writer_spec.rb +0 -129
- data/spec/writers/crossref_writer_spec.rb +0 -21
- data/spec/writers/csv_writer_spec.rb +0 -94
- data/spec/writers/datacite_json_writer_spec.rb +0 -112
- data/spec/writers/datacite_writer_spec.rb +0 -578
- data/spec/writers/jats_writer_spec.rb +0 -208
- data/spec/writers/rdf_xml_writer_spec.rb +0 -93
- data/spec/writers/ris_writer_spec.rb +0 -207
- data/spec/writers/schema_org_writer_spec.rb +0 -426
- data/spec/writers/turtle_writer_spec.rb +0 -102
| @@ -1,1133 +0,0 @@ | |
| 1 | 
            -
            # frozen_string_literal: true
         | 
| 2 | 
            -
             | 
| 3 | 
            -
            require 'spec_helper'
         | 
| 4 | 
            -
             | 
| 5 | 
            -
            describe Bolognese::Metadata, vcr: true do
         | 
| 6 | 
            -
              let(:input) { "10.7554/eLife.01567" }
         | 
| 7 | 
            -
             | 
| 8 | 
            -
              subject { Bolognese::Metadata.new(input: input) }
         | 
| 9 | 
            -
             | 
| 10 | 
            -
              context "get crossref raw" do
         | 
| 11 | 
            -
                it "journal article" do
         | 
| 12 | 
            -
                  input = fixture_path + 'crossref.xml'
         | 
| 13 | 
            -
                  subject = Bolognese::Metadata.new(input: input)
         | 
| 14 | 
            -
                  expect(subject.raw).to eq(IO.read(input).strip)
         | 
| 15 | 
            -
                end
         | 
| 16 | 
            -
              end
         | 
| 17 | 
            -
             | 
| 18 | 
            -
              context "get crossref metadata" do
         | 
| 19 | 
            -
                it "DOI with data citation" do
         | 
| 20 | 
            -
                  expect(subject.valid?).to be true
         | 
| 21 | 
            -
                  expect(subject.id).to eq("https://doi.org/10.7554/elife.01567")
         | 
| 22 | 
            -
                  expect(subject.identifiers).to eq([{"identifier"=>"e01567", "identifierType"=>"article_number"}])
         | 
| 23 | 
            -
                  expect(subject.types).to eq("bibtex"=>"article", "citeproc"=>"article-journal", "resourceType"=>"JournalArticle", "resourceTypeGeneral"=>"JournalArticle", "ris"=>"JOUR", "schemaOrg"=>"ScholarlyArticle")
         | 
| 24 | 
            -
                  expect(subject.url).to eq("https://elifesciences.org/articles/01567")
         | 
| 25 | 
            -
                  expect(subject.creators.length).to eq(5)
         | 
| 26 | 
            -
                  expect(subject.creators.first).to eq("nameType"=>"Personal", "name"=>"Sankar, Martial", "givenName"=>"Martial", "familyName"=>"Sankar", "affiliation" => [{"name"=>"Department of Plant Molecular Biology, University of Lausanne, Lausanne, Switzerland"}])
         | 
| 27 | 
            -
                  expect(subject.rights_list).to eq([{"rights"=>"Creative Commons Attribution 3.0 Unported",
         | 
| 28 | 
            -
                    "rightsIdentifier"=>"cc-by-3.0",
         | 
| 29 | 
            -
                    "rightsIdentifierScheme"=>"SPDX",
         | 
| 30 | 
            -
                    "rightsUri"=>"https://creativecommons.org/licenses/by/3.0/legalcode",
         | 
| 31 | 
            -
                    "schemeUri"=>"https://spdx.org/licenses/"}])
         | 
| 32 | 
            -
                  expect(subject.titles).to eq([{"title"=>"Automated quantitative histology reveals vascular morphodynamics during Arabidopsis hypocotyl secondary growth"}])
         | 
| 33 | 
            -
                  expect(subject.dates).to eq([{"date"=>"2014-02-11", "dateType"=>"Issued"}, {"date"=>"2018-08-23T09:41:49Z", "dateType"=>"Updated"}])
         | 
| 34 | 
            -
                  expect(subject.publication_year).to eq("2014")
         | 
| 35 | 
            -
                  expect(subject.publisher).to eq({"name"=>"eLife Sciences Publications, Ltd"})
         | 
| 36 | 
            -
                  expect(subject.container).to eq("firstPage" => "e01567", "identifier"=>"2050-084X", "identifierType"=>"ISSN", "title"=>"eLife", "type"=>"Journal", "volume"=>"3")
         | 
| 37 | 
            -
                  expect(subject.related_identifiers.length).to eq(27)
         | 
| 38 | 
            -
                  expect(subject.related_identifiers.first).to eq("relatedIdentifier"=>"2050-084X", "relatedIdentifierType"=>"ISSN", "relationType"=>"IsPartOf", "resourceTypeGeneral"=>"Collection")
         | 
| 39 | 
            -
                  expect(subject.related_identifiers.last).to eq("relatedIdentifier"=>"10.1038/ncb2764", "relatedIdentifierType"=>"DOI", "relationType"=>"References")
         | 
| 40 | 
            -
                  expect(subject.funding_references).to eq([{"funderName"=>"SystemsX"},
         | 
| 41 | 
            -
                    {"funderIdentifier"=>"https://doi.org/10.13039/501100003043",
         | 
| 42 | 
            -
                     "funderIdentifierType"=>"Crossref Funder ID",
         | 
| 43 | 
            -
                     "funderName"=>"EMBO"},
         | 
| 44 | 
            -
                    {"funderIdentifier"=>"https://doi.org/10.13039/501100001711",
         | 
| 45 | 
            -
                     "funderIdentifierType"=>"Crossref Funder ID",
         | 
| 46 | 
            -
                     "funderName"=>"Swiss National Science Foundation"},
         | 
| 47 | 
            -
                    {"funderIdentifier"=>"https://doi.org/10.13039/501100006390",
         | 
| 48 | 
            -
                     "funderIdentifierType"=>"Crossref Funder ID",
         | 
| 49 | 
            -
                     "funderName"=>"University of Lausanne"}])
         | 
| 50 | 
            -
                  expect(subject.agency).to eq("crossref")
         | 
| 51 | 
            -
                end
         | 
| 52 | 
            -
             | 
| 53 | 
            -
                it "journal article" do
         | 
| 54 | 
            -
                  input = "https://doi.org/10.1371/journal.pone.0000030"
         | 
| 55 | 
            -
                  subject = Bolognese::Metadata.new(input: input)
         | 
| 56 | 
            -
                  expect(subject.valid?).to be true
         | 
| 57 | 
            -
                  expect(subject.id).to eq("https://doi.org/10.1371/journal.pone.0000030")
         | 
| 58 | 
            -
                  expect(subject.identifiers).to eq([{"identifier"=>"10.1371/journal.pone.0000030", "identifierType"=>"Publisher ID"}])
         | 
| 59 | 
            -
                  expect(subject.url).to eq("https://dx.plos.org/10.1371/journal.pone.0000030")
         | 
| 60 | 
            -
                  expect(subject.types).to eq("bibtex"=>"article", "citeproc"=>"article-journal", "resourceType"=>"JournalArticle", "resourceTypeGeneral"=>"JournalArticle", "ris"=>"JOUR", "schemaOrg"=>"ScholarlyArticle")
         | 
| 61 | 
            -
                  expect(subject.creators.length).to eq(5)
         | 
| 62 | 
            -
                  expect(subject.creators.first).to eq("nameType"=>"Personal", "name"=>"Ralser, Markus", "givenName"=>"Markus", "familyName"=>"Ralser")
         | 
| 63 | 
            -
                  expect(subject.contributors).to eq([{"contributorType"=>"Editor", "familyName"=>"Janbon", "givenName"=>"Guilhem", "name"=>"Janbon, Guilhem", "nameType"=>"Personal"}])
         | 
| 64 | 
            -
                  expect(subject.titles).to eq([{"title"=>"Triose Phosphate Isomerase Deficiency Is Caused by Altered Dimerization???Not Catalytic Inactivity???of the Mutant Enzymes"}])
         | 
| 65 | 
            -
                  expect(subject.rights_list).to eq([{"rights"=>"Creative Commons Attribution 4.0 International",
         | 
| 66 | 
            -
                    "rightsIdentifier"=>"cc-by-4.0",
         | 
| 67 | 
            -
                    "rightsIdentifierScheme"=>"SPDX",
         | 
| 68 | 
            -
                    "rightsUri"=>"https://creativecommons.org/licenses/by/4.0/legalcode",
         | 
| 69 | 
            -
                    "schemeUri"=>"https://spdx.org/licenses/"}])
         | 
| 70 | 
            -
                  expect(subject.dates).to eq([{"date"=>"2006-12-20", "dateType"=>"Issued"}, {"date"=>"2020-05-09T09:35:17Z", "dateType"=>"Updated"}])
         | 
| 71 | 
            -
                  expect(subject.publication_year).to eq("2006")
         | 
| 72 | 
            -
                  expect(subject.publisher).to eq({"name"=>"Public Library of Science (PLoS)"})
         | 
| 73 | 
            -
                  expect(subject.related_identifiers.length).to eq(64)
         | 
| 74 | 
            -
                  expect(subject.related_identifiers.first).to eq("relatedIdentifier"=>"1932-6203", "relatedIdentifierType"=>"ISSN", "relationType"=>"IsPartOf", "resourceTypeGeneral"=>"Collection")
         | 
| 75 | 
            -
                  expect(subject.related_identifiers.last).to eq("relatedIdentifier"=>"10.1056/nejm199109123251104", "relatedIdentifierType"=>"DOI", "relationType"=>"References")
         | 
| 76 | 
            -
                  expect(subject.container).to eq("firstPage"=>"e30", "identifier"=>"1932-6203", "identifierType"=>"ISSN", "issue"=>"1", "title"=>"PLoS ONE", "type"=>"Journal", "volume"=>"1")
         | 
| 77 | 
            -
                  expect(subject.agency).to eq("crossref")
         | 
| 78 | 
            -
                end
         | 
| 79 | 
            -
             | 
| 80 | 
            -
                it "journal article with funding" do
         | 
| 81 | 
            -
                  input = "https://doi.org/10.3389/fpls.2019.00816"
         | 
| 82 | 
            -
                  subject = Bolognese::Metadata.new(input: input)
         | 
| 83 | 
            -
                  expect(subject.valid?).to be true
         | 
| 84 | 
            -
                  expect(subject.id).to eq("https://doi.org/10.3389/fpls.2019.00816")
         | 
| 85 | 
            -
                  expect(subject.identifiers).to eq([{"identifier"=>"816", "identifierType"=>"article_number"}])
         | 
| 86 | 
            -
                  expect(subject.url).to eq("https://www.frontiersin.org/article/10.3389/fpls.2019.00816/full")
         | 
| 87 | 
            -
                  expect(subject.types).to eq("bibtex"=>"article", "citeproc"=>"article-journal", "resourceType"=>"JournalArticle", "resourceTypeGeneral"=>"JournalArticle", "ris"=>"JOUR", "schemaOrg"=>"ScholarlyArticle")
         | 
| 88 | 
            -
                  expect(subject.creators.length).to eq(4)
         | 
| 89 | 
            -
                  expect(subject.creators.first).to eq("familyName"=>"Fortes", "givenName"=>"Ana Margarida", "name"=>"Fortes, Ana Margarida", "nameType"=>"Personal")
         | 
| 90 | 
            -
                  expect(subject.titles).to eq([{"title"=>"Transcriptional Modulation of Polyamine Metabolism in Fruit Species Under Abiotic and Biotic Stress"}])
         | 
| 91 | 
            -
                  expect(subject.rights_list).to eq([{"rights"=>"Creative Commons Attribution 4.0 International",
         | 
| 92 | 
            -
                    "rightsIdentifier"=>"cc-by-4.0",
         | 
| 93 | 
            -
                    "rightsIdentifierScheme"=>"SPDX",
         | 
| 94 | 
            -
                    "rightsUri"=>"https://creativecommons.org/licenses/by/4.0/legalcode",
         | 
| 95 | 
            -
                    "schemeUri"=>"https://spdx.org/licenses/"}])
         | 
| 96 | 
            -
                  expect(subject.dates).to eq([{"date"=>"2019-07-02", "dateType"=>"Issued"}, {"date"=>"2019-09-22T06:40:23Z", "dateType"=>"Updated"}])
         | 
| 97 | 
            -
                  expect(subject.publication_year).to eq("2019")
         | 
| 98 | 
            -
                  expect(subject.publisher).to eq({"name"=>"Frontiers Media SA"})
         | 
| 99 | 
            -
                  expect(subject.funding_references).to eq([{"awardNumber"=>"CA17111", "funderIdentifier"=>"https://doi.org/10.13039/501100000921", "funderIdentifierType"=>"Crossref Funder ID", "funderName"=>"COST (European Cooperation in Science and Technology)"}])
         | 
| 100 | 
            -
                  expect(subject.related_identifiers.length).to eq(70)
         | 
| 101 | 
            -
                  expect(subject.related_identifiers.first).to eq("relatedIdentifier"=>"1664-462X", "relatedIdentifierType"=>"ISSN", "relationType"=>"IsPartOf", "resourceTypeGeneral"=>"Collection")
         | 
| 102 | 
            -
                  expect(subject.related_identifiers.last).to eq("relatedIdentifier"=>"10.17660/actahortic.2004.632.41", "relatedIdentifierType"=>"DOI", "relationType"=>"References")
         | 
| 103 | 
            -
                  expect(subject.container).to eq("firstPage" => "816", "identifier"=>"1664-462X", "identifierType"=>"ISSN", "title"=>"Frontiers in Plant Science", "type"=>"Journal", "volume"=>"10")
         | 
| 104 | 
            -
                  expect(subject.agency).to eq("crossref")
         | 
| 105 | 
            -
                end
         | 
| 106 | 
            -
             | 
| 107 | 
            -
                it "journal article original language title" do
         | 
| 108 | 
            -
                  input = "https://doi.org/10.7600/jspfsm.56.60"
         | 
| 109 | 
            -
                  subject = Bolognese::Metadata.new(input: input)
         | 
| 110 | 
            -
                  expect(subject.valid?).to be true
         | 
| 111 | 
            -
                  expect(subject.id).to eq("https://doi.org/10.7600/jspfsm.56.60")
         | 
| 112 | 
            -
                  expect(subject.url).to eq("https://www.jstage.jst.go.jp/article/jspfsm/56/1/56_1_60/_article/-char/ja/")
         | 
| 113 | 
            -
                  expect(subject.types).to eq("bibtex"=>"article", "citeproc"=>"article-journal", "resourceType"=>"JournalArticle", "resourceTypeGeneral"=>"JournalArticle", "ris"=>"JOUR", "schemaOrg"=>"ScholarlyArticle")
         | 
| 114 | 
            -
                  expect(subject.creators).to eq([{"name"=>":(unav)", "nameType"=>"Organizational"}])
         | 
| 115 | 
            -
                  expect(subject.titles).to eq([{"lang"=>"ja", "title"=>"??????????????????????????????"}])
         | 
| 116 | 
            -
                  expect(subject.dates).to include({"date"=>"2007", "dateType"=>"Issued"})
         | 
| 117 | 
            -
                  expect(subject.publication_year).to eq("2007")
         | 
| 118 | 
            -
                  expect(subject.publisher).to eq({"name"=>"The Japanese Society of Physical Fitness and Sports Medicine"})
         | 
| 119 | 
            -
                  expect(subject.related_identifiers.length).to eq(1)
         | 
| 120 | 
            -
                  expect(subject.related_identifiers.first).to eq("relatedIdentifier"=>"1881-4751", "relatedIdentifierType"=>"ISSN", "relationType"=>"IsPartOf", "resourceTypeGeneral"=>"Collection")
         | 
| 121 | 
            -
                  expect(subject.container).to eq("firstPage"=>"60", "identifier"=>"1881-4751", "identifierType"=>"ISSN", "issue"=>"1", "lastPage"=>"60", "title"=>"Japanese Journal of Physical Fitness and Sports Medicine", "type"=>"Journal", "volume"=>"56")
         | 
| 122 | 
            -
                  expect(subject.agency).to eq("crossref")
         | 
| 123 | 
            -
                end
         | 
| 124 | 
            -
             | 
| 125 | 
            -
                it "journal article with RDF for container" do
         | 
| 126 | 
            -
                  input = "https://doi.org/10.1163/1937240X-00002096"
         | 
| 127 | 
            -
                  subject = Bolognese::Metadata.new(input: input)
         | 
| 128 | 
            -
                  expect(subject.valid?).to be true
         | 
| 129 | 
            -
                  expect(subject.id).to eq("https://doi.org/10.1163/1937240x-00002096")
         | 
| 130 | 
            -
                  expect(subject.url).to eq("https://academic.oup.com/jcb/article-lookup/doi/10.1163/1937240X-00002096")
         | 
| 131 | 
            -
                  expect(subject.types).to eq("bibtex"=>"article", "citeproc"=>"article-journal", "resourceType"=>"JournalArticle", "resourceTypeGeneral"=>"JournalArticle", "ris"=>"JOUR", "schemaOrg"=>"ScholarlyArticle")
         | 
| 132 | 
            -
                  expect(subject.creators.length).to eq(8)
         | 
| 133 | 
            -
                  expect(subject.creators.first).to eq("familyName"=>"Mesquita-Joanes", "givenName"=>"Francesc", "name"=>"Mesquita-Joanes, Francesc", "nameType"=>"Personal")
         | 
| 134 | 
            -
                  expect(subject.titles).to eq([{"title"=>"Global distribution of Fabaeformiscandona subacuta: an??exotic??invasive Ostracoda on the Iberian Peninsula?"}])
         | 
| 135 | 
            -
                  expect(subject.dates).to include({"date"=>"2012-01-01", "dateType"=>"Issued"})
         | 
| 136 | 
            -
                  expect(subject.publication_year).to eq("2012")
         | 
| 137 | 
            -
                  expect(subject.publisher).to eq({"name"=>"Oxford University Press (OUP)"})
         | 
| 138 | 
            -
                  expect(subject.related_identifiers.length).to eq(44)
         | 
| 139 | 
            -
                  expect(subject.related_identifiers.first).to eq("relatedIdentifier"=>"1937-240X", "relatedIdentifierType"=>"ISSN", "relationType"=>"IsPartOf", "resourceTypeGeneral"=>"Collection")
         | 
| 140 | 
            -
                  expect(subject.related_identifiers.last).to eq("relatedIdentifier"=>"10.1002/aqc.1122", "relatedIdentifierType"=>"DOI", "relationType"=>"References")
         | 
| 141 | 
            -
                  expect(subject.container).to eq("firstPage"=>"949", "identifier"=>"1937-240X", "identifierType"=>"ISSN", "issue"=>"6", "lastPage"=>"961", "title"=>"Journal of Crustacean Biology", "type"=>"Journal", "volume"=>"32")
         | 
| 142 | 
            -
                  expect(subject.agency).to eq("crossref")
         | 
| 143 | 
            -
                end
         | 
| 144 | 
            -
             | 
| 145 | 
            -
                it "book chapter with RDF for container" do
         | 
| 146 | 
            -
                  input = "10.1007/978-3-642-33191-6_49"
         | 
| 147 | 
            -
                  subject = Bolognese::Metadata.new(input: input)
         | 
| 148 | 
            -
                  expect(subject.valid?).to be true
         | 
| 149 | 
            -
                  expect(subject.id).to eq("https://doi.org/10.1007/978-3-642-33191-6_49")
         | 
| 150 | 
            -
                  expect(subject.url).to eq("http://link.springer.com/10.1007/978-3-642-33191-6_49")
         | 
| 151 | 
            -
                  expect(subject.types).to eq("bibtex"=>"inbook", "citeproc"=>"chapter", "resourceType"=>"BookChapter", "resourceTypeGeneral"=>"BookChapter", "ris"=>"CHAP", "schemaOrg"=>"Chapter")
         | 
| 152 | 
            -
                  expect(subject.creators.length).to eq(3)
         | 
| 153 | 
            -
                  expect(subject.creators.first).to eq("familyName"=>"Chen", "givenName"=>"Lili", "name"=>"Chen, Lili", "nameType"=>"Personal")
         | 
| 154 | 
            -
                  expect(subject.titles).to eq([{"title"=>"Human Body Orientation Estimation in Multiview Scenarios"}])
         | 
| 155 | 
            -
                  expect(subject.dates).to eq([{"date"=>"2012", "dateType"=>"Issued"}, {"date"=>"2020-11-24T03:11:32Z", "dateType"=>"Updated"}])
         | 
| 156 | 
            -
                  expect(subject.publication_year).to eq("2012")
         | 
| 157 | 
            -
                  expect(subject.publisher).to eq({"name"=>"Springer Science and Business Media LLC"})
         | 
| 158 | 
            -
                  expect(subject.related_identifiers.length).to eq(7)
         | 
| 159 | 
            -
                  expect(subject.related_identifiers.first).to eq("relatedIdentifier"=>"10.1007/978-3-540-24670-1_3", "relatedIdentifierType"=>"DOI", "relationType"=>"References")
         | 
| 160 | 
            -
                  expect(subject.container).to eq("identifier"=>"1611-3349", "identifierType"=>"ISSN", "title"=>"Lecture Notes in Computer Science", "type"=>"Book Series")
         | 
| 161 | 
            -
                  expect(subject.agency).to eq("crossref")
         | 
| 162 | 
            -
                end
         | 
| 163 | 
            -
             | 
| 164 | 
            -
                it "posted_content" do
         | 
| 165 | 
            -
                  input = "https://doi.org/10.1101/097196"
         | 
| 166 | 
            -
                  subject = Bolognese::Metadata.new(input: input)
         | 
| 167 | 
            -
                  expect(subject.valid?).to be true
         | 
| 168 | 
            -
                  expect(subject.url).to eq("http://biorxiv.org/lookup/doi/10.1101/097196")
         | 
| 169 | 
            -
                  expect(subject.types).to eq("bibtex"=>"article", "citeproc"=>"article-journal", "resourceType"=>"PostedContent", "resourceTypeGeneral"=>"JournalArticle", "ris"=>"JOUR", "schemaOrg"=>"ScholarlyArticle")
         | 
| 170 | 
            -
                  expect(subject.creators.count).to eq(11)
         | 
| 171 | 
            -
                  expect(subject.creators.last).to eq("nameType"=>"Personal", "nameIdentifiers" => [{"nameIdentifier"=>"https://orcid.org/0000-0003-4060-7360", "nameIdentifierScheme"=>"ORCID", "schemeUri"=>"https://orcid.org"}], "name"=>"Clark, Timothy", "givenName"=>"Timothy", "familyName"=>"Clark")
         | 
| 172 | 
            -
                  expect(subject.titles).to eq([{"title"=>"A Data Citation Roadmap for Scholarly Data Repositories"}])
         | 
| 173 | 
            -
                  expect(subject.id).to eq("https://doi.org/10.1101/097196")
         | 
| 174 | 
            -
                  expect(subject.identifiers).to eq([{"identifier"=>"biorxiv;097196v2", "identifierType"=>"Publisher ID"}])
         | 
| 175 | 
            -
                  expect(subject.descriptions.first["description"]).to start_with("This article presents a practical roadmap")
         | 
| 176 | 
            -
                  expect(subject.dates).to include({"date"=>"2017-10-09", "dateType"=>"Issued"})
         | 
| 177 | 
            -
                  expect(subject.publication_year).to eq("2017")
         | 
| 178 | 
            -
                  expect(subject.publisher).to eq({"name"=>"Cold Spring Harbor Laboratory"})
         | 
| 179 | 
            -
                  expect(subject.agency).to eq("crossref")
         | 
| 180 | 
            -
                end
         | 
| 181 | 
            -
             | 
| 182 | 
            -
                it "peer review" do
         | 
| 183 | 
            -
                  input = "https://doi.org/10.7554/elife.55167.sa2"
         | 
| 184 | 
            -
                  subject = Bolognese::Metadata.new(input: input)
         | 
| 185 | 
            -
                  expect(subject.valid?).to be true
         | 
| 186 | 
            -
                  expect(subject.url).to eq("https://elifesciences.org/articles/55167#sa2")
         | 
| 187 | 
            -
                  expect(subject.types).to eq("bibtex"=>"misc", "citeproc"=>"article-journal", "resourceType"=>"PeerReview", "resourceTypeGeneral"=>"PeerReview", "ris"=>"JOUR", "schemaOrg"=>"Review")
         | 
| 188 | 
            -
                  expect(subject.creators.count).to eq(8)
         | 
| 189 | 
            -
                  expect(subject.creators.last).to eq("affiliation" => [{"name"=>"Center for Computational Mathematics, Flatiron Institute, New York, United States"}],
         | 
| 190 | 
            -
                    "familyName" => "Barnett",
         | 
| 191 | 
            -
                    "givenName" => "Alex H",
         | 
| 192 | 
            -
                    "name" => "Barnett, Alex H",
         | 
| 193 | 
            -
                    "nameType" => "Personal")
         | 
| 194 | 
            -
                  expect(subject.titles).to eq([{"title"=>"Author response: SpikeForest, reproducible web-facing ground-truth validation of automated neural spike sorters"}])
         | 
| 195 | 
            -
                  expect(subject.id).to eq("https://doi.org/10.7554/elife.55167.sa2")
         | 
| 196 | 
            -
                  expect(subject.identifiers).to be_empty
         | 
| 197 | 
            -
                  expect(subject.descriptions).to be_empty
         | 
| 198 | 
            -
                  expect(subject.dates).to include({"date"=>"2020-05-19", "dateType"=>"Issued"})
         | 
| 199 | 
            -
                  expect(subject.publication_year).to eq("2020")
         | 
| 200 | 
            -
                  expect(subject.publisher).to eq({"name"=>"eLife Sciences Publications, Ltd"})
         | 
| 201 | 
            -
                  expect(subject.agency).to eq("crossref")
         | 
| 202 | 
            -
                end
         | 
| 203 | 
            -
             | 
| 204 | 
            -
                it "dissertation" do
         | 
| 205 | 
            -
                  input = "https://doi.org/10.14264/uql.2020.791"
         | 
| 206 | 
            -
                  subject = Bolognese::Metadata.new(input: input)
         | 
| 207 | 
            -
                  expect(subject.valid?).to be true
         | 
| 208 | 
            -
                  expect(subject.url).to eq("http://espace.library.uq.edu.au/view/UQ:23a1e74")
         | 
| 209 | 
            -
                  expect(subject.types).to eq("bibtex"=>"phdthesis", "citeproc"=>"thesis", "resourceType"=>"Dissertation", "resourceTypeGeneral"=>"Dissertation", "ris"=>"THES", "schemaOrg"=>"Thesis")
         | 
| 210 | 
            -
                  expect(subject.creators).to eq([{"familyName"=>"Collingwood",
         | 
| 211 | 
            -
                    "givenName"=>"Patricia Maree",
         | 
| 212 | 
            -
                    "name"=>"Collingwood, Patricia Maree",
         | 
| 213 | 
            -
                    "nameIdentifiers"=>
         | 
| 214 | 
            -
                      [{"nameIdentifier"=>"https://orcid.org/0000-0003-3086-4443",
         | 
| 215 | 
            -
                        "nameIdentifierScheme"=>"ORCID",
         | 
| 216 | 
            -
                       "schemeUri"=>"https://orcid.org"}],
         | 
| 217 | 
            -
                       "nameType"=>"Personal"}])
         | 
| 218 | 
            -
                  expect(subject.titles).to eq([{"title"=>"School truancy and financial independence during emerging adulthood: a longitudinal analysis of receipt of and reliance on cash transfers"}])
         | 
| 219 | 
            -
                  expect(subject.id).to eq("https://doi.org/10.14264/uql.2020.791")
         | 
| 220 | 
            -
                  expect(subject.identifiers).to be_empty
         | 
| 221 | 
            -
                  expect(subject.descriptions).to be_empty
         | 
| 222 | 
            -
                  expect(subject.dates).to include({"date"=>"2020-06-08", "dateType"=>"Issued"})
         | 
| 223 | 
            -
                  expect(subject.publication_year).to eq("2020")
         | 
| 224 | 
            -
                  expect(subject.publisher).to eq({"name"=>"University of Queensland Library"})
         | 
| 225 | 
            -
                  expect(subject.agency).to eq("crossref")
         | 
| 226 | 
            -
                end
         | 
| 227 | 
            -
             | 
| 228 | 
            -
                it "DOI with SICI DOI" do
         | 
| 229 | 
            -
                  input = "https://doi.org/10.1890/0012-9658(2006)87[2832:tiopma]2.0.co;2"
         | 
| 230 | 
            -
                  subject = Bolognese::Metadata.new(input: input)
         | 
| 231 | 
            -
                  expect(subject.valid?).to be true
         | 
| 232 | 
            -
                  expect(subject.id).to eq("https://doi.org/10.1890/0012-9658(2006)87%255b2832:tiopma%255d2.0.co;2")
         | 
| 233 | 
            -
                  expect(subject.url).to eq("http://doi.wiley.com/10.1890/0012-9658(2006)87[2832:TIOPMA]2.0.CO;2")
         | 
| 234 | 
            -
                  expect(subject.types).to eq("bibtex"=>"article", "citeproc"=>"article-journal", "resourceType"=>"JournalArticle", "resourceTypeGeneral"=>"JournalArticle", "ris"=>"JOUR", "schemaOrg"=>"ScholarlyArticle")
         | 
| 235 | 
            -
                  expect(subject.creators).to eq([{"nameType"=>"Personal", "name"=>"Fenton, A.", "givenName"=>"A.", "familyName"=>"Fenton"}, {"nameType"=>"Personal", "name"=>"Rands, S. A.", "givenName"=>"S. A.", "familyName"=>"Rands"}])
         | 
| 236 | 
            -
                  expect(subject.rights_list).to eq([{"rightsUri"=>"http://doi.wiley.com/10.1002/tdm_license_1.1"}])
         | 
| 237 | 
            -
                  expect(subject.titles).to eq([{"title"=>"THE IMPACT OF PARASITE MANIPULATION AND PREDATOR FORAGING BEHAVIOR ON PREDATOR???PREY COMMUNITIES"}])
         | 
| 238 | 
            -
                  expect(subject.dates).to eq([{"date"=>"2006-11", "dateType"=>"Issued"}, {"date"=>"2019-04-28T17:51:50Z", "dateType"=>"Updated"}])
         | 
| 239 | 
            -
                  expect(subject.publication_year).to eq("2006")
         | 
| 240 | 
            -
                  expect(subject.publisher).to eq({"name"=>"Wiley"})
         | 
| 241 | 
            -
                  expect(subject.related_identifiers.length).to eq(35)
         | 
| 242 | 
            -
                  expect(subject.related_identifiers.first).to eq("relatedIdentifier"=>"0012-9658", "relatedIdentifierType"=>"ISSN", "relationType"=>"IsPartOf", "resourceTypeGeneral"=>"Collection")
         | 
| 243 | 
            -
                  expect(subject.related_identifiers.last).to eq("relatedIdentifier"=>"10.1098/rspb.2002.2213", "relatedIdentifierType"=>"DOI", "relationType"=>"References")
         | 
| 244 | 
            -
                  expect(subject.container).to eq("firstPage"=>"2832", "identifier"=>"0012-9658", "identifierType"=>"ISSN", "issue"=>"11", "lastPage"=>"2841", "title"=>"Ecology", "type"=>"Journal", "volume"=>"87")
         | 
| 245 | 
            -
                  expect(subject.agency).to eq("crossref")
         | 
| 246 | 
            -
                end
         | 
| 247 | 
            -
             | 
| 248 | 
            -
                it "DOI with ORCID ID" do
         | 
| 249 | 
            -
                  input = "https://doi.org/10.1155/2012/291294"
         | 
| 250 | 
            -
                  subject = Bolognese::Metadata.new(input: input)
         | 
| 251 | 
            -
                  expect(subject.valid?).to be true
         | 
| 252 | 
            -
                  expect(subject.id).to eq("https://doi.org/10.1155/2012/291294")
         | 
| 253 | 
            -
                  expect(subject.url).to eq("http://www.hindawi.com/journals/pm/2012/291294/")
         | 
| 254 | 
            -
                  expect(subject.types).to eq("bibtex"=>"article", "citeproc"=>"article-journal", "resourceType"=>"JournalArticle", "resourceTypeGeneral"=>"JournalArticle", "ris"=>"JOUR", "schemaOrg"=>"ScholarlyArticle")
         | 
| 255 | 
            -
                  expect(subject.creators.length).to eq(7)
         | 
| 256 | 
            -
                  expect(subject.creators[2]).to eq("nameType"=>"Personal", "nameIdentifiers" => [{"nameIdentifier"=>"https://orcid.org/0000-0003-2043-4925", "nameIdentifierScheme"=>"ORCID", "schemeUri"=>"https://orcid.org"}], "name"=>"Hernandez, Beatriz", "givenName"=>"Beatriz", "familyName"=>"Hernandez", "affiliation" => [{"name"=>"War Related Illness and Injury Study Center (WRIISC) and Mental Illness Research Education and Clinical Center (MIRECC), Department of Veterans Affairs, Palo Alto, CA 94304, USA"}, {"name"=>"Department of Psychiatry and Behavioral Sciences, Stanford University School of Medicine, Stanford, CA 94304, USA"}])
         | 
| 257 | 
            -
                  expect(subject.rights_list).to eq([{"rights"=>"Creative Commons Attribution 3.0 Unported",
         | 
| 258 | 
            -
                    "rightsIdentifier"=>"cc-by-3.0",
         | 
| 259 | 
            -
                    "rightsIdentifierScheme"=>"SPDX",
         | 
| 260 | 
            -
                    "rightsUri"=>"https://creativecommons.org/licenses/by/3.0/legalcode",
         | 
| 261 | 
            -
                    "schemeUri"=>"https://spdx.org/licenses/"}])
         | 
| 262 | 
            -
                  expect(subject.titles).to eq([{"title"=>"Delineating a Retesting Zone Using Receiver Operating Characteristic Analysis on Serial QuantiFERON Tuberculosis Test Results in US Healthcare Workers"}])
         | 
| 263 | 
            -
                  expect(subject.dates).to include({"date"=>"2012", "dateType"=>"Issued"})
         | 
| 264 | 
            -
                  expect(subject.publication_year).to eq("2012")
         | 
| 265 | 
            -
                  expect(subject.publisher).to eq({"name"=>"Hindawi Limited"})
         | 
| 266 | 
            -
                  expect(subject.related_identifiers.length).to eq(18)
         | 
| 267 | 
            -
                  expect(subject.related_identifiers.first).to eq("relatedIdentifier"=>"2090-1844", "relatedIdentifierType"=>"ISSN", "relationType"=>"IsPartOf", "resourceTypeGeneral"=>"Collection")
         | 
| 268 | 
            -
                  expect(subject.related_identifiers.last).to eq("relatedIdentifier"=>"10.1378/chest.12-0045", "relatedIdentifierType"=>"DOI", "relationType"=>"References")
         | 
| 269 | 
            -
                  expect(subject.container).to eq("firstPage"=>"1", "identifier"=>"2090-1844", "identifierType"=>"ISSN", "lastPage"=>"7", "title"=>"Pulmonary Medicine", "type"=>"Journal", "volume"=>"2012")
         | 
| 270 | 
            -
                  expect(subject.agency).to eq("crossref")
         | 
| 271 | 
            -
                end
         | 
| 272 | 
            -
             | 
| 273 | 
            -
                it "date in future" do
         | 
| 274 | 
            -
                  input = "https://doi.org/10.1016/j.ejphar.2015.03.018"
         | 
| 275 | 
            -
                  subject = Bolognese::Metadata.new(input: input)
         | 
| 276 | 
            -
                  expect(subject.valid?).to be true
         | 
| 277 | 
            -
                  expect(subject.id).to eq("https://doi.org/10.1016/j.ejphar.2015.03.018")
         | 
| 278 | 
            -
                  expect(subject.identifiers).to eq([{"identifier"=>"S0014299915002332", "identifierType"=>"sequence-number"}])
         | 
| 279 | 
            -
                  expect(subject.url).to eq("https://linkinghub.elsevier.com/retrieve/pii/S0014299915002332")
         | 
| 280 | 
            -
                  expect(subject.types).to eq("bibtex"=>"article", "citeproc"=>"article-journal", "resourceType"=>"JournalArticle", "resourceTypeGeneral"=>"JournalArticle", "ris"=>"JOUR", "schemaOrg"=>"ScholarlyArticle")
         | 
| 281 | 
            -
                  expect(subject.creators.length).to eq(10)
         | 
| 282 | 
            -
                  expect(subject.creators.first).to eq("nameType"=>"Personal", "name"=>"Beck, Sarah E.", "givenName"=>"Sarah E.", "familyName"=>"Beck")
         | 
| 283 | 
            -
                  expect(subject.titles).to eq([{"title"=>"Paving the path to HIV neurotherapy: Predicting SIV CNS disease"}])
         | 
| 284 | 
            -
                  expect(subject.dates).to include({"date"=>"2015-07", "dateType"=>"Issued"})
         | 
| 285 | 
            -
                  expect(subject.publication_year).to eq("2015")
         | 
| 286 | 
            -
                  expect(subject.publisher).to eq({"name"=>"Elsevier BV"})
         | 
| 287 | 
            -
                  expect(subject.related_identifiers).to eq([{"relatedIdentifier"=>"0014-2999", "relatedIdentifierType"=>"ISSN", "relationType"=>"IsPartOf", "resourceTypeGeneral"=>"Collection"},
         | 
| 288 | 
            -
                    {"relatedIdentifier"=>"10.1212/01.wnl.0000287431.88658.8b",
         | 
| 289 | 
            -
                     "relatedIdentifierType"=>"DOI",
         | 
| 290 | 
            -
                     "relationType"=>"References"},
         | 
| 291 | 
            -
                    {"relatedIdentifier"=>"10.1182/blood-2010-09-308684",
         | 
| 292 | 
            -
                     "relatedIdentifierType"=>"DOI",
         | 
| 293 | 
            -
                     "relationType"=>"References"},
         | 
| 294 | 
            -
                    {"relatedIdentifier"=>"10.1007/s13365-015-0313-7",
         | 
| 295 | 
            -
                     "relatedIdentifierType"=>"DOI",
         | 
| 296 | 
            -
                     "relationType"=>"References"},
         | 
| 297 | 
            -
                    {"relatedIdentifier"=>"10.1016/j.jneuroim.2006.04.017",
         | 
| 298 | 
            -
                     "relatedIdentifierType"=>"DOI",
         | 
| 299 | 
            -
                     "relationType"=>"References"},
         | 
| 300 | 
            -
                    {"relatedIdentifier"=>"10.1086/514001",
         | 
| 301 | 
            -
                     "relatedIdentifierType"=>"DOI",
         | 
| 302 | 
            -
                     "relationType"=>"References"},
         | 
| 303 | 
            -
                    {"relatedIdentifier"=>"10.1002/ana.410310403",
         | 
| 304 | 
            -
                     "relatedIdentifierType"=>"DOI",
         | 
| 305 | 
            -
                     "relationType"=>"References"},
         | 
| 306 | 
            -
                    {"relatedIdentifier"=>"10.1093/infdis/jir214",
         | 
| 307 | 
            -
                     "relatedIdentifierType"=>"DOI",
         | 
| 308 | 
            -
                     "relationType"=>"References"},
         | 
| 309 | 
            -
                    {"relatedIdentifier"=>"10.1097/qad.0b013e32836010bd",
         | 
| 310 | 
            -
                     "relatedIdentifierType"=>"DOI",
         | 
| 311 | 
            -
                     "relationType"=>"References"},
         | 
| 312 | 
            -
                    {"relatedIdentifier"=>"10.1261/rna.036863.112",
         | 
| 313 | 
            -
                     "relatedIdentifierType"=>"DOI",
         | 
| 314 | 
            -
                     "relationType"=>"References"},
         | 
| 315 | 
            -
                    {"relatedIdentifier"=>"10.4103/0019-5359.107389",
         | 
| 316 | 
            -
                     "relatedIdentifierType"=>"DOI",
         | 
| 317 | 
            -
                     "relationType"=>"References"},
         | 
| 318 | 
            -
                    {"relatedIdentifier"=>"10.3233/jad-2008-14103",
         | 
| 319 | 
            -
                     "relatedIdentifierType"=>"DOI",
         | 
| 320 | 
            -
                     "relationType"=>"References"},
         | 
| 321 | 
            -
                    {"relatedIdentifier"=>"10.1126/science.287.5455.959",
         | 
| 322 | 
            -
                     "relatedIdentifierType"=>"DOI",
         | 
| 323 | 
            -
                     "relationType"=>"References"},
         | 
| 324 | 
            -
                    {"relatedIdentifier"=>"10.1097/01.qai.0000165799.59322.f5",
         | 
| 325 | 
            -
                     "relatedIdentifierType"=>"DOI",
         | 
| 326 | 
            -
                     "relationType"=>"References"},
         | 
| 327 | 
            -
                    {"relatedIdentifier"=>"10.1002/ana.410420503",
         | 
| 328 | 
            -
                     "relatedIdentifierType"=>"DOI",
         | 
| 329 | 
            -
                     "relationType"=>"References"},
         | 
| 330 | 
            -
                    {"relatedIdentifier"=>"10.1089/ars.2012.4834",
         | 
| 331 | 
            -
                     "relatedIdentifierType"=>"DOI",
         | 
| 332 | 
            -
                     "relationType"=>"References"},
         | 
| 333 | 
            -
                    {"relatedIdentifier"=>"10.1111/j.1600-0404.1987.tb05458.x",
         | 
| 334 | 
            -
                     "relatedIdentifierType"=>"DOI",
         | 
| 335 | 
            -
                     "relationType"=>"References"},
         | 
| 336 | 
            -
                    {"relatedIdentifier"=>"10.1097/00002030-198905000-00006",
         | 
| 337 | 
            -
                     "relatedIdentifierType"=>"DOI",
         | 
| 338 | 
            -
                     "relationType"=>"References"},
         | 
| 339 | 
            -
                    {"relatedIdentifier"=>"10.1002/ana.410200304",
         | 
| 340 | 
            -
                     "relatedIdentifierType"=>"DOI",
         | 
| 341 | 
            -
                     "relationType"=>"References"},
         | 
| 342 | 
            -
                    {"relatedIdentifier"=>"10.1186/1742-6405-2-6",
         | 
| 343 | 
            -
                     "relatedIdentifierType"=>"DOI",
         | 
| 344 | 
            -
                     "relationType"=>"References"},
         | 
| 345 | 
            -
                    {"relatedIdentifier"=>"10.1111/j.1600-0684.1993.tb00649.x",
         | 
| 346 | 
            -
                     "relatedIdentifierType"=>"DOI",
         | 
| 347 | 
            -
                     "relationType"=>"References"},
         | 
| 348 | 
            -
                    {"relatedIdentifier"=>"10.1186/1742-6405-7-15",
         | 
| 349 | 
            -
                     "relatedIdentifierType"=>"DOI",
         | 
| 350 | 
            -
                     "relationType"=>"References"},
         | 
| 351 | 
            -
                    {"relatedIdentifier"=>"10.1212/wnl.0b013e318200d727",
         | 
| 352 | 
            -
                     "relatedIdentifierType"=>"DOI",
         | 
| 353 | 
            -
                     "relationType"=>"References"},
         | 
| 354 | 
            -
                    {"relatedIdentifier"=>"10.1089/aid.2006.0292",
         | 
| 355 | 
            -
                     "relatedIdentifierType"=>"DOI",
         | 
| 356 | 
            -
                     "relationType"=>"References"},
         | 
| 357 | 
            -
                    {"relatedIdentifier"=>"10.1126/science.3646751",
         | 
| 358 | 
            -
                     "relatedIdentifierType"=>"DOI",
         | 
| 359 | 
            -
                     "relationType"=>"References"},
         | 
| 360 | 
            -
                    {"relatedIdentifier"=>"10.1002/ajmg.b.32071",
         | 
| 361 | 
            -
                     "relatedIdentifierType"=>"DOI",
         | 
| 362 | 
            -
                     "relationType"=>"References"},
         | 
| 363 | 
            -
                    {"relatedIdentifier"=>"10.1186/1756-6606-6-40",
         | 
| 364 | 
            -
                     "relatedIdentifierType"=>"DOI",
         | 
| 365 | 
            -
                     "relationType"=>"References"},
         | 
| 366 | 
            -
                    {"relatedIdentifier"=>"10.1086/344938",
         | 
| 367 | 
            -
                     "relatedIdentifierType"=>"DOI",
         | 
| 368 | 
            -
                     "relationType"=>"References"},
         | 
| 369 | 
            -
                    {"relatedIdentifier"=>"10.1128/jvi.71.8.6055-6060.1997",
         | 
| 370 | 
            -
                     "relatedIdentifierType"=>"DOI",
         | 
| 371 | 
            -
                     "relationType"=>"References"},
         | 
| 372 | 
            -
                    {"relatedIdentifier"=>"10.1016/j.jneuroim.2004.08.031",
         | 
| 373 | 
            -
                     "relatedIdentifierType"=>"DOI",
         | 
| 374 | 
            -
                     "relationType"=>"References"},
         | 
| 375 | 
            -
                    {"relatedIdentifier"=>"10.1371/journal.pone.0003603",
         | 
| 376 | 
            -
                     "relatedIdentifierType"=>"DOI",
         | 
| 377 | 
            -
                     "relationType"=>"References"},
         | 
| 378 | 
            -
                    {"relatedIdentifier"=>"10.1093/jnen/61.1.85",
         | 
| 379 | 
            -
                     "relatedIdentifierType"=>"DOI",
         | 
| 380 | 
            -
                     "relationType"=>"References"},
         | 
| 381 | 
            -
                    {"relatedIdentifier"=>"10.1097/qad.0b013e32832c4af0",
         | 
| 382 | 
            -
                     "relatedIdentifierType"=>"DOI",
         | 
| 383 | 
            -
                     "relationType"=>"References"},
         | 
| 384 | 
            -
                    {"relatedIdentifier"=>"10.3389/fgene.2013.00083",
         | 
| 385 | 
            -
                     "relatedIdentifierType"=>"DOI",
         | 
| 386 | 
            -
                     "relationType"=>"References"},
         | 
| 387 | 
            -
                    {"relatedIdentifier"=>"10.1080/13550280390194109",
         | 
| 388 | 
            -
                     "relatedIdentifierType"=>"DOI",
         | 
| 389 | 
            -
                     "relationType"=>"References"},
         | 
| 390 | 
            -
                    {"relatedIdentifier"=>"10.1002/ana.410420504",
         | 
| 391 | 
            -
                     "relatedIdentifierType"=>"DOI",
         | 
| 392 | 
            -
                     "relationType"=>"References"},
         | 
| 393 | 
            -
                    {"relatedIdentifier"=>"10.1001/archneur.61.11.1687",
         | 
| 394 | 
            -
                     "relatedIdentifierType"=>"DOI",
         | 
| 395 | 
            -
                     "relationType"=>"References"},
         | 
| 396 | 
            -
                    {"relatedIdentifier"=>"10.1212/01.wnl.0000277635.05973.55",
         | 
| 397 | 
            -
                     "relatedIdentifierType"=>"DOI",
         | 
| 398 | 
            -
                     "relationType"=>"References"},
         | 
| 399 | 
            -
                    {"relatedIdentifier"=>"10.1038/nmeth.3014",
         | 
| 400 | 
            -
                     "relatedIdentifierType"=>"DOI",
         | 
| 401 | 
            -
                     "relationType"=>"References"},
         | 
| 402 | 
            -
                    {"relatedIdentifier"=>"10.1097/qai.0000000000000048",
         | 
| 403 | 
            -
                     "relatedIdentifierType"=>"DOI",
         | 
| 404 | 
            -
                     "relationType"=>"References"},
         | 
| 405 | 
            -
                    {"relatedIdentifier"=>"10.1093/infdis/jit278",
         | 
| 406 | 
            -
                     "relatedIdentifierType"=>"DOI",
         | 
| 407 | 
            -
                     "relationType"=>"References"},
         | 
| 408 | 
            -
                    {"relatedIdentifier"=>"10.1007/s13365-014-0283-1",
         | 
| 409 | 
            -
                     "relatedIdentifierType"=>"DOI",
         | 
| 410 | 
            -
                     "relationType"=>"References"},
         | 
| 411 | 
            -
                    {"relatedIdentifier"=>"10.1097/00002030-199905280-00010",
         | 
| 412 | 
            -
                     "relatedIdentifierType"=>"DOI",
         | 
| 413 | 
            -
                     "relationType"=>"References"},
         | 
| 414 | 
            -
                    {"relatedIdentifier"=>"10.1097/qco.0b013e32834ef586",
         | 
| 415 | 
            -
                     "relatedIdentifierType"=>"DOI",
         | 
| 416 | 
            -
                     "relationType"=>"References"},
         | 
| 417 | 
            -
                    {"relatedIdentifier"=>"10.4049/jimmunol.169.6.3438",
         | 
| 418 | 
            -
                     "relatedIdentifierType"=>"DOI",
         | 
| 419 | 
            -
                     "relationType"=>"References"},
         | 
| 420 | 
            -
                    {"relatedIdentifier"=>"10.2174/1389200024605082",
         | 
| 421 | 
            -
                     "relatedIdentifierType"=>"DOI",
         | 
| 422 | 
            -
                     "relationType"=>"References"},
         | 
| 423 | 
            -
                    {"relatedIdentifier"=>"10.1126/science.1546323",
         | 
| 424 | 
            -
                     "relatedIdentifierType"=>"DOI",
         | 
| 425 | 
            -
                     "relationType"=>"References"},
         | 
| 426 | 
            -
                    {"relatedIdentifier"=>"10.1016/s1474-4422(14)70137-1",
         | 
| 427 | 
            -
                     "relatedIdentifierType"=>"DOI",
         | 
| 428 | 
            -
                     "relationType"=>"References"},
         | 
| 429 | 
            -
                    {"relatedIdentifier"=>"10.1016/j.jns.2009.06.043",
         | 
| 430 | 
            -
                     "relatedIdentifierType"=>"DOI",
         | 
| 431 | 
            -
                     "relationType"=>"References"},
         | 
| 432 | 
            -
                    {"relatedIdentifier"=>"10.1128/jvi.77.16.9029-9040.2003",
         | 
| 433 | 
            -
                     "relatedIdentifierType"=>"DOI",
         | 
| 434 | 
            -
                     "relationType"=>"References"},
         | 
| 435 | 
            -
                    {"relatedIdentifier"=>"10.1002/jcp.24254",
         | 
| 436 | 
            -
                     "relatedIdentifierType"=>"DOI",
         | 
| 437 | 
            -
                     "relationType"=>"References"},
         | 
| 438 | 
            -
                    {"relatedIdentifier"=>"10.1128/jvi.76.1.292-302.2002",
         | 
| 439 | 
            -
                     "relatedIdentifierType"=>"DOI",
         | 
| 440 | 
            -
                     "relationType"=>"References"},
         | 
| 441 | 
            -
                    {"relatedIdentifier"=>"10.1182/blood-2012-03-414706",
         | 
| 442 | 
            -
                     "relatedIdentifierType"=>"DOI",
         | 
| 443 | 
            -
                     "relationType"=>"References"},
         | 
| 444 | 
            -
                    {"relatedIdentifier"=>"10.1016/j.jneuroim.2013.11.004",
         | 
| 445 | 
            -
                     "relatedIdentifierType"=>"DOI",
         | 
| 446 | 
            -
                     "relationType"=>"References"},
         | 
| 447 | 
            -
                    {"relatedIdentifier"=>"10.1038/nrg3198",
         | 
| 448 | 
            -
                     "relatedIdentifierType"=>"DOI",
         | 
| 449 | 
            -
                     "relationType"=>"References"},
         | 
| 450 | 
            -
                    {"relatedIdentifier"=>"10.1016/s0140-6736(96)10178-1",
         | 
| 451 | 
            -
                     "relatedIdentifierType"=>"DOI",
         | 
| 452 | 
            -
                     "relationType"=>"References"},
         | 
| 453 | 
            -
                    {"relatedIdentifier"=>"10.1128/jvi.00366-11",
         | 
| 454 | 
            -
                     "relatedIdentifierType"=>"DOI",
         | 
| 455 | 
            -
                     "relationType"=>"References"},
         | 
| 456 | 
            -
                    {"relatedIdentifier"=>"10.1007/s13365-011-0053-2",
         | 
| 457 | 
            -
                     "relatedIdentifierType"=>"DOI",
         | 
| 458 | 
            -
                     "relationType"=>"References"},
         | 
| 459 | 
            -
                    {"relatedIdentifier"=>"10.1083/jcb.201211138",
         | 
| 460 | 
            -
                     "relatedIdentifierType"=>"DOI",
         | 
| 461 | 
            -
                     "relationType"=>"References"},
         | 
| 462 | 
            -
                    {"relatedIdentifier"=>"10.1111/j.1600-0684.2011.00475.x",
         | 
| 463 | 
            -
                     "relatedIdentifierType"=>"DOI",
         | 
| 464 | 
            -
                     "relationType"=>"References"},
         | 
| 465 | 
            -
                    {"relatedIdentifier"=>"10.1038/srep05915",
         | 
| 466 | 
            -
                     "relatedIdentifierType"=>"DOI",
         | 
| 467 | 
            -
                     "relationType"=>"References"},
         | 
| 468 | 
            -
                    {"relatedIdentifier"=>"10.1096/fj.09-143503",
         | 
| 469 | 
            -
                     "relatedIdentifierType"=>"DOI",
         | 
| 470 | 
            -
                     "relationType"=>"References"},
         | 
| 471 | 
            -
                    {"relatedIdentifier"=>"10.1542/peds.111.2.e168",
         | 
| 472 | 
            -
                     "relatedIdentifierType"=>"DOI",
         | 
| 473 | 
            -
                     "relationType"=>"References"},
         | 
| 474 | 
            -
                    {"relatedIdentifier"=>"10.2174/1566524013363555",
         | 
| 475 | 
            -
                     "relatedIdentifierType"=>"DOI",
         | 
| 476 | 
            -
                     "relationType"=>"References"},
         | 
| 477 | 
            -
                    {"relatedIdentifier"=>"10.1126/science.283.5403.857",
         | 
| 478 | 
            -
                     "relatedIdentifierType"=>"DOI",
         | 
| 479 | 
            -
                     "relationType"=>"References"},
         | 
| 480 | 
            -
                    {"relatedIdentifier"=>"10.1212/01.wnl.0000145763.68284.15",
         | 
| 481 | 
            -
                     "relatedIdentifierType"=>"DOI",
         | 
| 482 | 
            -
                     "relationType"=>"References"},
         | 
| 483 | 
            -
                    {"relatedIdentifier"=>"10.1002/ana.410230727",
         | 
| 484 | 
            -
                     "relatedIdentifierType"=>"DOI",
         | 
| 485 | 
            -
                     "relationType"=>"References"},
         | 
| 486 | 
            -
                    {"relatedIdentifier"=>"10.1186/1742-4690-10-95",
         | 
| 487 | 
            -
                     "relatedIdentifierType"=>"DOI",
         | 
| 488 | 
            -
                     "relationType"=>"References"},
         | 
| 489 | 
            -
                    {"relatedIdentifier"=>"10.1128/jvi.79.2.684-695.2005",
         | 
| 490 | 
            -
                     "relatedIdentifierType"=>"DOI",
         | 
| 491 | 
            -
                     "relationType"=>"References"},
         | 
| 492 | 
            -
                    {"relatedIdentifier"=>"10.1111/j.1600-0684.2005.00126.x",
         | 
| 493 | 
            -
                     "relatedIdentifierType"=>"DOI",
         | 
| 494 | 
            -
                     "relationType"=>"References"},
         | 
| 495 | 
            -
                    {"relatedIdentifier"=>"10.1186/1756-8722-6-6",
         | 
| 496 | 
            -
                     "relatedIdentifierType"=>"DOI",
         | 
| 497 | 
            -
                     "relationType"=>"References"},
         | 
| 498 | 
            -
                    {"relatedIdentifier"=>"10.1016/j.jmb.2013.12.017",
         | 
| 499 | 
            -
                     "relatedIdentifierType"=>"DOI",
         | 
| 500 | 
            -
                     "relationType"=>"References"},
         | 
| 501 | 
            -
                    {"relatedIdentifier"=>"10.1590/s0037-86822012000600002",
         | 
| 502 | 
            -
                     "relatedIdentifierType"=>"DOI",
         | 
| 503 | 
            -
                     "relationType"=>"References"},
         | 
| 504 | 
            -
                    {"relatedIdentifier"=>"10.1080/13550280390218715",
         | 
| 505 | 
            -
                     "relatedIdentifierType"=>"DOI",
         | 
| 506 | 
            -
                     "relationType"=>"References"},
         | 
| 507 | 
            -
                    {"relatedIdentifier"=>"10.1111/j.1468-1331.2012.03777.x",
         | 
| 508 | 
            -
                     "relatedIdentifierType"=>"DOI",
         | 
| 509 | 
            -
                     "relationType"=>"References"},
         | 
| 510 | 
            -
                    {"relatedIdentifier"=>"10.3233/jad-2010-090649",
         | 
| 511 | 
            -
                     "relatedIdentifierType"=>"DOI",
         | 
| 512 | 
            -
                     "relationType"=>"References"},
         | 
| 513 | 
            -
                    {"relatedIdentifier"=>"10.1080/13550280500516484",
         | 
| 514 | 
            -
                     "relatedIdentifierType"=>"DOI",
         | 
| 515 | 
            -
                     "relationType"=>"References"},
         | 
| 516 | 
            -
                    {"relatedIdentifier"=>"10.1080/13550280390218751",
         | 
| 517 | 
            -
                     "relatedIdentifierType"=>"DOI",
         | 
| 518 | 
            -
                     "relationType"=>"References"},
         | 
| 519 | 
            -
                    {"relatedIdentifier"=>"10.1189/jlb.0811394",
         | 
| 520 | 
            -
                     "relatedIdentifierType"=>"DOI",
         | 
| 521 | 
            -
                     "relationType"=>"References"},
         | 
| 522 | 
            -
                    {"relatedIdentifier"=>"10.1007/s11481-011-9330-3",
         | 
| 523 | 
            -
                     "relatedIdentifierType"=>"DOI",
         | 
| 524 | 
            -
                     "relationType"=>"References"},
         | 
| 525 | 
            -
                    {"relatedIdentifier"=>"10.1080/13550280802074539",
         | 
| 526 | 
            -
                     "relatedIdentifierType"=>"DOI",
         | 
| 527 | 
            -
                     "relationType"=>"References"},
         | 
| 528 | 
            -
                    {"relatedIdentifier"=>"10.1086/650743",
         | 
| 529 | 
            -
                     "relatedIdentifierType"=>"DOI",
         | 
| 530 | 
            -
                     "relationType"=>"References"},
         | 
| 531 | 
            -
                    {"relatedIdentifier"=>"10.1371/journal.pone.0008129",
         | 
| 532 | 
            -
                     "relatedIdentifierType"=>"DOI",
         | 
| 533 | 
            -
                     "relationType"=>"References"},
         | 
| 534 | 
            -
                    {"relatedIdentifier"=>"10.1128/jvi.80.10.5074-5077.2006",
         | 
| 535 | 
            -
                     "relatedIdentifierType"=>"DOI",
         | 
| 536 | 
            -
                     "relationType"=>"References"},
         | 
| 537 | 
            -
                    {"relatedIdentifier"=>"10.1186/1742-2094-10-62",
         | 
| 538 | 
            -
                     "relatedIdentifierType"=>"DOI",
         | 
| 539 | 
            -
                     "relationType"=>"References"},
         | 
| 540 | 
            -
                    {"relatedIdentifier"=>"10.1086/323478",
         | 
| 541 | 
            -
                     "relatedIdentifierType"=>"DOI",
         | 
| 542 | 
            -
                     "relationType"=>"References"},
         | 
| 543 | 
            -
                    {"relatedIdentifier"=>"10.1128/jvi.73.12.10480-10488.1999",
         | 
| 544 | 
            -
                     "relatedIdentifierType"=>"DOI",
         | 
| 545 | 
            -
                     "relationType"=>"References"},
         | 
| 546 | 
            -
                    {"relatedIdentifier"=>"10.1111/hiv.12134",
         | 
| 547 | 
            -
                     "relatedIdentifierType"=>"DOI",
         | 
| 548 | 
            -
                     "relationType"=>"References"}])
         | 
| 549 | 
            -
                  expect(subject.container).to eq("firstPage"=>"303", "identifier"=>"0014-2999", "identifierType"=>"ISSN", "lastPage"=>"312", "title"=>"European Journal of Pharmacology", "type"=>"Journal", "volume"=>"759")
         | 
| 550 | 
            -
                  expect(subject.agency).to eq("crossref")
         | 
| 551 | 
            -
                end
         | 
| 552 | 
            -
             | 
| 553 | 
            -
                it "vor with url" do
         | 
| 554 | 
            -
                  input = "https://doi.org/10.1038/hdy.2013.26"
         | 
| 555 | 
            -
                  subject = Bolognese::Metadata.new(input: input)
         | 
| 556 | 
            -
                  expect(subject.valid?).to be true
         | 
| 557 | 
            -
                  expect(subject.id).to eq("https://doi.org/10.1038/hdy.2013.26")
         | 
| 558 | 
            -
                  expect(subject.url).to eq("http://www.nature.com/articles/hdy201326")
         | 
| 559 | 
            -
                  expect(subject.types).to eq("bibtex"=>"article", "citeproc"=>"article-journal", "resourceType"=>"JournalArticle", "resourceTypeGeneral"=>"JournalArticle", "ris"=>"JOUR", "schemaOrg"=>"ScholarlyArticle")
         | 
| 560 | 
            -
                  expect(subject.creators.length).to eq(2)
         | 
| 561 | 
            -
                  expect(subject.creators.first).to eq("familyName"=>"Gross", "givenName"=>"J B", "name"=>"Gross, J B", "nameType"=>"Personal")
         | 
| 562 | 
            -
                  expect(subject.titles).to eq([{"title"=>"Albinism in phylogenetically and geographically distinct populations of Astyanax cavefish arises through the same loss-of-function Oca2 allele"}])
         | 
| 563 | 
            -
                  expect(subject.dates).to include({"date"=>"2013-04-10", "dateType"=>"Issued"})
         | 
| 564 | 
            -
                  expect(subject.publication_year).to eq("2013")
         | 
| 565 | 
            -
                  expect(subject.publisher).to eq({"name"=>"Springer Science and Business Media LLC"})
         | 
| 566 | 
            -
                  expect(subject.related_identifiers.size).to eq(35)
         | 
| 567 | 
            -
                  expect(subject.related_identifiers.first).to eq("relatedIdentifier"=>"1365-2540", "relatedIdentifierType"=>"ISSN", "relationType"=>"IsPartOf", "resourceTypeGeneral"=>"Collection")
         | 
| 568 | 
            -
                  expect(subject.container).to eq("firstPage"=>"122", "identifier"=>"1365-2540", "identifierType"=>"ISSN", "issue"=>"2", "lastPage"=>"130", "title"=>"Heredity", "type"=>"Journal", "volume"=>"111")
         | 
| 569 | 
            -
                  expect(subject.agency).to eq("crossref")
         | 
| 570 | 
            -
                end
         | 
| 571 | 
            -
             | 
| 572 | 
            -
                it "dataset" do
         | 
| 573 | 
            -
                  input = "10.2210/pdb4hhb/pdb"
         | 
| 574 | 
            -
                  subject = Bolognese::Metadata.new(input: input)
         | 
| 575 | 
            -
                  expect(subject.valid?).to be true
         | 
| 576 | 
            -
                  expect(subject.id).to eq("https://doi.org/10.2210/pdb4hhb/pdb")
         | 
| 577 | 
            -
                  expect(subject.url).to eq("https://www.wwpdb.org/pdb?id=pdb_00004hhb")
         | 
| 578 | 
            -
                  expect(subject.types).to eq("bibtex"=>"misc", "citeproc"=>"article-journal", "resourceType"=>"SaComponent", "resourceTypeGeneral"=>"Text", "ris"=>"JOUR", "schemaOrg"=>"ScholarlyArticle")
         | 
| 579 | 
            -
                  expect(subject.creators.length).to eq(2)
         | 
| 580 | 
            -
                  expect(subject.creators.first).to eq("nameType"=>"Personal", "name"=>"Fermi, G.", "givenName"=>"G.", "familyName"=>"Fermi")
         | 
| 581 | 
            -
                  expect(subject.titles).to eq([{"title"=>"THE CRYSTAL STRUCTURE OF HUMAN DEOXYHAEMOGLOBIN AT 1.74 ANGSTROMS RESOLUTION"}])
         | 
| 582 | 
            -
                  expect(subject.descriptions).to eq([{"description"=>"x-ray diffraction structure", "descriptionType"=>"Other"}])
         | 
| 583 | 
            -
                  expect(subject.dates).to include({"date"=>"1984-07-17", "dateType"=>"Issued"})
         | 
| 584 | 
            -
                  expect(subject.publication_year).to eq("1984")
         | 
| 585 | 
            -
                  expect(subject.publisher).to eq({"name"=>"Worldwide Protein Data Bank"})
         | 
| 586 | 
            -
                  expect(subject.agency).to eq("crossref")
         | 
| 587 | 
            -
                end
         | 
| 588 | 
            -
             | 
| 589 | 
            -
                it "component" do
         | 
| 590 | 
            -
                  input = "10.1371/journal.pmed.0030277.g001"
         | 
| 591 | 
            -
                  subject = Bolognese::Metadata.new(input: input)
         | 
| 592 | 
            -
                  expect(subject.valid?).to be true
         | 
| 593 | 
            -
                  expect(subject.id).to eq("https://doi.org/10.1371/journal.pmed.0030277.g001")
         | 
| 594 | 
            -
                  expect(subject.url).to eq("https://dx.plos.org/10.1371/journal.pmed.0030277.g001")
         | 
| 595 | 
            -
                  expect(subject.types).to eq("bibtex"=>"misc", "citeproc"=>"article-journal", "resourceType"=>"SaComponent", "resourceTypeGeneral"=>"Text", "ris"=>"JOUR", "schemaOrg"=>"ScholarlyArticle")
         | 
| 596 | 
            -
                  expect(subject.creators).to eq([{"name"=>":(unav)", "nameType"=>"Organizational"}])
         | 
| 597 | 
            -
                  expect(subject.titles).to eq([{"title"=>":(unav)"}])
         | 
| 598 | 
            -
                  expect(subject.descriptions).to be_empty
         | 
| 599 | 
            -
                  expect(subject.dates).to eq([{"date"=>"2015-10-20", "dateType"=>"Issued"}, {"date"=>"2018-10-19T21:13:42Z", "dateType"=>"Updated"}])
         | 
| 600 | 
            -
                  expect(subject.publication_year).to eq("2015")
         | 
| 601 | 
            -
                  expect(subject.publisher).to eq({"name"=>"Public Library of Science (PLoS)"})
         | 
| 602 | 
            -
                  expect(subject.agency).to eq("crossref")
         | 
| 603 | 
            -
                end
         | 
| 604 | 
            -
             | 
| 605 | 
            -
                it "dataset usda" do
         | 
| 606 | 
            -
                  input = "https://doi.org/10.2737/RDS-2018-0001"
         | 
| 607 | 
            -
                  subject = Bolognese::Metadata.new(input: input)
         | 
| 608 | 
            -
                  #expect(subject.valid?).to be true
         | 
| 609 | 
            -
                  expect(subject.id).to eq("https://doi.org/10.2737/rds-2018-0001")
         | 
| 610 | 
            -
                  expect(subject.url).to eq("https://www.fs.usda.gov/rds/archive/Catalog/RDS-2018-0001")
         | 
| 611 | 
            -
                  expect(subject.types).to eq("bibtex"=>"misc", "citeproc"=>"dataset", "resourceType"=>"Dataset", "resourceTypeGeneral"=>"Dataset", "ris"=>"DATA", "schemaOrg"=>"Dataset")
         | 
| 612 | 
            -
                  expect(subject.creators.length).to eq(4)
         | 
| 613 | 
            -
                  expect(subject.creators.first).to eq("familyName" => "Ribic","givenName" => "Christine A.","name" => "Ribic, Christine A.","affiliation" => [{"name"=>"U.S. Geological Survey"}],"nameIdentifiers" => [{"nameIdentifier"=>"https://orcid.org/0000-0003-2583-1778", "nameIdentifierScheme"=>"ORCID", "schemeUri"=>"https://orcid.org"}],"nameType" => "Personal")
         | 
| 614 | 
            -
                  expect(subject.titles).to eq([{"title"=>"Fledging times of grassland birds"}])
         | 
| 615 | 
            -
                  expect(subject.descriptions).to be_empty
         | 
| 616 | 
            -
                  expect(subject.dates).to eq([{"date"=>"2017-08-09", "dateType"=>"Issued"}, {"date"=>"2020-06-04T21:31:55Z", "dateType"=>"Updated"}])
         | 
| 617 | 
            -
                  expect(subject.publication_year).to eq("2017")
         | 
| 618 | 
            -
                  expect(subject.publisher).to eq({"name"=>"USDA Forest Service"})
         | 
| 619 | 
            -
                  expect(subject.agency).to eq("crossref")
         | 
| 620 | 
            -
                end
         | 
| 621 | 
            -
             | 
| 622 | 
            -
                it "book chapter" do
         | 
| 623 | 
            -
                  input = "https://doi.org/10.1007/978-3-662-46370-3_13"
         | 
| 624 | 
            -
                  subject = Bolognese::Metadata.new(input: input)
         | 
| 625 | 
            -
                  expect(subject.valid?).to be true
         | 
| 626 | 
            -
                  expect(subject.id).to eq("https://doi.org/10.1007/978-3-662-46370-3_13")
         | 
| 627 | 
            -
                  expect(subject.url).to eq("http://link.springer.com/10.1007/978-3-662-46370-3_13")
         | 
| 628 | 
            -
                  expect(subject.types).to eq("bibtex"=>"inbook", "citeproc"=>"chapter", "resourceType"=>"BookChapter", "resourceTypeGeneral"=>"BookChapter", "ris"=>"CHAP", "schemaOrg"=>"Chapter")
         | 
| 629 | 
            -
                  expect(subject.creators.length).to eq(2)
         | 
| 630 | 
            -
                  expect(subject.creators.first).to eq("nameType"=>"Personal", "name"=>"Diercks, Ronald L.", "givenName"=>"Ronald L.", "familyName"=>"Diercks")
         | 
| 631 | 
            -
                  expect(subject.titles).to eq([{"title"=>"Clinical Symptoms and Physical Examinations"}])
         | 
| 632 | 
            -
                  expect(subject.dates).to eq([{"date"=>"2015", "dateType"=>"Issued"}, {"date"=>"2015-04-14T02:31:13Z", "dateType"=>"Updated"}])
         | 
| 633 | 
            -
                  expect(subject.publication_year).to eq("2015")
         | 
| 634 | 
            -
                  expect(subject.publisher).to eq({"name"=>"Springer Science and Business Media LLC"})
         | 
| 635 | 
            -
                  expect(subject.agency).to eq("crossref")
         | 
| 636 | 
            -
                  expect(subject.container["type"]).to eq("Book")
         | 
| 637 | 
            -
                  expect(subject.container["title"]).to eq("Shoulder Stiffness")
         | 
| 638 | 
            -
                  expect(subject.container["firstPage"]).to eq("155")
         | 
| 639 | 
            -
                  expect(subject.container["lastPage"]).to eq("158")
         | 
| 640 | 
            -
                  expect(subject.container["identifiers"]).to eq([{"identifier"=>"978-3-662-46369-7", "identifierType"=>"ISBN"}])
         | 
| 641 | 
            -
                end
         | 
| 642 | 
            -
             | 
| 643 | 
            -
                it "another book chapter" do
         | 
| 644 | 
            -
                  input = "https://doi.org/10.1007/978-3-319-75889-3_1"
         | 
| 645 | 
            -
                  subject = Bolognese::Metadata.new(input: input)
         | 
| 646 | 
            -
                  expect(subject.valid?).to be true
         | 
| 647 | 
            -
                  expect(subject.id).to eq("https://doi.org/10.1007/978-3-319-75889-3_1")
         | 
| 648 | 
            -
                  expect(subject.url).to eq("http://link.springer.com/10.1007/978-3-319-75889-3_1")
         | 
| 649 | 
            -
                  expect(subject.types).to eq("bibtex"=>"inbook", "citeproc"=>"chapter", "resourceType"=>"BookChapter", "resourceTypeGeneral"=>"BookChapter", "ris"=>"CHAP", "schemaOrg"=>"Chapter")
         | 
| 650 | 
            -
                  expect(subject.creators).to eq([{"familyName"=>"Jones", "givenName"=>"Hunter M.", "name"=>"Jones, Hunter M.", "nameType"=>"Personal"}])
         | 
| 651 | 
            -
                  expect(subject.titles).to eq([{"title"=>"Climate Change and Increasing Risk of Extreme Heat"}])
         | 
| 652 | 
            -
                  expect(subject.dates).to include({"date"=>"2018", "dateType"=>"Issued"})
         | 
| 653 | 
            -
                  expect(subject.publication_year).to eq("2018")
         | 
| 654 | 
            -
                  expect(subject.publisher).to eq({"name"=>"Springer Science and Business Media LLC"})
         | 
| 655 | 
            -
                  expect(subject.agency).to eq("crossref")
         | 
| 656 | 
            -
                  expect(subject.container["type"]).to eq("Book Series")
         | 
| 657 | 
            -
                  expect(subject.container["title"]).to eq("SpringerBriefs in Medical Earth Sciences")
         | 
| 658 | 
            -
                  expect(subject.container["identifier"]).to eq("2523-3629")
         | 
| 659 | 
            -
                  expect(subject.container["identifierType"]).to eq("ISSN")
         | 
| 660 | 
            -
                end
         | 
| 661 | 
            -
             | 
| 662 | 
            -
                it "yet another book chapter" do
         | 
| 663 | 
            -
                  input = "https://doi.org/10.4018/978-1-4666-1891-6.ch004"
         | 
| 664 | 
            -
                  subject = Bolognese::Metadata.new(input: input)
         | 
| 665 | 
            -
                  expect(subject.valid?).to be true
         | 
| 666 | 
            -
                  expect(subject.id).to eq("https://doi.org/10.4018/978-1-4666-1891-6.ch004")
         | 
| 667 | 
            -
                  expect(subject.url).to eq("http://services.igi-global.com/resolvedoi/resolve.aspx?doi=10.4018/978-1-4666-1891-6.ch004")
         | 
| 668 | 
            -
                  expect(subject.types).to eq("bibtex"=>"inbook", "citeproc"=>"chapter", "resourceType"=>"BookChapter", "resourceTypeGeneral"=>"BookChapter", "ris"=>"CHAP", "schemaOrg"=>"Chapter")
         | 
| 669 | 
            -
                  expect(subject.creators).to eq([{"affiliation"=>[{"name"=>"Universit?? de Lyon, France"}], "familyName"=>"Bichot", "givenName"=>"Charles-Edmond", "name"=>"Bichot, Charles-Edmond", "nameType"=>"Personal"}])
         | 
| 670 | 
            -
                  expect(subject.titles).to eq([{"title"=>"Unsupervised and Supervised Image Segmentation Using Graph Partitioning"}])
         | 
| 671 | 
            -
                  expect(subject.dates).to eq([{"date"=>"2012-08-08", "dateType"=>"Issued"}, {"date"=>"2019-07-02T17:17:21Z", "dateType"=>"Updated"}])
         | 
| 672 | 
            -
                  expect(subject.publication_year).to eq("2012")
         | 
| 673 | 
            -
                  expect(subject.publisher).to eq({"name"=>"IGI Global"})
         | 
| 674 | 
            -
                  expect(subject.agency).to eq("crossref")
         | 
| 675 | 
            -
                  expect(subject.container["type"]).to eq("Book")
         | 
| 676 | 
            -
                  expect(subject.container["title"]).to eq("Graph-Based Methods in Computer Vision")
         | 
| 677 | 
            -
                  expect(subject.container["firstPage"]).to eq("72")
         | 
| 678 | 
            -
                  expect(subject.container["lastPage"]).to eq("94")
         | 
| 679 | 
            -
                  expect(subject.container["identifiers"]).to eq([{"identifier"=>"9781466618916", "identifierType"=>"ISBN"}])
         | 
| 680 | 
            -
                end
         | 
| 681 | 
            -
             | 
| 682 | 
            -
                it "missing creator" do
         | 
| 683 | 
            -
                  input = "https://doi.org/10.3390/publications6020015"
         | 
| 684 | 
            -
                  subject = Bolognese::Metadata.new(input: input)
         | 
| 685 | 
            -
                  expect(subject.valid?).to be true
         | 
| 686 | 
            -
                  expect(subject.id).to eq("https://doi.org/10.3390/publications6020015")
         | 
| 687 | 
            -
                  expect(subject.url).to eq("http://www.mdpi.com/2304-6775/6/2/15")
         | 
| 688 | 
            -
                  expect(subject.types).to eq("bibtex"=>"article", "citeproc"=>"article-journal", "resourceType"=>"JournalArticle", "resourceTypeGeneral"=>"JournalArticle", "ris"=>"JOUR", "schemaOrg"=>"ScholarlyArticle")
         | 
| 689 | 
            -
                  expect(subject.creators).to eq([{"name"=>"Alexander Kohls", "nameType"=>"Organizational"}, {"name"=>"Salvatore Mele", "nameType"=>"Organizational"}])
         | 
| 690 | 
            -
                  expect(subject.titles).to eq([{"title"=>"Converting the Literature of a Scientific Field to Open Access through Global Collaboration: The Experience of SCOAP3 in Particle Physics"}])
         | 
| 691 | 
            -
                  expect(subject.dates).to eq([{"date"=>"2018-04-09", "dateType"=>"Issued"}, {"date"=>"2018-04-10T17:58:05Z", "dateType"=>"Updated"}])
         | 
| 692 | 
            -
                  expect(subject.publication_year).to eq("2018")
         | 
| 693 | 
            -
                  expect(subject.publisher).to eq({"name"=>"MDPI AG"})
         | 
| 694 | 
            -
                  expect(subject.agency).to eq("crossref")
         | 
| 695 | 
            -
                end
         | 
| 696 | 
            -
             | 
| 697 | 
            -
                it "book" do
         | 
| 698 | 
            -
                  input = "https://doi.org/10.1017/9781108348843"
         | 
| 699 | 
            -
                  subject = Bolognese::Metadata.new(input: input)
         | 
| 700 | 
            -
                  expect(subject.valid?).to be true
         | 
| 701 | 
            -
                  expect(subject.id).to eq("https://doi.org/10.1017/9781108348843")
         | 
| 702 | 
            -
                  expect(subject.identifiers).to eq([{"identifier"=>"9781108348843", "identifierType"=>"ISBN"}])
         | 
| 703 | 
            -
                  expect(subject.url).to eq("https://www.cambridge.org/core/product/identifier/9781108348843/type/book")
         | 
| 704 | 
            -
                  expect(subject.types).to eq("bibtex"=>"book", "citeproc"=>"book", "resourceType"=>"Book", "resourceTypeGeneral"=>"Book", "ris"=>"BOOK", "schemaOrg"=>"Book")
         | 
| 705 | 
            -
                  expect(subject.creators).to eq([{"familyName"=>"Leung", "givenName"=>"Vincent S.", "name"=>"Leung, Vincent S.", "nameType"=>"Personal"}])
         | 
| 706 | 
            -
                  expect(subject.titles).to eq([{"title"=>"The Politics of the Past in Early China"}])
         | 
| 707 | 
            -
                  expect(subject.dates).to eq([{"date"=>"2019-07-01", "dateType"=>"Issued"}, {"date"=>"2021-01-08T19:18:57Z", "dateType"=>"Updated"}])
         | 
| 708 | 
            -
                  expect(subject.publication_year).to eq("2019")
         | 
| 709 | 
            -
                  expect(subject.publisher).to eq({"name"=>"Cambridge University Press (CUP)"})
         | 
| 710 | 
            -
                  expect(subject.agency).to eq("crossref")
         | 
| 711 | 
            -
                  expect(subject.date_registered).to eq("2019-07-06T10:19:22Z")
         | 
| 712 | 
            -
                end
         | 
| 713 | 
            -
             | 
| 714 | 
            -
                it "another book" do
         | 
| 715 | 
            -
                  input = "https://doi.org/10.2973/odp.proc.ir.180.2000"
         | 
| 716 | 
            -
                  subject = Bolognese::Metadata.new(input: input)
         | 
| 717 | 
            -
                  expect(subject.valid?).to be true
         | 
| 718 | 
            -
                  expect(subject.id).to eq("https://doi.org/10.2973/odp.proc.ir.180.2000")
         | 
| 719 | 
            -
                  expect(subject.url).to eq("http://www-odp.tamu.edu/publications/180_IR/180TOC.HTM")
         | 
| 720 | 
            -
                  expect(subject.types).to eq("bibtex"=>"book", "citeproc"=>"book", "resourceType"=>"Book", "resourceTypeGeneral"=>"Book", "ris"=>"BOOK", "schemaOrg"=>"Book")
         | 
| 721 | 
            -
                  expect(subject.creators).to eq([{"name"=>":(unav)", "nameType"=>"Organizational"}])
         | 
| 722 | 
            -
                  expect(subject.contributors.size).to eq(4)
         | 
| 723 | 
            -
                  expect(subject.contributors.first).to eq("contributorType"=>"Editor", "familyName"=>"Taylor", "givenName"=>"B.", "name"=>"Taylor, B.", "nameType"=>"Personal")
         | 
| 724 | 
            -
                  expect(subject.titles).to eq([{"title"=>"Proceedings of the Ocean Drilling Program, 180 Initial Reports"}])
         | 
| 725 | 
            -
                  expect(subject.dates).to eq([{"date"=>"2000-02-04", "dateType"=>"Issued"}, {"date"=>"2009-02-02T21:19:43Z", "dateType"=>"Updated"}])
         | 
| 726 | 
            -
                  expect(subject.publication_year).to eq("2000")
         | 
| 727 | 
            -
                  expect(subject.publisher).to eq({"name"=>"International Ocean Discovery Program (IODP)"})
         | 
| 728 | 
            -
                  expect(subject.agency).to eq("crossref")
         | 
| 729 | 
            -
                  expect(subject.date_registered).to eq("2006-10-17T20:17:44Z")
         | 
| 730 | 
            -
                end
         | 
| 731 | 
            -
             | 
| 732 | 
            -
                it "yet another book" do
         | 
| 733 | 
            -
                  input = "https://doi.org/10.1029/ar035"
         | 
| 734 | 
            -
                  subject = Bolognese::Metadata.new(input: input)
         | 
| 735 | 
            -
                  expect(subject.valid?).to be true
         | 
| 736 | 
            -
                  expect(subject.id).to eq("https://doi.org/10.1029/ar035")
         | 
| 737 | 
            -
                  expect(subject.identifiers).to eq([{"identifier"=>"0-87590-181-6", "identifierType"=>"ISBN"}])
         | 
| 738 | 
            -
                  expect(subject.url).to eq("http://doi.wiley.com/10.1029/AR035")
         | 
| 739 | 
            -
                  expect(subject.types).to eq("bibtex"=>"book", "citeproc"=>"book", "resourceType"=>"Book", "resourceTypeGeneral"=>"Book", "ris"=>"BOOK", "schemaOrg"=>"Book")
         | 
| 740 | 
            -
                  expect(subject.creators).to eq([{"familyName"=>"McGinnis", "givenName"=>"Richard Frank", "name"=>"McGinnis, Richard Frank", "nameType"=>"Personal"}])
         | 
| 741 | 
            -
                  expect(subject.titles).to eq([{"title"=>"Biogeography of Lanternfishes (Myctophidae) South of 30??S"}])
         | 
| 742 | 
            -
                  expect(subject.dates).to eq([{"date"=>"1982", "dateType"=>"Issued"}, {"date"=>"2021-02-23T21:58:36Z", "dateType"=>"Updated"}])
         | 
| 743 | 
            -
                  expect(subject.publication_year).to eq("1982")
         | 
| 744 | 
            -
                  expect(subject.publisher).to eq({"name"=>"Wiley"})
         | 
| 745 | 
            -
                  expect(subject.related_identifiers.length).to eq(44)
         | 
| 746 | 
            -
                  expect(subject.related_identifiers.first).to eq("relatedIdentifier"=>"10.1016/0031-0182(70)90103-3", "relatedIdentifierType"=>"DOI", "relationType"=>"References")
         | 
| 747 | 
            -
                  expect(subject.container).to eq("identifier"=>"0066-4634", "identifierType"=>"ISSN", "title"=>"Antarctic Research Series", "type"=>"Book Series", "volume"=>"35")
         | 
| 748 | 
            -
                  expect(subject.agency).to eq("crossref")
         | 
| 749 | 
            -
                  expect(subject.date_registered).to be_nil
         | 
| 750 | 
            -
                end
         | 
| 751 | 
            -
             | 
| 752 | 
            -
                it "mEDRA" do
         | 
| 753 | 
            -
                  input = "https://doi.org/10.3280/ecag2018-001005"
         | 
| 754 | 
            -
                  subject = Bolognese::Metadata.new(input: input)
         | 
| 755 | 
            -
                  expect(subject.valid?).to be true
         | 
| 756 | 
            -
                  expect(subject.id).to eq("https://doi.org/10.3280/ecag2018-001005")
         | 
| 757 | 
            -
                  expect(subject.identifiers).to eq([{"identifier"=>"5", "identifierType"=>"article_number"}])
         | 
| 758 | 
            -
                  expect(subject.url).to eq("http://www.francoangeli.it/riviste/Scheda_Riviste.asp?IDArticolo=61645")
         | 
| 759 | 
            -
                  expect(subject.types).to eq("bibtex"=>"article", "citeproc"=>"article-journal", "resourceType"=>"JournalArticle", "resourceTypeGeneral"=>"JournalArticle", "ris"=>"JOUR", "schemaOrg"=>"ScholarlyArticle")
         | 
| 760 | 
            -
                  expect(subject.creators.length).to eq(2)
         | 
| 761 | 
            -
                  expect(subject.creators.first).to eq("familyName"=>"Oh", "givenName"=>"Sohae Eve", "name"=>"Oh, Sohae Eve", "nameType"=>"Personal")
         | 
| 762 | 
            -
                  expect(subject.titles).to eq([{"title"=>"Substitutability between organic and conventional poultry products and organic price premiums"}])
         | 
| 763 | 
            -
                  expect(subject.dates).to include({"date"=>"2018-05", "dateType"=>"Issued"})
         | 
| 764 | 
            -
                  expect(subject.publication_year).to eq("2018")
         | 
| 765 | 
            -
                  expect(subject.publisher).to eq({"name"=>"Franco Angeli"})
         | 
| 766 | 
            -
                  expect(subject.agency).to eq("mEDRA")
         | 
| 767 | 
            -
                end
         | 
| 768 | 
            -
             | 
| 769 | 
            -
                it "KISTI" do
         | 
| 770 | 
            -
                  input = "https://doi.org/10.5012/bkcs.2013.34.10.2889"
         | 
| 771 | 
            -
                  subject = Bolognese::Metadata.new(input: input)
         | 
| 772 | 
            -
                  expect(subject.valid?).to be true
         | 
| 773 | 
            -
                  expect(subject.id).to eq("https://doi.org/10.5012/bkcs.2013.34.10.2889")
         | 
| 774 | 
            -
                  expect(subject.identifiers).to eq([{"identifier"=>"JCGMCS_2013_v34n10_2889", "identifierType"=>"Publisher ID"}])
         | 
| 775 | 
            -
                  expect(subject.url).to eq("http://koreascience.or.kr/journal/view.jsp?kj=JCGMCS&py=2013&vnc=v34n10&sp=2889")
         | 
| 776 | 
            -
                  expect(subject.types).to eq("bibtex"=>"article", "citeproc"=>"article-journal", "resourceType"=>"JournalArticle", "resourceTypeGeneral"=>"JournalArticle", "ris"=>"JOUR", "schemaOrg"=>"ScholarlyArticle")
         | 
| 777 | 
            -
                  expect(subject.creators.length).to eq(7)
         | 
| 778 | 
            -
                  expect(subject.creators.first).to eq("familyName"=>"Huang", "givenName"=>"Guimei", "name"=>"Huang, Guimei", "nameType"=>"Personal")
         | 
| 779 | 
            -
                  expect(subject.titles).to eq([{"title"=>"Synthesis, Crystal Structure and Theoretical Calculation of a Novel Nickel(II) Complex with Dibromotyrosine and 1,10-Phenanthroline"}])
         | 
| 780 | 
            -
                  expect(subject.dates).to eq([{"date"=>"2013-10-20", "dateType"=>"Issued"}, {"date"=>"2016-12-15T02:40:52Z", "dateType"=>"Updated"}])
         | 
| 781 | 
            -
                  expect(subject.publication_year).to eq("2013")
         | 
| 782 | 
            -
                  expect(subject.publisher).to eq({"name"=>"Korean Chemical Society"})
         | 
| 783 | 
            -
                  expect(subject.agency).to eq("KISTI")
         | 
| 784 | 
            -
                end
         | 
| 785 | 
            -
             | 
| 786 | 
            -
                it "JaLC" do
         | 
| 787 | 
            -
                  input = "https://doi.org/10.1241/johokanri.39.979"
         | 
| 788 | 
            -
                  subject = Bolognese::Metadata.new(input: input)
         | 
| 789 | 
            -
                  expect(subject.valid?).to be true
         | 
| 790 | 
            -
                  expect(subject.id).to eq("https://doi.org/10.1241/johokanri.39.979")
         | 
| 791 | 
            -
                  expect(subject.url).to eq("http://joi.jlc.jst.go.jp/JST.JSTAGE/johokanri/39.979?from=CrossRef")
         | 
| 792 | 
            -
                  expect(subject.types).to eq("bibtex"=>"article", "citeproc"=>"article-journal", "resourceType"=>"JournalArticle", "resourceTypeGeneral"=>"JournalArticle", "ris"=>"JOUR", "schemaOrg"=>"ScholarlyArticle")
         | 
| 793 | 
            -
                  expect(subject.creators).to eq([{"familyName"=>"KUSUMOTO", "givenName"=>"Hiroyuki", "name"=>"KUSUMOTO, Hiroyuki", "nameType"=>"Personal"}])
         | 
| 794 | 
            -
                  expect(subject.titles).to eq([{"title"=>"Utilizing the Internet. 12 Series. Future of the Internet."}])
         | 
| 795 | 
            -
                  expect(subject.dates).to eq([{"date"=>"1997", "dateType"=>"Issued"}, {"date"=>"2020-03-06T06:44:36Z", "dateType"=>"Updated"}])
         | 
| 796 | 
            -
                  expect(subject.publication_year).to eq("1997")
         | 
| 797 | 
            -
                  expect(subject.publisher).to eq({"name"=>"Japan Science and Technology Agency (JST)"})
         | 
| 798 | 
            -
                  expect(subject.agency).to eq("JaLC")
         | 
| 799 | 
            -
                end
         | 
| 800 | 
            -
             | 
| 801 | 
            -
                it "OP" do
         | 
| 802 | 
            -
                  input = "https://doi.org/10.2903/j.efsa.2018.5239"
         | 
| 803 | 
            -
                  subject = Bolognese::Metadata.new(input: input)
         | 
| 804 | 
            -
                  #expect(subject.valid?).to be true
         | 
| 805 | 
            -
                  expect(subject.id).to eq("https://doi.org/10.2903/j.efsa.2018.5239")
         | 
| 806 | 
            -
                  expect(subject.url).to eq("http://doi.wiley.com/10.2903/j.efsa.2018.5239")
         | 
| 807 | 
            -
                  expect(subject.types).to eq("bibtex"=>"article", "citeproc"=>"article-journal", "resourceType"=>"JournalArticle", "resourceTypeGeneral"=>"JournalArticle", "ris"=>"JOUR", "schemaOrg"=>"ScholarlyArticle")
         | 
| 808 | 
            -
                  expect(subject.creators.length).to eq(28)
         | 
| 809 | 
            -
                  expect(subject.creators.first).to eq("familyName"=>"Younes", "givenName"=>"Maged", "name"=>"Younes, Maged", "nameType"=>"Personal")
         | 
| 810 | 
            -
                  expect(subject.titles).to eq([{"title"=>"Scientific opinion on the safety of green tea catechins"}])
         | 
| 811 | 
            -
                  expect(subject.dates).to include({"date"=>"2018-04", "dateType"=>"Issued"})
         | 
| 812 | 
            -
                  expect(subject.publication_year).to eq("2018")
         | 
| 813 | 
            -
                  expect(subject.publisher).to eq({"name"=>"Wiley"})
         | 
| 814 | 
            -
                  expect(subject.agency).to eq("OP")
         | 
| 815 | 
            -
                end
         | 
| 816 | 
            -
             | 
| 817 | 
            -
                it "multiple titles" do
         | 
| 818 | 
            -
                  input = "https://doi.org/10.4000/dms.865"
         | 
| 819 | 
            -
                  subject = Bolognese::Metadata.new(input: input)
         | 
| 820 | 
            -
                  expect(subject.valid?).to be true
         | 
| 821 | 
            -
                  expect(subject.id).to eq("https://doi.org/10.4000/dms.865")
         | 
| 822 | 
            -
                  expect(subject.url).to eq("http://journals.openedition.org/dms/865")
         | 
| 823 | 
            -
                  expect(subject.types).to eq("bibtex"=>"article", "citeproc"=>"article-journal", "resourceType"=>"JournalArticle", "resourceTypeGeneral"=>"JournalArticle", "ris"=>"JOUR", "schemaOrg"=>"ScholarlyArticle")
         | 
| 824 | 
            -
                  expect(subject.creators).to eq([{"familyName"=>"Peraya", "givenName"=>"Daniel", "name"=>"Peraya, Daniel", "nameType"=>"Personal"}])
         | 
| 825 | 
            -
                  expect(subject.titles).to eq([{"title"=>"Distances, absence, proximit??s et pr??sences??: des concepts en d??placement"}, {"title"=>"Distance(s), proximity and presence(s): evolving concepts"}])
         | 
| 826 | 
            -
                  expect(subject.dates).to include({"date"=>"2014-12-14", "dateType"=>"Issued"})
         | 
| 827 | 
            -
                  expect(subject.publication_year).to eq("2014")
         | 
| 828 | 
            -
                  expect(subject.publisher).to eq({"name"=>"OpenEdition"})
         | 
| 829 | 
            -
                  expect(subject.agency).to eq("crossref")
         | 
| 830 | 
            -
                  expect(subject.date_registered).to be_nil
         | 
| 831 | 
            -
                end
         | 
| 832 | 
            -
             | 
| 833 | 
            -
                it "multiple titles with missing" do
         | 
| 834 | 
            -
                  input = "https://doi.org/10.1186/1471-2164-7-187"
         | 
| 835 | 
            -
                  subject = Bolognese::Metadata.new(input: input)
         | 
| 836 | 
            -
                  expect(subject.valid?).to be true
         | 
| 837 | 
            -
                  expect(subject.id).to eq("https://doi.org/10.1186/1471-2164-7-187")
         | 
| 838 | 
            -
                  expect(subject.url).to eq("https://bmcgenomics.biomedcentral.com/articles/10.1186/1471-2164-7-187")
         | 
| 839 | 
            -
                  expect(subject.types).to eq("bibtex"=>"article", "citeproc"=>"article-journal", "resourceType"=>"JournalArticle", "resourceTypeGeneral"=>"JournalArticle", "ris"=>"JOUR", "schemaOrg"=>"ScholarlyArticle")
         | 
| 840 | 
            -
                  expect(subject.creators).to eq([{"familyName"=>"Myers",
         | 
| 841 | 
            -
                    "givenName"=>"Chad L",
         | 
| 842 | 
            -
                    "name"=>"Myers, Chad L",
         | 
| 843 | 
            -
                    "nameType"=>"Personal"},
         | 
| 844 | 
            -
                   {"familyName"=>"Barrett",
         | 
| 845 | 
            -
                    "givenName"=>"Daniel R",
         | 
| 846 | 
            -
                    "name"=>"Barrett, Daniel R",
         | 
| 847 | 
            -
                    "nameType"=>"Personal"},
         | 
| 848 | 
            -
                   {"familyName"=>"Hibbs",
         | 
| 849 | 
            -
                    "givenName"=>"Matthew A",
         | 
| 850 | 
            -
                    "name"=>"Hibbs, Matthew A",
         | 
| 851 | 
            -
                    "nameType"=>"Personal"},
         | 
| 852 | 
            -
                   {"familyName"=>"Huttenhower",
         | 
| 853 | 
            -
                    "givenName"=>"Curtis",
         | 
| 854 | 
            -
                    "name"=>"Huttenhower, Curtis",
         | 
| 855 | 
            -
                    "nameType"=>"Personal"},
         | 
| 856 | 
            -
                   {"familyName"=>"Troyanskaya",
         | 
| 857 | 
            -
                    "givenName"=>"Olga G",
         | 
| 858 | 
            -
                    "name"=>"Troyanskaya, Olga G",
         | 
| 859 | 
            -
                    "nameType"=>"Personal"}])
         | 
| 860 | 
            -
                  expect(subject.titles).to eq([{"title"=>"Finding function: evaluation methods for functional genomic data"}])
         | 
| 861 | 
            -
                  expect(subject.dates).to include({"date"=>"2006-07-25", "dateType"=>"Issued"})
         | 
| 862 | 
            -
                  expect(subject.publication_year).to eq("2006")
         | 
| 863 | 
            -
                  expect(subject.publisher).to eq({"name"=>"Springer Science and Business Media LLC"})
         | 
| 864 | 
            -
                  expect(subject.agency).to eq("crossref")
         | 
| 865 | 
            -
                  expect(subject.date_registered).to eq("2020-04-20T16:04:45Z")
         | 
| 866 | 
            -
                end
         | 
| 867 | 
            -
             | 
| 868 | 
            -
                it "markup" do
         | 
| 869 | 
            -
                  input = "https://doi.org/10.1098/rspb.2017.0132"
         | 
| 870 | 
            -
                  subject = Bolognese::Metadata.new(input: input)
         | 
| 871 | 
            -
                  expect(subject.valid?).to be true
         | 
| 872 | 
            -
                  expect(subject.id).to eq("https://doi.org/10.1098/rspb.2017.0132")
         | 
| 873 | 
            -
                  expect(subject.url).to eq("https://royalsocietypublishing.org/doi/10.1098/rspb.2017.0132")
         | 
| 874 | 
            -
                  expect(subject.types).to eq("bibtex"=>"article", "citeproc"=>"article-journal", "resourceType"=>"JournalArticle", "resourceTypeGeneral"=>"JournalArticle", "ris"=>"JOUR", "schemaOrg"=>"ScholarlyArticle")
         | 
| 875 | 
            -
                  expect(subject.creators.size).to eq(6)
         | 
| 876 | 
            -
                  expect(subject.creators.first).to eq("affiliation" => [{"name"=>"School of Biological Sciences, Centre for Evolutionary Biology, University of Western Australia, Crawley, WA 6009, Australia"}], "familyName" => "Dougherty","givenName" => "Liam R.","name" => "Dougherty, Liam R.","nameIdentifiers" => [{"nameIdentifier"=>"https://orcid.org/0000-0003-1406-0680", "nameIdentifierScheme"=>"ORCID", "schemeUri"=>"https://orcid.org"}],"nameType"=>"Personal")
         | 
| 877 | 
            -
                  expect(subject.titles).to eq([{"title"=>"Sexual conflict and correlated evolution between male persistence and female resistance traits in the seed beetle <i>Callosobruchus maculatus</i>"}])
         | 
| 878 | 
            -
                  expect(subject.dates).to include({"date"=>"2017-05-24", "dateType"=>"Issued"})
         | 
| 879 | 
            -
                  expect(subject.publication_year).to eq("2017")
         | 
| 880 | 
            -
                  expect(subject.publisher).to eq({"name"=>"The Royal Society"})
         | 
| 881 | 
            -
                  expect(subject.agency).to eq("crossref")
         | 
| 882 | 
            -
                  expect(subject.date_registered).to eq("2021-02-14T10:36:45Z")
         | 
| 883 | 
            -
                end
         | 
| 884 | 
            -
             | 
| 885 | 
            -
                it "empty given name" do
         | 
| 886 | 
            -
                  input = "https://doi.org/10.1111/J.1865-1682.2010.01171.X"
         | 
| 887 | 
            -
                  subject = Bolognese::Metadata.new(input: input)
         | 
| 888 | 
            -
                  expect(subject.valid?).to be true
         | 
| 889 | 
            -
                  expect(subject.id).to eq("https://doi.org/10.1111/j.1865-1682.2010.01171.x")
         | 
| 890 | 
            -
                  expect(subject.url).to eq("http://doi.wiley.com/10.1111/j.1865-1682.2010.01171.x")
         | 
| 891 | 
            -
                  expect(subject.types).to eq("bibtex"=>"article", "citeproc"=>"article-journal", "resourceType"=>"JournalArticle", "resourceTypeGeneral"=>"JournalArticle", "ris"=>"JOUR", "schemaOrg"=>"ScholarlyArticle")
         | 
| 892 | 
            -
                  expect(subject.creators.length).to eq(5)
         | 
| 893 | 
            -
                  expect(subject.creators[3]).to eq("familyName"=>"Ehtisham-ul-Haq", "givenName"=>"???", "name"=>"Ehtisham-ul-Haq, ???", "nameType"=>"Personal")
         | 
| 894 | 
            -
                  expect(subject.titles).to eq([{"title"=>"Serological Evidence of Brucella abortus Prevalence in Punjab Province, Pakistan - A Cross-Sectional Study"}])
         | 
| 895 | 
            -
                  expect(subject.rights_list).to eq([{"rightsUri"=>"http://doi.wiley.com/10.1002/tdm_license_1.1"}])
         | 
| 896 | 
            -
                  expect(subject.dates).to eq([{"date"=>"2010-12", "dateType"=>"Issued"}, {"date"=>"2021-02-04T22:37:42Z", "dateType"=>"Updated"}])
         | 
| 897 | 
            -
                  expect(subject.publication_year).to eq("2010")
         | 
| 898 | 
            -
                  expect(subject.publisher).to eq({"name"=>"Wiley"})
         | 
| 899 | 
            -
                end
         | 
| 900 | 
            -
             | 
| 901 | 
            -
                it "invalid date" do
         | 
| 902 | 
            -
                  input = "https://doi.org/10.1055/s-0039-1690894"
         | 
| 903 | 
            -
                  subject = Bolognese::Metadata.new(input: input)
         | 
| 904 | 
            -
                  expect(subject.valid?).to be true
         | 
| 905 | 
            -
                  expect(subject.id).to eq("https://doi.org/10.1055/s-0039-1690894")
         | 
| 906 | 
            -
                  expect(subject.identifiers).to eq([{"identifier"=>"s-0039-1690894", "identifierType"=>"sequence-number"}])
         | 
| 907 | 
            -
                  expect(subject.url).to eq("http://www.thieme-connect.de/DOI/DOI?10.1055/s-0039-1690894")
         | 
| 908 | 
            -
                  expect(subject.types).to eq("bibtex"=>"article", "citeproc"=>"article-journal", "resourceType"=>"JournalArticle", "resourceTypeGeneral"=>"JournalArticle", "ris"=>"JOUR", "schemaOrg"=>"ScholarlyArticle")
         | 
| 909 | 
            -
                  expect(subject.creators.length).to eq(4)
         | 
| 910 | 
            -
                  expect(subject.creators[3]).to eq("affiliation" => [{"name"=>"Department of Chemistry, Tianjin Key Laboratory of Molecular Optoelectronic Sciences, and Tianjin Collaborative Innovation Centre of Chemical Science and Engineering, Tianjin University"}, {"name"=>"Joint School of National University of Singapore and Tianjin University, International Campus of Tianjin University"}],
         | 
| 911 | 
            -
                    "familyName" => "Ma",
         | 
| 912 | 
            -
                    "givenName" => "Jun-An",
         | 
| 913 | 
            -
                    "name" => "Ma, Jun-An",
         | 
| 914 | 
            -
                    "nameIdentifiers" => [{"nameIdentifier"=>"https://orcid.org/0000-0002-3902-6799", "nameIdentifierScheme"=>"ORCID", "schemeUri"=>"https://orcid.org"}],
         | 
| 915 | 
            -
                    "nameType" => "Personal")
         | 
| 916 | 
            -
                  expect(subject.titles).to eq([{"title"=>"Silver-Catalyzed [3+3] Annulation of Glycine Imino Esters with Seyferth???Gilbert Reagent To Access Tetrahydro-1,2,4-triazinecarboxylate Esters"}])
         | 
| 917 | 
            -
                  expect(subject.dates).to eq([{"date"=>"2020-04-08", "dateType"=>"Issued"}, {"date"=>"2020-06-16T23:13:36Z", "dateType"=>"Updated"}])
         | 
| 918 | 
            -
                  expect(subject.publication_year).to eq("2020")
         | 
| 919 | 
            -
                  expect(subject.publisher).to eq({"name"=>"Georg Thieme Verlag KG"})
         | 
| 920 | 
            -
                end
         | 
| 921 | 
            -
             | 
| 922 | 
            -
                it "journal article with" do
         | 
| 923 | 
            -
                  input = "https://doi.org/10.1111/nph.14619"
         | 
| 924 | 
            -
                  subject = Bolognese::Metadata.new(input: input)
         | 
| 925 | 
            -
                  expect(subject.valid?).to be true
         | 
| 926 | 
            -
                  expect(subject.id).to eq("https://doi.org/10.1111/nph.14619")
         | 
| 927 | 
            -
                  expect(subject.url).to eq("http://doi.wiley.com/10.1111/nph.14619")
         | 
| 928 | 
            -
                  expect(subject.types).to eq("bibtex"=>"article", "citeproc"=>"article-journal", "resourceType"=>"JournalArticle", "resourceTypeGeneral"=>"JournalArticle", "ris"=>"JOUR", "schemaOrg"=>"ScholarlyArticle")
         | 
| 929 | 
            -
                  expect(subject.creators.length).to eq(3)
         | 
| 930 | 
            -
                  expect(subject.creators.first).to eq("nameType"=>"Personal", "nameIdentifiers" => [{"nameIdentifier"=>"https://orcid.org/0000-0002-4156-3761", "nameIdentifierScheme"=>"ORCID", "schemeUri"=>"https://orcid.org"}], "name"=>"Dissmeyer, Nico", "givenName"=>"Nico", "familyName"=>"Dissmeyer", "affiliation" => [{"name"=>"Independent Junior Research Group on Protein Recognition and Degradation; Leibniz Institute of Plant Biochemistry (IPB); Weinberg 3 Halle (Saale) D-06120 Germany"}, {"name"=>"ScienceCampus Halle - Plant-based Bioeconomy; Betty-Heimann-Strasse 3 Halle (Saale) D-06120 Germany"}])
         | 
| 931 | 
            -
                  expect(subject.titles).to eq([{"title"=>"Life and death of proteins after protease cleavage: protein degradation by the N-end rule pathway"}])
         | 
| 932 | 
            -
                  expect(subject.rights_list).to eq([{"rightsUri"=>"http://doi.wiley.com/10.1002/tdm_license_1.1"}, {"rightsUri"=>"http://onlinelibrary.wiley.com/termsAndConditions#vor"}])
         | 
| 933 | 
            -
                  expect(subject.dates).to include({"date"=>"2018-05", "dateType"=>"Issued"})
         | 
| 934 | 
            -
                  expect(subject.publication_year).to eq("2018")
         | 
| 935 | 
            -
                  expect(subject.publisher).to eq({"name"=>"Wiley"})
         | 
| 936 | 
            -
                  expect(subject.related_identifiers.length).to eq(49)
         | 
| 937 | 
            -
                  expect(subject.related_identifiers.first).to eq("relatedIdentifier"=>"0028-646X", "relatedIdentifierType"=>"ISSN", "relationType"=>"IsPartOf", "resourceTypeGeneral"=>"Collection")
         | 
| 938 | 
            -
                  expect(subject.related_identifiers.last).to eq("relatedIdentifier"=>"10.1002/pmic.201400530", "relatedIdentifierType"=>"DOI", "relationType"=>"References")
         | 
| 939 | 
            -
                  expect(subject.container).to eq("firstPage"=>"929", "identifier"=>"0028-646X", "identifierType"=>"ISSN", "issue"=>"3", "lastPage"=>"935", "title"=>"New Phytologist", "type"=>"Journal", "volume"=>"218")
         | 
| 940 | 
            -
                  expect(subject.agency).to eq("crossref")
         | 
| 941 | 
            -
                  expect(subject.date_registered).to eq("2018-08-03T11:45:49Z")
         | 
| 942 | 
            -
                end
         | 
| 943 | 
            -
             | 
| 944 | 
            -
                it "author literal" do
         | 
| 945 | 
            -
                  input = "https://doi.org/10.1038/ng.3834"
         | 
| 946 | 
            -
                  subject = Bolognese::Metadata.new(input: input)
         | 
| 947 | 
            -
                  expect(subject.valid?).to be true
         | 
| 948 | 
            -
                  expect(subject.id).to eq("https://doi.org/10.1038/ng.3834")
         | 
| 949 | 
            -
                  expect(subject.url).to eq("http://www.nature.com/articles/ng.3834")
         | 
| 950 | 
            -
                  expect(subject.types).to eq("bibtex"=>"article", "citeproc"=>"article-journal", "resourceType"=>"JournalArticle", "resourceTypeGeneral"=>"JournalArticle", "ris"=>"JOUR", "schemaOrg"=>"ScholarlyArticle")
         | 
| 951 | 
            -
                  expect(subject.creators.length).to eq(14)
         | 
| 952 | 
            -
                  expect(subject.creators.last).to eq("name"=>"GTEx Consortium", "nameType"=>"Organizational")
         | 
| 953 | 
            -
                  expect(subject.titles).to eq([{"title"=>"The impact of structural variation on human gene expression"}])
         | 
| 954 | 
            -
                  expect(subject.dates).to include({"date"=>"2017-04-03", "dateType"=>"Issued"})
         | 
| 955 | 
            -
                  expect(subject.publication_year).to eq("2017")
         | 
| 956 | 
            -
                  expect(subject.publisher).to eq({"name"=>"Springer Science and Business Media LLC"})
         | 
| 957 | 
            -
                  expect(subject.agency).to eq("crossref")
         | 
| 958 | 
            -
                  expect(subject.date_registered).to eq("2019-11-02T09:30:06Z")
         | 
| 959 | 
            -
                end
         | 
| 960 | 
            -
             | 
| 961 | 
            -
                it "affiliation is space" do
         | 
| 962 | 
            -
                  input = "https://doi.org/10.1177/0042098011428175"
         | 
| 963 | 
            -
                  subject = Bolognese::Metadata.new(input: input)
         | 
| 964 | 
            -
                  expect(subject.valid?).to be true
         | 
| 965 | 
            -
                  expect(subject.id).to eq("https://doi.org/10.1177/0042098011428175")
         | 
| 966 | 
            -
                  expect(subject.url).to eq("http://journals.sagepub.com/doi/10.1177/0042098011428175")
         | 
| 967 | 
            -
                  expect(subject.types).to eq("bibtex"=>"article", "citeproc"=>"article-journal", "resourceType"=>"JournalArticle", "resourceTypeGeneral"=>"JournalArticle", "ris"=>"JOUR", "schemaOrg"=>"ScholarlyArticle")
         | 
| 968 | 
            -
                  expect(subject.creators.length).to eq(1)
         | 
| 969 | 
            -
                  expect(subject.creators.first).to eq("affiliation"=>[{"name"=>"??"}], "familyName"=>"Petrovici", "givenName"=>"Norbert", "name"=>"Petrovici, Norbert", "nameType"=>"Personal")
         | 
| 970 | 
            -
                  expect(subject.titles).to eq([{"title"=>"Workers and the City: Rethinking the Geographies of Power in Post-socialist Urbanisation"}])
         | 
| 971 | 
            -
                  expect(subject.dates).to include({"date"=>"2011-12-22", "dateType"=>"Issued"})
         | 
| 972 | 
            -
                  expect(subject.publication_year).to eq("2011")
         | 
| 973 | 
            -
                  expect(subject.publisher).to eq({"name"=>"SAGE Publications"})
         | 
| 974 | 
            -
                  expect(subject.agency).to eq("crossref")
         | 
| 975 | 
            -
                  expect(subject.date_registered).to eq("2021-05-16T02:02:38Z")
         | 
| 976 | 
            -
                end
         | 
| 977 | 
            -
             | 
| 978 | 
            -
                it "multiple issn" do
         | 
| 979 | 
            -
                  input = "https://doi.org/10.1007/978-3-642-34922-5_19"
         | 
| 980 | 
            -
                  subject = Bolognese::Metadata.new(input: input)
         | 
| 981 | 
            -
                  expect(subject.valid?).to be true
         | 
| 982 | 
            -
                  expect(subject.id).to eq("https://doi.org/10.1007/978-3-642-34922-5_19")
         | 
| 983 | 
            -
                  expect(subject.url).to eq("http://link.springer.com/10.1007/978-3-642-34922-5_19")
         | 
| 984 | 
            -
                  expect(subject.types).to eq("bibtex"=>"inbook", "citeproc"=>"chapter", "resourceType"=>"BookChapter", "resourceTypeGeneral"=>"BookChapter", "ris"=>"CHAP", "schemaOrg"=>"Chapter")
         | 
| 985 | 
            -
                  expect(subject.creators.length).to eq(3)
         | 
| 986 | 
            -
                  expect(subject.creators.first).to eq("familyName"=>"Razib", "givenName"=>"Ali", "name"=>"Razib, Ali", "nameType"=>"Personal")
         | 
| 987 | 
            -
                  expect(subject.titles).to eq([{"title"=>"Log-Domain Arithmetic for High-Speed Fuzzy Control on a Field-Programmable Gate Array"}])
         | 
| 988 | 
            -
                  expect(subject.dates).to include({"date"=>"2013", "dateType"=>"Issued"})
         | 
| 989 | 
            -
                  expect(subject.publication_year).to eq("2013")
         | 
| 990 | 
            -
                  expect(subject.publisher).to eq({"name"=>"Springer Science and Business Media LLC"})
         | 
| 991 | 
            -
                  expect(subject.container).to eq("identifier"=>"1860-0808", "identifierType"=>"ISSN", "title"=>"Studies in Fuzziness and Soft Computing", "type"=>"Book Series")
         | 
| 992 | 
            -
                  expect(subject.agency).to eq("crossref")
         | 
| 993 | 
            -
                  expect(subject.date_registered).to eq("2012-10-31T16:15:44Z")
         | 
| 994 | 
            -
                end
         | 
| 995 | 
            -
             | 
| 996 | 
            -
                it "article id as page number" do
         | 
| 997 | 
            -
                  input = "https://doi.org/10.1103/physrevlett.120.117701"
         | 
| 998 | 
            -
                  subject = Bolognese::Metadata.new(input: input)
         | 
| 999 | 
            -
                  expect(subject.valid?).to be true
         | 
| 1000 | 
            -
                  expect(subject.id).to eq("https://doi.org/10.1103/physrevlett.120.117701")
         | 
| 1001 | 
            -
                  expect(subject.url).to eq("https://link.aps.org/doi/10.1103/PhysRevLett.120.117701")
         | 
| 1002 | 
            -
                  expect(subject.types).to eq("bibtex"=>"article", "citeproc"=>"article-journal", "resourceType"=>"JournalArticle", "resourceTypeGeneral"=>"JournalArticle", "ris"=>"JOUR", "schemaOrg"=>"ScholarlyArticle")
         | 
| 1003 | 
            -
                  expect(subject.creators.length).to eq(5)
         | 
| 1004 | 
            -
                  expect(subject.creators.first).to eq("familyName"=>"Marrazzo", "givenName"=>"Antimo", "name"=>"Marrazzo, Antimo", "nameType"=>"Personal")
         | 
| 1005 | 
            -
                  expect(subject.titles).to eq([{"title"=>"Prediction of a Large-Gap and Switchable Kane-Mele Quantum Spin Hall Insulator"}])
         | 
| 1006 | 
            -
                  expect(subject.dates).to include({"date"=>"2018-03-13", "dateType"=>"Issued"})
         | 
| 1007 | 
            -
                  expect(subject.publication_year).to eq("2018")
         | 
| 1008 | 
            -
                  expect(subject.publisher).to eq({"name"=>"American Physical Society (APS)"})
         | 
| 1009 | 
            -
                  expect(subject.container).to eq("firstPage" => "117701", "identifier"=>"1079-7114", "identifierType"=>"ISSN", "issue"=>"11", "title"=>"Physical Review Letters", "type"=>"Journal", "volume"=>"120")
         | 
| 1010 | 
            -
                  expect(subject.agency).to eq("crossref")
         | 
| 1011 | 
            -
                  expect(subject.date_registered).to eq("2018-03-13T15:18:48Z")
         | 
| 1012 | 
            -
                end
         | 
| 1013 | 
            -
             | 
| 1014 | 
            -
                it "posted content copernicus" do
         | 
| 1015 | 
            -
                  input = "https://doi.org/10.5194/CP-2020-95"
         | 
| 1016 | 
            -
                  subject = Bolognese::Metadata.new(input: input)
         | 
| 1017 | 
            -
                  expect(subject.valid?).to be true
         | 
| 1018 | 
            -
                  expect(subject.url).to eq("https://cp.copernicus.org/preprints/cp-2020-95/")
         | 
| 1019 | 
            -
                  expect(subject.types).to eq("bibtex"=>"article", "citeproc"=>"article-journal", "resourceType"=>"PostedContent", "resourceTypeGeneral"=>"JournalArticle", "ris"=>"JOUR", "schemaOrg"=>"ScholarlyArticle")
         | 
| 1020 | 
            -
                  expect(subject.creators.count).to eq(6)
         | 
| 1021 | 
            -
                  expect(subject.creators.first).to eq("nameType" => "Personal", "familyName" => "Shao",
         | 
| 1022 | 
            -
                    "givenName" => "Jun",
         | 
| 1023 | 
            -
                    "name" => "Shao, Jun",
         | 
| 1024 | 
            -
                    "nameIdentifiers" => [{"nameIdentifier"=>"https://orcid.org/0000-0001-6130-6474", "nameIdentifierScheme"=>"ORCID", "schemeUri"=>"https://orcid.org"}])
         | 
| 1025 | 
            -
                  expect(subject.titles).to eq([{"title"=>"The Atmospheric Bridge Communicated the ??<sup>13</sup>C Decline during the Last Deglaciation to the Global Upper Ocean"}])
         | 
| 1026 | 
            -
                  expect(subject.id).to eq("https://doi.org/10.5194/cp-2020-95")
         | 
| 1027 | 
            -
                  expect(subject.identifiers).to be_empty
         | 
| 1028 | 
            -
                  expect(subject.descriptions.first["description"]).to start_with("Abstract. During the early last glacial termination")
         | 
| 1029 | 
            -
                  expect(subject.dates).to include({"date"=>"2020-07-28", "dateType"=>"Issued"})
         | 
| 1030 | 
            -
                  expect(subject.publication_year).to eq("2020")
         | 
| 1031 | 
            -
                  expect(subject.publisher).to eq({"name"=>"Copernicus GmbH"})
         | 
| 1032 | 
            -
                  expect(subject.agency).to eq("crossref")
         | 
| 1033 | 
            -
                end
         | 
| 1034 | 
            -
             | 
| 1035 | 
            -
                it "book oup" do
         | 
| 1036 | 
            -
                  input = "10.1093/oxfordhb/9780198746140.013.5"
         | 
| 1037 | 
            -
                  subject = Bolognese::Metadata.new(input: input)
         | 
| 1038 | 
            -
                  expect(subject.valid?).to be true
         | 
| 1039 | 
            -
                  expect(subject.url).to eq("http://oxfordhandbooks.com/view/10.1093/oxfordhb/9780198746140.001.0001/oxfordhb-9780198746140-e-5")
         | 
| 1040 | 
            -
                  expect(subject.types).to eq("bibtex"=>"book", "citeproc"=>"book", "resourceType"=>"Book", "resourceTypeGeneral"=>"Book", "ris"=>"BOOK", "schemaOrg"=>"Book")
         | 
| 1041 | 
            -
                  expect(subject.creators.count).to eq(1)
         | 
| 1042 | 
            -
                  expect(subject.creators.first).to eq("familyName"=>"Clayton", "givenName"=>"Barbra R.", "name"=>"Clayton, Barbra R.", "nameType"=>"Personal")
         | 
| 1043 | 
            -
                  expect(subject.contributors.count).to eq(2)
         | 
| 1044 | 
            -
                  expect(subject.contributors.first).to eq("contributorType"=>"Editor", "familyName"=>"Cozort", "givenName"=>"Daniel", "name"=>"Cozort, Daniel", "nameType"=>"Personal")
         | 
| 1045 | 
            -
                  expect(subject.titles).to eq([{"title"=>"The Changing Way of the Bodhisattva"}])
         | 
| 1046 | 
            -
                  expect(subject.id).to eq("https://doi.org/10.1093/oxfordhb/9780198746140.013.5")
         | 
| 1047 | 
            -
                  expect(subject.identifiers).to be_empty
         | 
| 1048 | 
            -
                  expect(subject.descriptions.first["description"]).to start_with("This chapter explores the nature of the connections")
         | 
| 1049 | 
            -
                  expect(subject.dates).to include({"date"=>"2018-04-05", "dateType"=>"Issued"})
         | 
| 1050 | 
            -
                  expect(subject.publication_year).to eq("2018")
         | 
| 1051 | 
            -
                  expect(subject.publisher).to eq({"name"=>"Oxford University Press (OUP)"})
         | 
| 1052 | 
            -
                  expect(subject.agency).to eq("crossref")
         | 
| 1053 | 
            -
                end
         | 
| 1054 | 
            -
             | 
| 1055 | 
            -
                it "report osti" do
         | 
| 1056 | 
            -
                  input = "10.2172/972169"
         | 
| 1057 | 
            -
                  subject = Bolognese::Metadata.new(input: input)
         | 
| 1058 | 
            -
                  expect(subject.valid?).to be true
         | 
| 1059 | 
            -
                  expect(subject.url).to eq("http://www.osti.gov/servlets/purl/972169-1QXROM/")
         | 
| 1060 | 
            -
                  expect(subject.types).to eq("bibtex"=>"techreport", "citeproc"=>"report", "resourceType"=>"Report", "resourceTypeGeneral"=>"Report", "ris"=>"RPRT", "schemaOrg"=>"Report")
         | 
| 1061 | 
            -
                  expect(subject.creators.count).to eq(4)
         | 
| 1062 | 
            -
                  expect(subject.creators.first).to eq("familyName"=>"Denholm", "givenName"=>"P.", "name"=>"Denholm, P.", "nameType"=>"Personal")
         | 
| 1063 | 
            -
                  expect(subject.contributors.count).to eq(0)
         | 
| 1064 | 
            -
                  expect(subject.titles).to eq([{"title"=>"Role of Energy Storage with Renewable Electricity Generation"}])
         | 
| 1065 | 
            -
                  expect(subject.id).to eq("https://doi.org/10.2172/972169")
         | 
| 1066 | 
            -
                  expect(subject.identifiers).to eq( [{"identifier"=>"NREL/TP-6A2-47187", "identifierType"=>"report-number"}, {"identifier"=>"972169", "identifierType"=>"sequence-number"}])
         | 
| 1067 | 
            -
                  expect(subject.descriptions).to be_empty
         | 
| 1068 | 
            -
                  expect(subject.dates).to include({"date"=>"2010-01-01", "dateType"=>"Issued"})
         | 
| 1069 | 
            -
                  expect(subject.publication_year).to eq("2010")
         | 
| 1070 | 
            -
                  expect(subject.publisher).to eq({"name"=>"Office of Scientific and Technical Information (OSTI)"})
         | 
| 1071 | 
            -
                  expect(subject.agency).to eq("crossref")
         | 
| 1072 | 
            -
                end
         | 
| 1073 | 
            -
             | 
| 1074 | 
            -
                it "journal issue" do
         | 
| 1075 | 
            -
                  input = "https://doi.org/10.6002/ect.2015.0371"
         | 
| 1076 | 
            -
                  subject = Bolognese::Metadata.new(input: input)
         | 
| 1077 | 
            -
                  #expect(subject.valid?).to be true
         | 
| 1078 | 
            -
                  expect(subject.id).to eq("https://doi.org/10.6002/ect.2015.0371")
         | 
| 1079 | 
            -
                  expect(subject.url).to eq("http://ectrx.org/forms/ectrxcontentshow.php?doi_id=10.6002/ect.2015.0371")
         | 
| 1080 | 
            -
                  expect(subject.types).to eq("bibtex"=>"misc", "citeproc"=>"article-journal", "resourceType"=>"JournalIssue", "resourceTypeGeneral"=>"Text", "ris"=>"JOUR", "schemaOrg"=>"PublicationIssue")
         | 
| 1081 | 
            -
                  expect(subject.creators).to eq([{"name"=>":(unav)", "nameType"=>"Organizational"}])
         | 
| 1082 | 
            -
                  expect(subject.titles).to eq([{"title"=>":(unav)"}])
         | 
| 1083 | 
            -
                  expect(subject.dates).to eq([{"date"=>"2018-10", "dateType"=>"Issued"}, {"date"=>"2018-10-03T12:09:12Z", "dateType"=>"Updated"}])
         | 
| 1084 | 
            -
                  expect(subject.publication_year).to eq("2018")
         | 
| 1085 | 
            -
                  expect(subject.publisher).to eq({"name"=>"Baskent University"})
         | 
| 1086 | 
            -
                  expect(subject.related_identifiers.length).to eq(1)
         | 
| 1087 | 
            -
                  expect(subject.related_identifiers.first).to eq("relatedIdentifier"=>"2146-8427", "relatedIdentifierType"=>"ISSN", "relationType"=>"IsPartOf", "resourceTypeGeneral"=>"Collection")
         | 
| 1088 | 
            -
                  expect(subject.container).to eq("identifier"=>"2146-8427", "identifierType"=>"ISSN", "issue"=>"5", "title"=>"Experimental and Clinical Transplantation", "type"=>"Journal", "volume"=>"16")
         | 
| 1089 | 
            -
                  expect(subject.agency).to eq("crossref")
         | 
| 1090 | 
            -
                end
         | 
| 1091 | 
            -
             | 
| 1092 | 
            -
                it "not found error" do
         | 
| 1093 | 
            -
                  input = "https://doi.org/10.7554/elife.01567x"
         | 
| 1094 | 
            -
                  subject = Bolognese::Metadata.new(input: input)
         | 
| 1095 | 
            -
                  expect(subject.valid?).to be false
         | 
| 1096 | 
            -
                  expect(subject.id).to eq("https://doi.org/10.7554/elife.01567x")
         | 
| 1097 | 
            -
                  expect(subject.doi).to eq("10.7554/elife.01567x")
         | 
| 1098 | 
            -
                  expect(subject.agency).to eq("crossref")
         | 
| 1099 | 
            -
                  expect(subject.state).to eq("not_found")
         | 
| 1100 | 
            -
                end
         | 
| 1101 | 
            -
             | 
| 1102 | 
            -
                it "with Schema 4.6 Translator contributor" do
         | 
| 1103 | 
            -
                  input = fixture_path + 'crossref_schema_4.6_values.xml'
         | 
| 1104 | 
            -
                  subject = Bolognese::Metadata.new(input: input)
         | 
| 1105 | 
            -
             | 
| 1106 | 
            -
                  expect(subject.contributors).to eq([
         | 
| 1107 | 
            -
                    {"givenName"=>"Ashwini", "familyName"=>"Sukale", "name"=>"Sukale, Ashwini", "nameType"=>"Personal", "affiliation"=>[{"name"=>"DataCite"}], "contributorType"=>"Editor"},
         | 
| 1108 | 
            -
                    {"givenName"=>"Cody", "familyName"=>"Ross", "name"=>"Ross, Cody", "nameType"=>"Personal", "affiliation"=>[{"name"=>"DataCite"}], "contributorType"=>"Translator"},
         | 
| 1109 | 
            -
                  ])
         | 
| 1110 | 
            -
                end
         | 
| 1111 | 
            -
             | 
| 1112 | 
            -
                it "with Schema 4.6 HasTranslation and IsTranslationOf" do
         | 
| 1113 | 
            -
                  input = fixture_path + 'crossref_schema_4.6_values.xml'
         | 
| 1114 | 
            -
                  subject = Bolognese::Metadata.new(input: input)
         | 
| 1115 | 
            -
             | 
| 1116 | 
            -
                  expect(subject.related_identifiers.count).to eq(7)
         | 
| 1117 | 
            -
                  expect(subject.related_identifiers).to include(
         | 
| 1118 | 
            -
                    {
         | 
| 1119 | 
            -
                      "relatedIdentifier"=>"10.32013/zll10oq",
         | 
| 1120 | 
            -
                      "relatedIdentifierType"=>"DOI",
         | 
| 1121 | 
            -
                      "relationType"=>"HasTranslation",
         | 
| 1122 | 
            -
                    }
         | 
| 1123 | 
            -
                  )
         | 
| 1124 | 
            -
                  expect(subject.related_identifiers).to include(
         | 
| 1125 | 
            -
                    {
         | 
| 1126 | 
            -
                      "relatedIdentifier"=>"10.5555/original_language",
         | 
| 1127 | 
            -
                      "relatedIdentifierType"=>"DOI",
         | 
| 1128 | 
            -
                      "relationType"=>"IsTranslationOf",
         | 
| 1129 | 
            -
                    }
         | 
| 1130 | 
            -
                  )
         | 
| 1131 | 
            -
                end
         | 
| 1132 | 
            -
              end
         | 
| 1133 | 
            -
            end
         |