VDB-2: Test Plan for the Pileup tool
Revision History:
All tests use a reference window (RW) on a reference sequence
Group 1:
Verifies that the following events are represented correctly:
- match
- mismtach
- insert
- delete
- start of a read ('^')
- end of a read ('$')
Test Cases:
- 1-1. No placements in the reference window
- 1-2. 1 placement, fully inside RW, containing matches and mismatches
- 1-21. 1 placement, fully inside RW, containing an insert
- 1-22. 1 placement, fully inside RW, containing a delete
- 1-3. More than 1 placements, not overlapping with each other, all fully inside RW
- 1-4. 1 placement, starts outside RW
- 1-5. 1 placement, ends outside RW
- 1-6. 1 placement, starts and ends outside RW
- 1-7. RW wraps around the end of a circulat reference
Group 2:
On a set of More than 1 placements, some of which start before RW, some end outside RW.
Verifies that piled up placements are represented correctly.
Test Cases:
- 2-1. No overlap between placements (correct representation of a gap); same as case 1-3
- 2-2. 2 placements overlap
- 2-3. 3 placements overlap
- 2-4. 3 placements overlap, some start at the same position within RW, some end at the same position within RW
Group 3:
Verifies handling of the pileup application parameters.
Test Cases:
- 3-1. RW starts at 0
- 3-2. RW starts at the beginning of the reference
- 3-3. RW ends at the end of the reference
- 3-4. RW ends beyond the end of the reference
- 3-5. RW starts beyond the end of the reference
- 3-6. RW size is 1
- 3-7. 2 RWs specified, no overlap, both contain placements
- 3-8. 2 overlapping RWs specified, the overlapping part contains a placement
- 3-9. 2 input files are specified, only one contains placement in the RW
- 3-10. 2 input files are specified, both contain placements in the RW, no overlap
- 3-11. 2 input files are specified, both contain overlapping placements in the RW
- 3-12. same input file specified twice
Group 4:
Verifies handling of errors in the application parameters. All test cases should result in error messages on stderr and an empty stdout.
Test Cases:
- 4-1. Input file (table, database?) does not exist
- 4-2. Input file (table, database?) is not in a recognized format
- 4-3. RW size is negative