amnh / PCG

𝙋𝙝𝙮𝙡𝙤𝙜𝙚𝙣𝙚𝙩𝙞𝙘 𝘾𝙤𝙢𝙥𝙤𝙣𝙚𝙣𝙩 𝙂𝙧𝙖𝙥𝙝 ⸺ Haskell program and libraries for general phylogenetic graph search
28 stars 1 forks source link

Add integration tests #71

Closed recursion-ninja closed 5 years ago

recursion-ninja commented 6 years ago

Below is a rough matrix of things we should add for our initial integration tests:

Test Target Criteria Metrics Test type Script File Input File(s)
Additive character Check cost Linear HUnit/IO
Non-additive character Check cost Discrete HUnit/IO
Continuous character Check cost Linear HUnit/IO
Sankoff character (DNA) Check cost Metric † HUnit/IO
Sankoff character (Protien) Check cost Metric † HUnit/IO
Sankoff character (65+ alphabet) Check cost Metric † HUnit/IO
Dynamic (DNA) Check cost All ‡ HUnit/IO
Dynamic (Protein) Check cost All ‡ HUnit/IO
Dynamic (65+ alphabet) Check cost All ‡ HUnit/IO
Multi-file input Check cost All ‡ HUnit/IO
Weights Check cost All ‡ HUnit/IO
Input tree Check cost Discrete HUnit/IO
Input network-single root Check cost Discrete HUnit/IO
Input network-multi-root Check cost Discrete HUnit/IO
Input forest Check cost Discrete HUnit/IO
Wagner RAS Check cost & topology Discrete Golden
Network RAS Check cost & topology Discrete Golden
XML output Diff output Discrete Golden
"Data" output Diff output Discrete Golden
"Dot" output Diff output Discrete Golden
Mismatch graph leaf not in data Expect failure N/A HUnit/IO
Mismatch data leaf not in graph Expect failure N/A HUnit/IO
Duplicate leave in data Expect failure N/A HUnit/IO
Duplicate leaf in graph Expect failure N/A HUnit/IO
No data no graphs Expect failure N/A HUnit/IO

† There should be many metrics tested here: "1-2", "2-1", Leveshtein, L2-Norm (discretized), hamming distance (of string states), etc.

‡ We should tests with the dirscrete metric, the L1-Norm, and all included metrics from (†).

recursion-ninja commented 5 years ago

I've added the integration tests specified. Some defects were revealed that need to be addressed, but the initial integration test suite is in place.