diff --git a/.git-crypt/keys/default/0/BC1863A156B166183583DB5F259406EF2B41C898.gpg b/.git-crypt/keys/default/0/BC1863A156B166183583DB5F259406EF2B41C898.gpg new file mode 100644 index 0000000..c5de8bd Binary files /dev/null and b/.git-crypt/keys/default/0/BC1863A156B166183583DB5F259406EF2B41C898.gpg differ diff --git a/package-lock.json b/package-lock.json index 6f6258b..fa9180c 100644 --- a/package-lock.json +++ b/package-lock.json @@ -4,6 +4,14 @@ "lockfileVersion": 1, "requires": true, "dependencies": { + "argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "requires": { + "sprintf-js": "~1.0.2" + } + }, "assertion-error": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-1.1.0.tgz", @@ -378,6 +386,16 @@ "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=" }, + "esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==" + }, + "events-to-array": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/events-to-array/-/events-to-array-1.1.2.tgz", + "integrity": "sha1-LUH1Y+H+QA7Uli/hpNXGp1Od9/Y=" + }, "extend": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", @@ -445,6 +463,15 @@ "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" }, + "js-yaml": { + "version": "3.12.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.12.0.tgz", + "integrity": "sha512-PIt2cnwmPfL4hKNwqeiuz4bKfnzHTBv6HyVgjahA6mPLwPDzjDWrplJBMjHUFxku/N3FlmrbyPclad+I+4mJ3A==", + "requires": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + } + }, "minimatch": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", @@ -458,6 +485,15 @@ "resolved": "http://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=" }, + "minipass": { + "version": "2.3.5", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-2.3.5.tgz", + "integrity": "sha512-Gi1W4k059gyRbyVUZQ4mEqLm0YIUiGYfvxhF6SIlk3ui1WVxMTGfGdQ2SInh3PDrRTVvPKgULkpJtT4RH10+VA==", + "requires": { + "safe-buffer": "^5.1.2", + "yallist": "^3.0.0" + } + }, "mkdirp": { "version": "0.5.1", "resolved": "http://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", @@ -519,12 +555,22 @@ "integrity": "sha1-P4Yt+pGrdmsUiF700BEkv9oHT7Q=", "dev": true }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + }, "safer-buffer": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", "dev": true }, + "sprintf-js": { + "version": "1.0.3", + "resolved": "http://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=" + }, "supports-color": { "version": "5.4.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz", @@ -533,6 +579,16 @@ "has-flag": "^3.0.0" } }, + "tap-parser": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/tap-parser/-/tap-parser-7.0.0.tgz", + "integrity": "sha512-05G8/LrzqOOFvZhhAk32wsGiPZ1lfUrl+iV7+OkKgfofZxiceZWMHkKmow71YsyVQ8IvGBP2EjcIjE5gL4l5lA==", + "requires": { + "events-to-array": "^1.0.1", + "js-yaml": "^3.2.7", + "minipass": "^2.2.0" + } + }, "type-detect": { "version": "4.0.8", "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", @@ -542,6 +598,11 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" + }, + "yallist": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.0.3.tgz", + "integrity": "sha512-S+Zk8DEWE6oKpV+vI3qWkaK+jSbIK86pCwe2IF/xwIpQ8jEuxpw9NyaGjmp9+BoJv5FV2piqCDcoCtStppiq2A==" } } } diff --git a/package.json b/package.json index 02c5373..9bb4ee6 100644 --- a/package.json +++ b/package.json @@ -19,7 +19,8 @@ "homepage": "https://github.com/phyloref/clade-ontology#readme", "dependencies": { "chai": "^4.2.0", - "mocha": "^5.2.0" + "mocha": "^5.2.0", + "tap-parser": "^7.0.0" }, "devDependencies": { "d3": "^5.7.0", diff --git a/phyx/encrypted/phylonym/phloref.Apo-Spermatophyta.Hilton_Bateman_2006.json b/phyx/encrypted/phylonym/phloref.Apo-Spermatophyta.Hilton_Bateman_2006.json new file mode 100644 index 0000000..f8fd969 Binary files /dev/null and b/phyx/encrypted/phylonym/phloref.Apo-Spermatophyta.Hilton_Bateman_2006.json differ diff --git a/phyx/encrypted/phylonym/phloref.Basidomycota.James_2006.json b/phyx/encrypted/phylonym/phloref.Basidomycota.James_2006.json new file mode 100644 index 0000000..d2619b1 Binary files /dev/null and b/phyx/encrypted/phylonym/phloref.Basidomycota.James_2006.json differ diff --git a/phyx/encrypted/phylonym/phyloref.Apo-Tracheophyte.Crane.2004.json b/phyx/encrypted/phylonym/phyloref.Apo-Tracheophyte.Crane.2004.json new file mode 100644 index 0000000..82bf0eb Binary files /dev/null and b/phyx/encrypted/phylonym/phyloref.Apo-Tracheophyte.Crane.2004.json differ diff --git a/phyx/encrypted/phylonym/phyloref.Archaeplastida.Burki.2008.json b/phyx/encrypted/phylonym/phyloref.Archaeplastida.Burki.2008.json new file mode 100644 index 0000000..6a33a46 Binary files /dev/null and b/phyx/encrypted/phylonym/phyloref.Archaeplastida.Burki.2008.json differ diff --git a/phyx/encrypted/phylonym/phyloref.Asteridae.Soltis2011.json b/phyx/encrypted/phylonym/phyloref.Asteridae.Soltis2011.json new file mode 100644 index 0000000..9720806 Binary files /dev/null and b/phyx/encrypted/phylonym/phyloref.Asteridae.Soltis2011.json differ diff --git a/phyx/encrypted/phylonym/phyloref.Bignoniaceae.Olmstead.2009.json b/phyx/encrypted/phylonym/phyloref.Bignoniaceae.Olmstead.2009.json new file mode 100644 index 0000000..317beee Binary files /dev/null and b/phyx/encrypted/phylonym/phyloref.Bignoniaceae.Olmstead.2009.json differ diff --git a/phyx/encrypted/phylonym/phyloref.Campanulaceae.Tank2010.json b/phyx/encrypted/phylonym/phyloref.Campanulaceae.Tank2010.json new file mode 100644 index 0000000..51e2296 Binary files /dev/null and b/phyx/encrypted/phylonym/phyloref.Campanulaceae.Tank2010.json differ diff --git a/phyx/encrypted/phylonym/phyloref.Chlorophyta.Cocquyt.2009.json b/phyx/encrypted/phylonym/phyloref.Chlorophyta.Cocquyt.2009.json new file mode 100644 index 0000000..f8100e4 Binary files /dev/null and b/phyx/encrypted/phylonym/phyloref.Chlorophyta.Cocquyt.2009.json differ diff --git a/phyx/encrypted/phylonym/phyloref.Dikarya.Bauer.2015.json b/phyx/encrypted/phylonym/phyloref.Dikarya.Bauer.2015.json new file mode 100644 index 0000000..9421291 Binary files /dev/null and b/phyx/encrypted/phylonym/phyloref.Dikarya.Bauer.2015.json differ diff --git a/phyx/encrypted/phylonym/phyloref.Discicristata.Hampl.2009.json b/phyx/encrypted/phylonym/phyloref.Discicristata.Hampl.2009.json new file mode 100644 index 0000000..d9ce5ca Binary files /dev/null and b/phyx/encrypted/phylonym/phyloref.Discicristata.Hampl.2009.json differ diff --git a/phyx/encrypted/phylonym/phyloref.amorphea.Minge2009.2.json b/phyx/encrypted/phylonym/phyloref.amorphea.Minge2009.2.json index d548e23..ca67293 100644 Binary files a/phyx/encrypted/phylonym/phyloref.amorphea.Minge2009.2.json and b/phyx/encrypted/phylonym/phyloref.amorphea.Minge2009.2.json differ diff --git a/phyx/encrypted/phylonym/phyloref.amphibia.Vallin2004.json b/phyx/encrypted/phylonym/phyloref.amphibia.Vallin2004.json new file mode 100644 index 0000000..b300fca Binary files /dev/null and b/phyx/encrypted/phylonym/phyloref.amphibia.Vallin2004.json differ diff --git a/phyx/encrypted/phylonym/phyloref.caniformia.Flynn2005.json b/phyx/encrypted/phylonym/phyloref.caniformia.Flynn2005.json new file mode 100644 index 0000000..621264a Binary files /dev/null and b/phyx/encrypted/phylonym/phyloref.caniformia.Flynn2005.json differ diff --git a/test-results/complete.txt b/test-results/complete.txt new file mode 100644 index 0000000..9ffea2d --- /dev/null +++ b/test-results/complete.txt @@ -0,0 +1,571 @@ + +> clade-ontology@0.1.0 test /home/vaidyagi/code/phyloref/clade-ontology +> mocha + + + + Test PHYX files in repository + PHYX file: phyx/encrypted/phylonym/phloref.Apo-Spermatophyta.Hilton_Bateman_2006.json + ✓ is not empty + ✓ produced JSON-LD is not empty + ✓ contains one or more phyloreferences + ✓ should test all phyloreferences + ✓ produces a valid test result line from JPhyloRef + ✓ did not report any failures + - 1 phyloreferences were marked as TODO during testing. + Phyloreference Apo-Spermatophyta (5 internal specifiers, 0 external specifiers) + ✓ Includes internal specifier Gnetum gnemon Linnaeus 1767 (Gnetophyta) + ✓ Includes internal specifier Cycas revoluta Thunberg 1782 (Cycadophyta) + ✓ Includes internal specifier Ginkgo biloba Linnaeus 1771 + ✓ Includes internal specifier Magnolia tripetala (Linnaeus) Linnaeus 1759 (Angiospermae) + ✓ Includes internal specifier Podocarpus macrophyllus (Thunberg) Sweet 1818 (Coniferae) + - Skipping as TODO: Phyloreference could not be tested, as one or more specifiers did not match. + PHYX file: phyx/encrypted/phylonym/phloref.Basidomycota.James_2006.json + ✓ is not empty + ✓ produced JSON-LD is not empty + ✓ contains one or more phyloreferences + ✓ should test all phyloreferences + ✓ produces a valid test result line from JPhyloRef + ✓ did not report any failures + - 1 phyloreferences were marked as TODO during testing. + Phyloreference Basidomycota (1 internal specifiers, 3 external specifiers) + ✓ Includes internal specifier Coprinopsis cinerea (Schaeff.) Redhead, Vilgalys & Moncalvo 2001 + ✓ Includes external specifier Peziza vesiculosa Bull. 1790 + ✓ Includes external specifier Taphrina wiesneri (Ráthay) Mix 1954 + ✓ Includes external specifier Saccharomyces cerevisiae Meyen 1838 + - Skipping as TODO: Phyloreference did not resolve, but has status [phyloreference status http://purl.org/spar/pso/draft starting at 2018-07-16T18:33:47.992Z] + PHYX file: phyx/encrypted/phylonym/phyloref.Apo-Tracheophyte.Crane.2004.json + ✓ is not empty + ✓ produced JSON-LD is not empty + ✓ contains one or more phyloreferences + ✓ should test all phyloreferences + ✓ produces a valid test result line from JPhyloRef + ✓ did not report any failures + - 1 phyloreferences were marked as TODO during testing. + Phyloreference Apo-Tracheophyte (1 internal specifiers, 0 external specifiers) + ✓ Includes internal specifier Pinus sylvestris Linnaeus 1753 + - Skipping as TODO: Phyloreference could not be tested, as one or more specifiers did not match. + PHYX file: phyx/encrypted/phylonym/phyloref.Archaeplastida.Burki.2008.json + ✓ is not empty + ✓ produced JSON-LD is not empty + ✓ contains one or more phyloreferences + ✓ should test all phyloreferences + ✓ produces a valid test result line from JPhyloRef + ✓ did not report any failures + - 1 phyloreferences were marked as TODO during testing. + Phyloreference Archaeplastida (2 internal specifiers, 1 external specifiers) + ✓ Includes internal specifier Galdieria sulphuraria (Galdieri) Merola in Merola et al. 1981 (Rhodoplantae) + ✓ Includes internal specifier Arabidopsis thaliana (Linnaeus) Heynhold 1842 + ✓ Includes external specifier Homo sapiens Linnaeus 1758 + - Skipping as TODO: Phyloreference could not be tested, as one or more specifiers did not match. + PHYX file: phyx/encrypted/phylonym/phyloref.Asteridae.Soltis2011.json + ✓ is not empty + ✓ produced JSON-LD is not empty + ✓ contains one or more phyloreferences + ✓ should test all phyloreferences + ✓ produces a valid test result line from JPhyloRef + ✓ did not report any failures + - 1 phyloreferences were marked as TODO during testing. + Phyloreference Asteridae (4 internal specifiers, 0 external specifiers) + ✓ Includes internal specifier Arbutus unedo Linnaeus 1753 (Ericales) + ✓ Includes internal specifier Aster amellus Linnaeus 1753 (Campanulidae/Asterales) + ✓ Includes internal specifier Cornus mas Linnaeus 1753 (Cornales) + ✓ Includes internal specifier Lamium purpureum Linnaeus 1753 (Lamiidae/Lamiales) + - Skipping as TODO: Phyloreference could not be tested, as one or more specifiers did not match. + PHYX file: phyx/encrypted/phylonym/phyloref.Bignoniaceae.Olmstead.2009.json + ✓ is not empty + ✓ produced JSON-LD is not empty + ✓ contains one or more phyloreferences + ✓ should test all phyloreferences + ✓ produces a valid test result line from JPhyloRef + ✓ did not report any failures + 1) had at least one success + ✓ passed testing in JPhyloRef + Phyloreference Bignoniaceae (3 internal specifiers, 0 external specifiers) + ✓ Includes internal specifier Eccremocarpus scaber Ruiz & Pavon 1794 + ✓ Includes internal specifier Jacaranda mimosifolia D. Don 1822 + ✓ Includes internal specifier Bignonia capreolata Linnaeus 1753 + ✓ should pass testing + PHYX file: phyx/encrypted/phylonym/phyloref.Campanulaceae.Tank2010.json + ✓ is not empty + ✓ produced JSON-LD is not empty + ✓ contains one or more phyloreferences + ✓ should test all phyloreferences + ✓ produces a valid test result line from JPhyloRef + ✓ did not report any failures + - 1 phyloreferences were marked as TODO during testing. + Phyloreference Campanulaceae (1 internal specifiers, 3 external specifiers) + ✓ Includes internal specifier Campanula latifolia Linnaeus 1753 + ✓ Includes external specifier Roussea simplex J. E. Smith 1789 + ✓ Includes external specifier Pentaphragma ellipticum Poulsen 1903 + ✓ Includes external specifier Stylidium graminifolium Swartz ex Willdenow 1805 + - Skipping as TODO: Phyloreference could not be tested, as one or more specifiers did not match. + PHYX file: phyx/encrypted/phylonym/phyloref.Chlorophyta.Cocquyt.2009.json + ✓ is not empty + ✓ produced JSON-LD is not empty + ✓ contains one or more phyloreferences + ✓ should test all phyloreferences + ✓ produces a valid test result line from JPhyloRef + ✓ did not report any failures + - 1 phyloreferences were marked as TODO during testing. + Phyloreference Chlorophyta (1 internal specifiers, 1 external specifiers) + ✓ Includes internal specifier Chlamydomonas reinhardtii P. C. A. Dangeard 1891 + ✓ Includes external specifier Chara vulgaris Linnaeus 175 + - Skipping as TODO: Phyloreference could not be tested, as one or more specifiers did not match. + PHYX file: phyx/encrypted/phylonym/phyloref.Dikarya.Bauer.2015.json + ✓ is not empty + ✓ produced JSON-LD is not empty + ✓ contains one or more phyloreferences + ✓ should test all phyloreferences + ✓ produces a valid test result line from JPhyloRef + ✓ did not report any failures + - 1 phyloreferences were marked as TODO during testing. + Phyloreference Dikarya (3 internal specifiers, 0 external specifiers) + ✓ Includes internal specifier Entorrhiza casparyana (Magnus) Lagerb. 1888 (Entorrhizomycota) + ✓ Includes internal specifier Saccharomyces cerevisiae Meyen 1838 (Ascomycota) + ✓ Includes internal specifier Coprinopsis cinerea (Schaeff.) Redhead, Vilgalys & Moncalvo 2001 (Basidiomycota/Agaricomycotina) + - Skipping as TODO: Phyloreference could not be tested, as one or more specifiers did not match. + PHYX file: phyx/encrypted/phylonym/phyloref.Discicristata.Hampl.2009.json + ✓ is not empty + ✓ produced JSON-LD is not empty + ✓ contains one or more phyloreferences + ✓ should test all phyloreferences + ✓ produces a valid test result line from JPhyloRef + ✓ did not report any failures + - 1 phyloreferences were marked as TODO during testing. + Phyloreference Discicristata (2 internal specifiers, 0 external specifiers) + ✓ Includes internal specifier Naegleria gruberi (Schardinger) Alexeieff 1912 (Heterolobosea) + ✓ Includes internal specifier Euglena gracilis Klebs 1883 (Euglenozoa) + - Skipping as TODO: Phyloreference could not be tested, as one or more specifiers did not match. + PHYX file: phyx/encrypted/phylonym/phyloref.amorphea.Minge2009.2.json + ✓ is not empty + ✓ produced JSON-LD is not empty + ✓ contains one or more phyloreferences + ✓ should test all phyloreferences + ✓ produces a valid test result line from JPhyloRef + ✓ did not report any failures + - 1 phyloreferences were marked as TODO during testing. + Phyloreference Amorphea (3 internal specifiers, 4 external specifiers) + ✓ Includes internal specifier Dictyostelium discoideum Raper 1935 + ✓ Includes internal specifier Neurospora crassa Shear and Dodge 1927 + ✓ Includes internal specifier Homo sapiens Linnaeus 1758 + ✓ Includes external specifier Arabidopsis thaliana (Linnaeus) Heynhold 1842 + ✓ Includes external specifier Bigelowiella natans Moestrup and Sengco 2001 + ✓ Includes external specifier Euglena gracilis Klebs 1883 + ✓ Includes external specifier Emiliania huxleyi (Lohmann) Hay and Mohler 1967 + - Skipping as TODO: Phyloreference could not be tested, as one or more specifiers did not match. + PHYX file: phyx/encrypted/phylonym/phyloref.amphibia.Vallin2004.json + ✓ is not empty + ✓ produced JSON-LD is not empty + ✓ contains one or more phyloreferences + ✓ should test all phyloreferences + ✓ produces a valid test result line from JPhyloRef + ✓ did not report any failures + - 1 phyloreferences were marked as TODO during testing. + Phyloreference Amphibia (5 internal specifiers, 1 external specifiers) + ✓ Includes internal specifier Rana temporaria Linnaeus 1758 (Anura) + ✓ Includes internal specifier Proteus anguinus Laurenti 1768 (Proteidae) + ✓ Includes internal specifier Andrias japonicus (Temminck 1836) + ✓ Includes internal specifier Siren lacertina Österdam 1766 (Sirenidae) + ✓ Includes internal specifier Caecilia tentaculata Linnaeus 1758 (Gymnophiona) + ✓ Includes external specifier Homo sapiens Linnaeus 1758 (Synapsida) + - Skipping as TODO: Phyloreference could not be tested, as one or more specifiers did not match. + PHYX file: phyx/encrypted/phylonym/phyloref.angiospermae.Doyle2018.json + ✓ is not empty + ✓ produced JSON-LD is not empty + ✓ contains one or more phyloreferences + ✓ should test all phyloreferences + ✓ produces a valid test result line from JPhyloRef + ✓ did not report any failures + - 1 phyloreferences were marked as TODO during testing. + Phyloreference Angiospermae (1 internal specifiers, 4 external specifiers) + ✓ Includes internal specifier Liquidambar styraciflua Linnaeus 1753 + ✓ Includes external specifier Cycas revoluta Thunberg 1782 (Cycadophyta) + ✓ Includes external specifier Ginkgo biloba Linnaeus 1771 + ✓ Includes external specifier Pinus strobus Linnaeus 1753 (Coniferae) + ✓ Includes external specifier Gnetum gnemon Linnaeus 1767 (Gnetophyta) + - Skipping as TODO: Phyloreference could not be tested, as one or more specifiers did not match. + PHYX file: phyx/encrypted/phylonym/phyloref.caniformia.Flynn2005.json + ✓ is not empty + ✓ produced JSON-LD is not empty + ✓ contains one or more phyloreferences + ✓ should test all phyloreferences + ✓ produces a valid test result line from JPhyloRef + ✓ did not report any failures + - 1 phyloreferences were marked as TODO during testing. + Phyloreference Caniformia (1 internal specifiers, 1 external specifiers) + ✓ Includes internal specifier Canis lupus Linnaeus 1758 (Canidae) + ✓ Includes external specifier Felis silvestris Schreber 1777 (Felidae) + - Skipping as TODO: Phyloreference could not be tested, as one or more specifiers did not match. + PHYX file: phyx/from_papers/Brochu 2003/paper.json + ✓ is not empty + ✓ produced JSON-LD is not empty + ✓ contains one or more phyloreferences + ✓ should test all phyloreferences + ✓ produces a valid test result line from JPhyloRef + ✓ did not report any failures + - 11 phyloreferences were marked as TODO during testing. + Phyloreference Crocodylinae (1 internal specifiers, 1 external specifiers) + ✓ Includes internal specifier Crocodylus niloticus + ✓ Includes external specifier Tomistoma schlegelii + ✓ should pass testing + Phyloreference Tomistominae (1 internal specifiers, 1 external specifiers) + ✓ Includes internal specifier Tomistoma schlegelii + ✓ Includes external specifier Crocodylus niloticus + ✓ should pass testing + Phyloreference Mekosuchinae (7 internal specifiers, 0 external specifiers) + ✓ Includes internal specifier Mekosuchus inexpectatus + ✓ Includes internal specifier Quinkana fortirostrum + ✓ Includes internal specifier Trilophosuchus rackhami + ✓ Includes internal specifier Baru darrowi + ✓ Includes internal specifier Pallimnarchus pollens + ✓ Includes internal specifier Australosuchus clarkae + ✓ Includes internal specifier Kambara murgonensis + - Skipping as TODO: Phyloreference could not be tested, as one or more specifiers did not match. + Phyloreference Crocodylidae (3 internal specifiers, 0 external specifiers) + ✓ Includes internal specifier Tomistoma schlegelii + ✓ Includes internal specifier Osteolaemus tetraspis + ✓ Includes internal specifier Crocodylus niloticus + ✓ should pass testing + Phyloreference Crocodyloidea (1 internal specifiers, 2 external specifiers) + ✓ Includes internal specifier Crocodylus niloticus + ✓ Includes external specifier Alligator mississippiensis + ✓ Includes external specifier Gavialis gangeticus + - Skipping as TODO: Phyloreference did not resolve, but has status [phyloreference status http://purl.org/spar/pso/under-review starting at 2018-06-11T22:49:48.240Z] + Phyloreference Caimaninae (1 internal specifiers, 1 external specifiers) + ✓ Includes internal specifier Caiman crocodilus + ✓ Includes external specifier Alligator mississippiensis + ✓ should pass testing + Phyloreference Gavialinae (alt) (1 internal specifiers, 1 external specifiers) + ✓ Includes internal specifier Gavialis gangeticus + ✓ Includes external specifier Tomistoma schlegelii + - Skipping as TODO: Phyloreference did not resolve, but has status [phyloreference status http://purl.org/spar/pso/final-draft starting at 2018-06-11T22:51:05.073Z] + Phyloreference Tomistominae (alt) (1 internal specifiers, 1 external specifiers) + ✓ Includes internal specifier Tomistoma schlegelii + ✓ Includes external specifier Gavialis gangeticus + - Skipping as TODO: Phyloreference did not resolve, but has status [phyloreference status http://purl.org/spar/pso/final-draft starting at 2018-06-11T22:51:01.914Z] + Phyloreference Gavialidae (alt) (2 internal specifiers, 0 external specifiers) + ✓ Includes internal specifier Tomistoma schlegelii + ✓ Includes internal specifier Gavialis gangeticus + - Skipping as TODO: Phyloreference did not resolve, but has status [phyloreference status http://purl.org/spar/pso/final-draft starting at 2018-06-11T22:50:58.482Z] + Phyloreference Crocodylinae (alt) (1 internal specifiers, 1 external specifiers) + ✓ Includes internal specifier Crocodylus niloticus + ✓ Includes external specifier Osteolaemus tetraspis + - Skipping as TODO: Phyloreference did not resolve, but has status [phyloreference status http://purl.org/spar/pso/final-draft starting at 2018-06-11T22:50:53.131Z] + Phyloreference Crocodylidae (alt) (2 internal specifiers, 0 external specifiers) + ✓ Includes internal specifier Osteolaemus tetraspis + ✓ Includes internal specifier Crocodylus niloticus + - Skipping as TODO: Phyloreference did not resolve, but has status [phyloreference status http://purl.org/spar/pso/final-draft starting at 2018-06-11T22:50:46.938Z] + Phyloreference Osteolaeminae (1 internal specifiers, 1 external specifiers) + ✓ Includes internal specifier Osteolaemus tetraspis + ✓ Includes external specifier Crocodylus niloticus + ✓ should pass testing + Phyloreference Gavialoidea (1 internal specifiers, 2 external specifiers) + ✓ Includes internal specifier Gavialis gangeticus + ✓ Includes external specifier Alligator mississippiensis + ✓ Includes external specifier Crocodylus niloticus + - Skipping as TODO: Phyloreference did not resolve, but has status [phyloreference status http://purl.org/spar/pso/under-review starting at 2018-06-11T22:48:48.903Z] + Phyloreference Crocodylia (3 internal specifiers, 0 external specifiers) + ✓ Includes internal specifier Crocodylus niloticus + ✓ Includes internal specifier Alligator mississippiensis + ✓ Includes internal specifier Gavialis gangeticus + ✓ should pass testing + Phyloreference Eusuchia (4 internal specifiers, 0 external specifiers) + ✓ Includes internal specifier Alligator mississippiensis + ✓ Includes internal specifier Gavialis gangeticus + ✓ Includes internal specifier Crocodylus niloticus + ✓ Includes internal specifier Hylaeochampsa vectiana + - Skipping as TODO: Phyloreference could not be tested, as one or more specifiers did not match. + Phyloreference Diplocynodontinae (1 internal specifiers, 1 external specifiers) + ✓ Includes internal specifier Diplocynodon ratelii + ✓ Includes external specifier Alligator mississippiensis + ✓ should pass testing + Phyloreference Alligatoroidea (1 internal specifiers, 2 external specifiers) + ✓ Includes internal specifier Alligator mississippiensis + ✓ Includes external specifier Crocodylus niloticus + ✓ Includes external specifier Gavialis gangeticus + - Skipping as TODO: Phyloreference did not resolve, but has status [phyloreference status http://purl.org/spar/pso/final-draft starting at 2018-06-11T20:00:47.151Z] + Phyloreference Brevirostres (2 internal specifiers, 0 external specifiers) + ✓ Includes internal specifier Crocodylus niloticus + ✓ Includes internal specifier Alligator mississippiensis + ✓ should pass testing + Phyloreference Pristichampsinae (1 internal specifiers, 3 external specifiers) + ✓ Includes internal specifier Pristichampsus rollinati + ✓ Includes external specifier Gavialis gangeticus + ✓ Includes external specifier Alligator mississippiensis + ✓ Includes external specifier Crocodylus niloticus + - Skipping as TODO: Phyloreference could not be tested, as one or more specifiers did not match. + Phyloreference Alligatorinae (1 internal specifiers, 1 external specifiers) + ✓ Includes internal specifier Alligator mississippiensis + ✓ Includes external specifier Caiman crocodilus + ✓ should pass testing + Phyloreference Alligatoridae (2 internal specifiers, 0 external specifiers) + ✓ Includes internal specifier Caiman crocodilus + ✓ Includes internal specifier Alligator mississippiensis + ✓ should pass testing + Phyloreference Globidonta (1 internal specifiers, 1 external specifiers) + ✓ Includes internal specifier Alligator mississippiensis + ✓ Includes external specifier Diplocynodon ratelii + ✓ should pass testing + PHYX file: phyx/from_papers/Fisher et al, 2007/paper.json + ✓ is not empty + ✓ produced JSON-LD is not empty + ✓ contains one or more phyloreferences + ✓ should test all phyloreferences + ✓ produces a valid test result line from JPhyloRef + ✓ did not report any failures + - 1 phyloreferences were marked as TODO during testing. + Phyloreference Syrrhopodon (2 internal specifiers, 1 external specifiers) + ✓ Includes internal specifier Syrrhopodon croceus Mitt., J. Proc. Linn. Soc., Bot. Suppl. 1: 41. (1859) + ✓ Includes internal specifier Leucophanes octoblepharoides Brid., Bryol. Univ. 1: 763. (1826) + ✓ Includes external specifier Syrrhopodon mauritianus Müll. Hal. ex Ångstr., Öfv. Förh. Kongl. Svenska Vet.-Akad. 33(4): 54. (1876) + ✓ should pass testing + Phyloreference Leucophanes (2 internal specifiers, 1 external specifiers) + ✓ Includes internal specifier Leucophanes octoblepharoides Brid., Bryol. Univ. 1: 763. (1826) + ✓ Includes internal specifier Leucophanes seychellarum Besch., Ann. Sci. Nat., Bot., VI, 9: 337. (1880) + ✓ Includes external specifier Specimen urn:catalog:::Wall 2527, Fiji (uc) + ✓ should pass testing + Phyloreference Calymperes (2 internal specifiers, 1 external specifiers) + ✓ Includes internal specifier Calymperes lonchophyllum Schwägr., Tab. Exhib. Calyptr. Opercul. (3). 1814 (1813). + ✓ Includes internal specifier Syrrhopodon mauritianus Müll. Hal. ex Ångstr., Öfv. Förh. Kongl. Svenska Vet.-Akad. 33(4): 54. (1876) + ✓ Includes external specifier Syrrhopodon croceus Mitt., J. Proc. Linn. Soc., Bot. Suppl. 1: 41. (1859) + ✓ should pass testing + Phyloreference Calymperaceae (2 internal specifiers, 1 external specifiers) + ✓ Includes internal specifier Syrrhopodon gardneri (Hook.) Schwägr., Sp. Musc. Frond. Suppl. 2(1): 110, tab. 131, figs. 1-13 (1824) + ✓ Includes internal specifier Leucophanes octoblepharoides Brid., Bryol. Univ. 1: 763. (1826) + ✓ Includes external specifier Octoblepharum albidum Hedw., Sp. Musc. 50. (1801) + ✓ should pass testing + Phyloreference Albifolium (2 internal specifiers, 1 external specifiers) + ✓ Includes internal specifier Arthrocormus schimperi (Dozy & Molk.) Dozy & Molk. (=Mielichhoferia schimperi Dozy & Molk.), Musci Frond. Ined. Archip. Ind. 75. (1846) + ✓ Includes internal specifier Leucophanes octoblepharoides Brid., Bryol. Univ. 1: 763. (1826) + ✓ Includes external specifier Syrrhopodon muelleri (Dozy & Molk) Sande Lac., Bryol. Jav. 2: 224. (1870) + ✓ should pass testing + Phyloreference Leucophanella (3 internal specifiers, 1 external specifiers) + ✓ Includes internal specifier Syrrhopodon banksii Müll. Hal., Bot. Zeitung (Berlin) 16: 162. (1858) + ✓ Includes internal specifier Syrrhopodon involutus Schwägr., Sp. Musc. Frond. Suppl. 2, 1(2): 117. pl. 132. (1824) + ✓ Includes internal specifier Syrrhopodon revolutus Dozy & Molk. + ✓ Includes external specifier Syrrhopodon trachyphyllus Mont., Sylloge Gen. Sp. Cryptog. 47. (1856) + - Skipping as TODO: Phyloreference could not be tested, as one or more specifiers did not match. + Phyloreference Trachymitrium (2 internal specifiers, 1 external specifiers) + ✓ Includes internal specifier Weissia ciliata Hook., Musci Exot. 2: 7. 171. (1820) or Syrrhopodon ciliatus + ✓ Includes internal specifier Syrrhopodon involutus Schwägr., Sp. Musc. Frond. Suppl. 2, 1(2): 117. pl. 132. (1824) + ✓ Includes external specifier Syrrhopodon perarmatus Broth. & Watts, J. & Proc. Roy. Soc. New South Wales 49: 133. (1915) + ✓ should pass testing + Phyloreference Mitthyridium (2 internal specifiers, 1 external specifiers) + ✓ Includes internal specifier Syrrhopodon fasciculatum Hook. & Grev., Edinb. J. Sci. 3: 225. (1825) or Mitthyridium fasciculatum + ✓ Includes internal specifier Codonoblepharum undulatum Dozy & Molk., Ann. Sci. Nat., Bot., III, 2: 301. (1844) or Mitthyridium undulatum + ✓ Includes external specifier Syrrhopodon croceus Mitt., J. Proc. Linn. Soc., Bot. Suppl. 1: 41. (1859) + ✓ should pass testing + Phyloreference Exodictyon (2 internal specifiers, 1 external specifiers) + ✓ Includes internal specifier Exodictyon Cardot, Rev. Bryol. Lichénol. 26: 6. (1899), excl. parte, emend Ellis in Lindbergia 11: 16 (1985) or Exodictyon sp + ✓ Includes internal specifier Specimen urn:catalog:::Wall 2527, Fiji (uc) + ✓ Includes external specifier Leucophanes octoblepharoides Brid., Bryol. Univ. 1: 763. (1826) + ✓ should pass testing + Phyloreference Exostratum (2 internal specifiers, 1 external specifiers) + ✓ Includes internal specifier Exostratum blumii (Nees ex Hampe) L. Ellis, Lindbergia 11: 22. (1985) + ✓ Includes internal specifier Specimen urn:catalog:::Mishler 7/24/98(3) + ✓ Includes external specifier Arthrocormus schimperi (Dozy & Molk.) Dozy & Molk. (= Mielichhoferia schimperi Dozy & Molk.), Musci Frond. Ined. Archip. Ind. 75. (1846) + ✓ should pass testing + Phyloreference Arthrocormus (2 internal specifiers, 1 external specifiers) + ✓ Includes internal specifier Arthrocormus schimperi (Dozy & Molk.) Dozy & Molk. (= Mielichhoferia schimperi Dozy & Molk.), Musci Frond. Ined. Archip. Ind. 75. (1846) + ✓ Includes internal specifier Specimen urn:catalog:::Mishler 7/24/98 (5) + ✓ Includes external specifier Exostratum blumii (Nees ex Hampe) L. Ellis, Lindbergia 11: 22. (1985) + ✓ should pass testing + PHYX file: phyx/from_papers/Hillis and Wilcox, 2005/paper.json + ✓ is not empty + ✓ produced JSON-LD is not empty + ✓ contains one or more phyloreferences + ✓ should test all phyloreferences + ✓ produces a valid test result line from JPhyloRef + ✓ did not report any failures + - 2 phyloreferences were marked as TODO during testing. + Phyloreference Scurrilirana (7 internal specifiers, 0 external specifiers) + ✓ Includes internal specifier Rana berlandieri Baird 1854 + ✓ Includes internal specifier Rana sphenocephala Cope 1886 + ✓ Includes internal specifier Rana forreri Boulenger 1883 + ✓ Includes internal specifier Rana spectabilis Hillis and Frost 1985 + ✓ Includes internal specifier Rana omiltemana Gunther 1900 + ✓ Includes internal specifier Rana taylori Smith 1959 + ✓ Includes internal specifier Rana magnaocularis Frost and Bagnara 1976 + ✓ should pass testing + Phyloreference Nenirana (2 internal specifiers, 0 external specifiers) + ✓ Includes internal specifier Rana areolata Baird and Girard 1852 + ✓ Includes internal specifier Rana palustris Le Conte 1825 + ✓ should pass testing + Phyloreference Lacusirana (3 internal specifiers, 0 external specifiers) + ✓ Includes internal specifier Rana montezumae Baird 1854 + ✓ Includes internal specifier Rana megapoda Taylor 1942 + ✓ Includes internal specifier Rana chiricahuensis Platz and Mecham 1979 + - Skipping as TODO: Phyloreference could not be tested, as one or more specifiers did not match. + Phyloreference Stertirana (2 internal specifiers, 0 external specifiers) + ✓ Includes internal specifier Rana pipiens Schreber 1782 + ✓ Includes internal specifier Rana montezumae Baird 1854 + ✓ should pass testing + Phyloreference Pantherana (4 internal specifiers, 0 external specifiers) + ✓ Includes internal specifier Rana pipiens Schreber 1782 + ✓ Includes internal specifier Rana montezumae Baird 1854 + ✓ Includes internal specifier Rana palustris LeConte 1825 + ✓ Includes internal specifier Rana berlandieri Baird 1854 + ✓ should pass testing + Phyloreference Zweifelia (2 internal specifiers, 0 external specifiers) + ✓ Includes internal specifier Rana tarahumarae Boulenger 1917 + ✓ Includes internal specifier Rana zweifeli Hillis, Frost and Webb 1984 + ✓ should pass testing + Phyloreference Novirana (2 internal specifiers, 0 external specifiers) + ✓ Includes internal specifier Rana catesbeiana Shaw 1802 + ✓ Includes internal specifier Rana pipiens Schreber 1782 + ✓ should pass testing + Phyloreference Amerana (5 internal specifiers, 0 external specifiers) + ✓ Includes internal specifier Rana aurora Baird and Girard 1852 + ✓ Includes internal specifier Rana boylii Baird 1854 + ✓ Includes internal specifier Rana cascadae Slater 1939 + ✓ Includes internal specifier Rana muscosa Camp 1917 + ✓ Includes internal specifier Rana pretiosa Baird and Girard 1853 + - Skipping as TODO: Phyloreference could not be tested, as one or more specifiers did not match. + Phyloreference Laurasiarana (2 internal specifiers, 0 external specifiers) + ✓ Includes internal specifier Rana temporaria Linne 1758 + ✓ Includes internal specifier Rana aurora Baird and Girard 1852 + ✓ should pass testing + Phyloreference Levirana (2 internal specifiers, 0 external specifiers) + ✓ Includes internal specifier Rana maculata Brocchi 1877 + ✓ Includes internal specifier Rana vibicaria (Cope) 1894 + ✓ should pass testing + Phyloreference Ranula (2 internal specifiers, 0 external specifiers) + ✓ Includes internal specifier Rana palmipes Spix 1824 + ✓ Includes internal specifier Rana warszewitschii (Schmidt) 1857 + ✓ should pass testing + Phyloreference Sierrana (3 internal specifiers, 0 external specifiers) + ✓ Includes internal specifier Rana juliani Hillis and de Sá, 1988 + ✓ Includes internal specifier Rana maculata Brocchi 1877 + ✓ Includes internal specifier Rana sierramadrensis Taylor 1939 + ✓ should pass testing + Phyloreference Aquarana (7 internal specifiers, 0 external specifiers) + ✓ Includes internal specifier Rana catesbeiana Shaw 1802 + ✓ Includes internal specifier Rana clamitans Latreille 1802 + ✓ Includes internal specifier Rana grylio Stejneger 1901 + ✓ Includes internal specifier Rana heckscheri Wright 1924 + ✓ Includes internal specifier Rana okaloosae Moler 1985 + ✓ Includes internal specifier Rana septentrionalis Baird 1854 + ✓ Includes internal specifier Rana virgatipes Cope1891 + ✓ should pass testing + Phyloreference Torrentirana (2 internal specifiers, 0 external specifiers) + ✓ Includes internal specifier Rana tarahumarae Boulenger 1917 + ✓ Includes internal specifier Rana sierramadrensis Taylor 1939 + ✓ should pass testing + Phyloreference Lithobates (4 internal specifiers, 0 external specifiers) + ✓ Includes internal specifier Rana palmipes Spix 1824 + ✓ Includes internal specifier Rana vaillanti Brocchi 1877 + ✓ Includes internal specifier Rana bwana Hillis and de Sá 1988 + ✓ Includes internal specifier Rana juliani Hillis and de Sá 1988 + ✓ should pass testing + Phyloreference Trypheropsis (2 internal specifiers, 0 external specifiers) + ✓ Includes internal specifier Rana warszewitschii (Schmidt) 1857 + ✓ Includes internal specifier Rana vibicaria (Cope) 1894 + ✓ should pass testing + PHYX file: phyx/from_papers/Wojciechowski, 2013/paper.json + ✓ is not empty + ✓ produced JSON-LD is not empty + ✓ contains one or more phyloreferences + ✓ should test all phyloreferences + ✓ produces a valid test result line from JPhyloRef + ✓ did not report any failures + - 6 phyloreferences were marked as TODO during testing. + Phyloreference Cladrastis (1 internal specifiers, 2 external specifiers) + ✓ Includes internal specifier Cladrastis kentukea (Dum. Cours.) Rudd 1971 + ✓ Includes external specifier Dermatophyllum secundiflorum (Ortega) Gandhi & Reveal 2011 + ✓ Includes external specifier Swartzia simplex Spreng. 1825 + - Skipping as TODO: Phyloreference could not be tested, as one or more specifiers did not match. + Phyloreference Papilionoideae (2 internal specifiers, 3 external specifiers) + ✓ Includes internal specifier Vicia faba L. 1753 + ✓ Includes internal specifier Castanospermum australe A. Cunn. ex Mudie 1829 + ✓ Includes external specifier Caesalpinia gilliesii (Wall. ex Hook.) D. Dietr. 1840 + ✓ Includes external specifier Gleditsia triacanthos L. + ✓ Includes external specifier Dialium guianense (Aubl.) Sandwith 1939 + - Skipping as TODO: Phyloreference could not be tested, as one or more specifiers did not match. + Phyloreference Pan-Papilionoidea (0 internal specifiers, 0 external specifiers) + - Skipping as TODO: Phyloreference did not resolve, but has status [phyloreference status http://purl.org/spar/pso/draft starting at 2018-06-07T23:40:22.617Z ending at 2018-06-07T23:55:56.973Z, phyloreference status http://purl.org/spar/pso/under-review starting at 2018-06-07T23:55:56.973Z ending at 2018-06-08T06:20:13.832Z, phyloreference status http://purl.org/spar/pso/draft starting at 2018-06-08T06:20:13.832Z] + Phyloreference Hologalegina (4 internal specifiers, 0 external specifiers) + ✓ Includes internal specifier Vicia faba L. 1753 + ✓ Includes internal specifier Sesbania grandiflora (L.) Pers. 1807 + ✓ Includes internal specifier Robinia pseudoacacia L. 1753 + ✓ Includes internal specifier Astragalus canadensis L. 1753 + ✓ should pass testing + Phyloreference Dalbergioid s.l. (2 internal specifiers, 0 external specifiers) + ✓ Includes internal specifier Dalbergia sissoo Roxb. ex DC. 1825 + ✓ Includes internal specifier Amorpha fruticosa L. 1753 + ✓ should pass testing + Phyloreference Vataireoid (2 internal specifiers, 3 external specifiers) + ✓ Includes internal specifier Vatairea guianensis Aubl. + ✓ Includes internal specifier Sweetia fruticosa Spreng. 1825 + ✓ Includes external specifier Andira inermis (W. Wright) DC. + ✓ Includes external specifier Zollernia ilicifolia (Brongn.) Vogel 1837 + ✓ Includes external specifier Aldina insignis (Benth.) Endl. 1843 + - Skipping as TODO: Phyloreference did not resolve, but has status [phyloreference status http://purl.org/spar/pso/draft starting at 2018-06-08T05:06:40.434Z ending at 2018-06-08T05:16:18.943Z, phyloreference status http://purl.org/spar/pso/under-review starting at 2018-06-08T05:16:18.943Z ending at 2018-06-08T06:05:51.040Z, phyloreference status http://purl.org/spar/pso/final-draft starting at 2018-06-08T06:05:51.040Z] + Phyloreference Meso-Papilionoideae (5 internal specifiers, 0 external specifiers) + ✓ Includes internal specifier Glycine max (L.) Merr. 1917 + ✓ Includes internal specifier Wisteria floribunda (Willd.) DC. 1825 + ✓ Includes internal specifier Maackia amurensis Rupr. 1856 + ✓ Includes internal specifier Holocalyx balansae Micheli 1883 + ✓ Includes internal specifier Aldina latifolia Spruce ex Benth. 1870 + - Skipping as TODO: Phyloreference could not be tested, as one or more specifiers did not match. + Phyloreference IRLC (3 internal specifiers, 0 external specifiers) + ✓ Includes internal specifier Glycyrrhiza lepidota Nuttall 1813 + ✓ Includes internal specifier Galega officinalis L. 1753 + ✓ Includes internal specifier Vicia faba L. + - Skipping as TODO: Phyloreference could not be tested, as one or more specifiers did not match. + + + 368 passing (118ms) + 50 pending + 1 failing + + 1) Test PHYX files in repository + PHYX file: phyx/encrypted/phylonym/phyloref.Bignoniaceae.Olmstead.2009.json + had at least one success: + AssertionError: No successes occurred during testing: +===STDOUT=== +1..1 +ok 1 Phyloreference 'Bignoniaceae' +# The following nodes were matched and expected this phyloreference: [Bignoniaceae] +# Phyloreference resolved correctly but was not expected to resolve; status should be changed to 'pso:submitted' from [phyloreference status http://purl.org/spar/pso/draft starting at 2018-08-01T19:29:19.118Z] + + +===STDERR=== +Input: - +WARNING: An illegal reflective access operation has occurred +WARNING: Illegal reflective access by com.google.inject.internal.cglib.core.$ReflectUtils$2 (file:/home/vaidyagi/code/phyloref/clade-ontology/jphyloref/jphyloref.jar) to method java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int,java.security.ProtectionDomain) +WARNING: Please consider reporting this to the maintainers of com.google.inject.internal.cglib.core.$ReflectUtils$2 +WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations +WARNING: All illegal access operations will be denied in a future release +Found local ontologies: [http://vocab.phyloref.org/phyloref/testcase.owl] +[main] WARN uk.ac.manchester.cs.owl.owlapi.OWLOntologyManagerImpl - Runtime Warning: Parsers should load imported ontologies using the makeImportLoadRequest method. +[main] INFO org.semanticweb.owlapi.io.AbstractOWLParser - URL connection input stream is compressed using gzip +[main] WARN uk.ac.manchester.cs.owl.owlapi.OWLOntologyManagerImpl - Runtime Warning: Parsers should load imported ontologies using the makeImportLoadRequest method. +[main] INFO org.semanticweb.owlapi.io.AbstractOWLParser - URL connection input stream is compressed using gzip +[main] WARN uk.ac.manchester.cs.owl.owlapi.OWLOntologyManagerImpl - Runtime Warning: Parsers should load imported ontologies using the makeImportLoadRequest method. +[main] INFO org.semanticweb.owlapi.io.AbstractOWLParser - URL connection input stream is compressed using gzip +[main] INFO org.semanticweb.owlapi.rdf.rdfxml.parser.OWLRDFConsumer - Unparsed triple: _:genid32 -> http://www.w3.org/1999/02/22-rdf-syntax-ns#type -> http://www.w3.org/2002/07/owl#AllDifferent +[main] INFO org.semanticweb.owlapi.rdf.rdfxml.parser.OWLRDFConsumer - Unparsed triple: _:genid23 -> http://www.w3.org/1999/02/22-rdf-syntax-ns#type -> http://www.w3.org/2002/07/owl#AllDifferent +[main] WARN uk.ac.manchester.cs.owl.owlapi.OWLOntologyManagerImpl - Runtime Warning: Parsers should load imported ontologies using the makeImportLoadRequest method. +[main] INFO org.semanticweb.owlapi.io.AbstractOWLParser - URL connection input stream is compressed using gzip +[main] WARN uk.ac.manchester.cs.owl.owlapi.OWLOntologyManagerImpl - Runtime Warning: Parsers should load imported ontologies using the makeImportLoadRequest method. +[main] INFO org.semanticweb.owlapi.io.AbstractOWLParser - URL connection input stream is compressed using gzip +[main] INFO org.semanticweb.owlapi.io.AbstractOWLParser - URL connection input stream is compressed using gzip +[main] INFO org.semanticweb.owlapi.io.AbstractOWLParser - URL connection input stream is compressed using gzip +[main] INFO org.semanticweb.owlapi.io.AbstractOWLParser - URL connection input stream is compressed using gzip +[main] INFO org.semanticweb.owlapi.io.AbstractOWLParser - URL connection input stream is compressed using gzip +[main] INFO org.semanticweb.owlapi.rdf.rdfxml.parser.OWLRDFConsumer - Unparsed triple: _:genid-nodeid-_:186 -> http://www.w3.org/1999/02/22-rdf-syntax-ns#type -> http://www.w3.org/2002/07/owl#AllDifferent +[main] INFO org.semanticweb.owlapi.rdf.rdfxml.parser.OWLRDFConsumer - Unparsed triple: _:genid-nodeid-_:177 -> http://www.w3.org/1999/02/22-rdf-syntax-ns#type -> http://www.w3.org/2002/07/owl#AllDifferent +[main] ERROR uk.ac.manchester.cs.owl.owlapi.OWLOntologyManagerImpl - Illegal redeclarations of entities: reuse of entity http://purl.obolibrary.org/obo/OBI_0000293 in punning not allowed [Declaration(AnnotationProperty()), Declaration(ObjectProperty())] +[main] ERROR uk.ac.manchester.cs.owl.owlapi.OWLOntologyManagerImpl - Illegal redeclarations of entities: reuse of entity http://purl.obolibrary.org/obo/RO_0002233 in punning not allowed [Declaration(AnnotationProperty()), Declaration(ObjectProperty())] +[main] ERROR uk.ac.manchester.cs.owl.owlapi.OWLOntologyManagerImpl - Illegal redeclarations of entities: reuse of entity http://purl.org/dc/terms/modified in punning not allowed [Declaration(AnnotationProperty()), Declaration(DataProperty())] +Loaded ontology: Ontology(OntologyID(OntologyIRI() VersionIRI())) [Axioms: 1853 Logical Axioms: 1611] First 20 axioms: {EquivalentClasses( ) EquivalentClasses( ObjectUnionOf(ObjectIntersectionOf(ObjectSomeValuesFrom( ObjectIntersectionOf(ObjectUnionOf(ObjectSomeValuesFrom( ObjectHasValue( )) ObjectHasValue( )) ObjectSomeValuesFrom( ObjectHasValue( )))) ObjectSomeValuesFrom( ObjectIntersectionOf(ObjectUnionOf(ObjectSomeValuesFrom( ObjectHasValue( )) ObjectHasValue( )) ObjectSomeValuesFrom( ObjectHasValue( ))))) ObjectIntersectionOf(ObjectSomeValuesFrom( ObjectHasValue( )) ObjectHasValue( )) ObjectIntersectionOf(ObjectSomeValuesFrom( ObjectHasValue( )) ObjectHasValue( ))) ) EquivalentClasses( ObjectUnionOf(ObjectIntersectionOf( ObjectSomeValuesFrom( ObjectHasValue( ))) ObjectIntersectionOf(ObjectSomeValuesFrom( ObjectIntersectionOf(ObjectUnionOf( ObjectSomeValuesFrom( )) ObjectSomeValuesFrom( ObjectHasValue( )))) ObjectSomeValuesFrom( ObjectIntersectionOf(ObjectUnionOf(ObjectSomeValuesFrom( ObjectHasValue( )) ObjectHasValue( )) ObjectSomeValuesFrom( )))) ObjectIntersectionOf(ObjectSomeValuesFrom( ) ObjectHasValue( ))) ) ObjectPropertyAssertion( ) ObjectPropertyAssertion( ) ObjectPropertyAssertion( ) ObjectPropertyAssertion( ) ObjectPropertyAssertion( ) ObjectPropertyAssertion( ) ObjectPropertyAssertion( ) ObjectPropertyAssertion( ) ObjectPropertyAssertion( ) ObjectPropertyAssertion( ) ObjectPropertyAssertion( ) ObjectPropertyAssertion( ) ObjectPropertyAssertion( ) ObjectPropertyAssertion( ) ObjectPropertyAssertion( ) ObjectPropertyAssertion( ) ObjectPropertyAssertion( ) } +FaCT++.Kernel: Reasoner for the SROIQ(D) Description Logic, 64-bit +Copyright (C) Dmitry Tsarkov, 2002-2011. Version 1.5.2 (12 April 2011) +Testing complete:1 successes, 0 failures, 0 failures marked TODO, 0 skipped. + +===: expected '1' to be a number or a date + at Context. (test/test_phyx.js:229:24) + + + diff --git a/test/test_phyx.js b/test/test_phyx.js index af2ab4e..ef27b66 100644 --- a/test/test_phyx.js +++ b/test/test_phyx.js @@ -36,6 +36,7 @@ const phyx = require('../curation-tool/js/phyx.js'); const child_process = require('child_process'); const fs = require('fs'); const path = require('path'); +const TapParser = require('tap-parser'); const chai = require('chai'); const assert = chai.assert; @@ -89,11 +90,18 @@ describe('Test PHYX files in repository', function() { // Read the PHYX data as UTF-8 and convert it into JSON-LD. const phyxContent = data.toString('utf-8'); - var jsonld; + let json; + let jsonld; try { - const json = JSON.parse(phyxContent); + json = JSON.parse(phyxContent); const wrappedPhyx = new phyx.PHYXWrapper(json); - jsonld = JSON.stringify(wrappedPhyx.asJSONLD()); + jsonld = JSON.stringify(wrappedPhyx.asJSONLD(), null, 4); + + // Let's write the JSON-LD into a file for debugging. + fs.writeFileSync( + filename.replace(/.json$/, '_as_owl.json'), + jsonld + ); } catch(ex) { it('Exception thrown while converting PHYX to JSON-LD', function() { throw ex; @@ -106,8 +114,60 @@ describe('Test PHYX files in repository', function() { assert.isNotEmpty(jsonld); }); + // Write out information about the tested phyloreferences. + it('contains one or more phyloreferences', function() { + assert.property(json, 'phylorefs'); + assert.isAbove(json.phylorefs.length, 0); + }); + + // Create a dictionary of phyloreferences by label. + const wrappedPhylorefsByLabel = {}; + json.phylorefs.forEach(phyloref => { + const wrapped = new phyx.PhylorefWrapper(phyloref); + wrappedPhylorefsByLabel[wrapped.label] = wrapped; + }); + + // Set up a TapParser. + const tapParser = new TapParser(result => { + it('should test all phyloreferences', function () { + assert.equal(result.count, json.phylorefs.length, 'number of test results should equal the number of phylorefs in file'); + }); + }); + tapParser.on('assert', result => { + const matches = result.name.match(/^Phyloreference '(.*)'$/); + if(matches === null) { + throw new RuntimeException(`Invalid test name: '${result.name}'`); + } + + const phyloref = wrappedPhylorefsByLabel[matches[1]]; + if(!phyloref) { + throw new RuntimeException(`Phyloreference '${matches[1]}' was tested but is not present in the input PHYX file`); + } + + const countInternal = phyloref.phyloref.internalSpecifiers.length; + const countExternal = phyloref.phyloref.externalSpecifiers.length; + describe(`Phyloreference ${phyloref.label} (${countInternal} internal specifiers, ${countExternal} external specifiers)`, function () { + phyloref.specifiers.forEach(specifier => { + it('Includes ' + phyloref.getSpecifierType(specifier).toLowerCase() + + ' specifier ' + phyx.PhylorefWrapper.getSpecifierLabel(specifier), function () { + assert(true); + }); + }); + + if (result.hasOwnProperty('todo')) { + it.skip('Skipping as TODO: ' + result.todo); + } else if (result.hasOwnProperty('skip')) { + it.skip('Skipping: ' + result.skip); + } else { + it('should pass testing', function () { + assert(assert.ok); + }); + } + }); + }); + // Test the produced JSON-LD using JPhyloRef. - var args = [ + let args = [ '-jar', 'jphyloref/jphyloref.jar', 'test', '-', '--jsonld' ]; @@ -126,6 +186,9 @@ describe('Test PHYX files in repository', function() { // Execute the command line, giving it the JSON-LD on STDIN. const child = child_process.spawnSync('java', args, { input: jsonld }); + tapParser.write(child.stdout); + tapParser.end(); + // Test whether we can read the test result line from JPhyloRef. // Eventually, we will parse the TAP results directly. const matches = /Testing complete:(\d+) successes, (\d+) failures, (\d+) failures marked TODO, (\d+) skipped./.exec(child.stderr); @@ -133,43 +196,45 @@ describe('Test PHYX files in repository', function() { assert.isNotNull(matches, 'Test result line not found in STDOUT'); }); - // Test whether we have any failures. - it('did not report any failures', function() { - const failures = matches[2]; - assert.equal(failures, 0, failures + ' failures occurred during testing'); - }); + if(matches) { + // Test whether we have any failures. + it('did not report any failures', function() { + const failures = matches[2]; + assert.equal(failures, 0, `${failures} failures occurred during testing:\n===STDOUT===\n${child.stdout}\n===STDERR===\n${child.stderr}\n===`); + }); + + // Look for TODOs or skipped tests. + const successes = matches[1]; + const todos = matches[3]; + const skipped = matches[4]; + + if(todos > 0) { + // TODOs are phyloreferences that we didn't expect to resolve. + it.skip(todos + ' phyloreferences were marked as TODO during testing.'); + return; + } - // Look for TODOs or skipped tests. - const successes = matches[1]; - const todos = matches[3]; - const skipped = matches[4]; + if(skipped > 0) { + // Skipped phyloreferences are here for historical reasons: JPhyloRef + // won't actually recognize any phyloreferences as skipped. This has + // been reported as https://github.com/phyloref/jphyloref/issues/40 + it.skip(skipped + ' phyloreferences were skipped during testing.'); + return; + } - if(todos > 0) { - // TODOs are phyloreferences that we didn't expect to resolve. - it.skip(todos + ' phyloreferences were marked as TODO during testing.'); - return; - } + // We could have zero failures but also zero successes. A Phyx file + // without any failures, TODOs or any successes in the Clade Ontology + // should be reported as a failure. + it('had at least one success', function() { + assert.isAbove(successes, 0, `No successes occurred during testing:\n===STDOUT===\n${child.stdout}\n===STDERR===\n${child.stderr}\n===`); + }); - if(skipped > 0) { - // Skipped phyloreferences are here for historical reasons: JPhyloRef - // won't actually recognize any phyloreferences as skipped. This has - // been reported as https://github.com/phyloref/jphyloref/issues/40 - it.skip(skipped + ' phyloreferences were skipped during testing.'); - return; + // On the off chance that all of the above made sense but the exit code didn't, + // we'll check that here. + it('passed testing in JPhyloRef', function() { + assert.equal(child.status, 0, 'Exit code from JPhyloRef was not zero'); + }); } - - // We could have zero failures but also zero successes. A Phyx file - // without any failures, TODOs or any successes in the Clade Ontology - // should be reported as a failure. - it('had at least one success', function() { - assert.isAbove(successes, 0, 'No successes occurred during testing'); - }); - - // On the off chance that all of the above made sense but the exit code didn't, - // we'll check that here. - it('passed testing in JPhyloRef', function() { - assert.equal(child.status, 0, 'Exit code from JPhyloRef was not zero'); - }); }); }); });