Produces valid (if not necessarily correct) trees on known good inputs
Modifies behavior correctly in the presence of different flags
Additionally:
Test harness and an automated, high-level test suite, compare against RapidNJ and QuickJoin, use tree distance as a heuristic
Generate some random sequences and run them through each tool, diff them against one another
Also run some very simple sequences (like the examples, perhaps) to guard against regressions and to keep the documentation correct (gold file tests) [TW suggested using random alignment generator, but with fixed seed]
Test cases (minimum): shorter than the SSE registers, exactly equal to, and larger than the registers (length should be a prime number)
We should check for the following:
Additionally:
Test harness and an automated, high-level test suite, compare against RapidNJ and QuickJoin, use tree distance as a heuristic Generate some random sequences and run them through each tool, diff them against one another
Also run some very simple sequences (like the examples, perhaps) to guard against regressions and to keep the documentation correct (gold file tests) [TW suggested using random alignment generator, but with fixed seed]
Test cases (minimum): shorter than the SSE registers, exactly equal to, and larger than the registers (length should be a prime number)