18 #include "SamRecord.h"
19 #include "SamValidation.h"
20 #include "ValidationTest.h"
38 assert(testRecord.setReadName(qname) ==
false);
39 assert(strcmp(testRecord.getReadName(),
"UNKNOWN") == 0);
46 memset(qname,
'.', 255);
48 assert(testRecord.setReadName(qname) ==
true);
49 assert(strcmp(testRecord.getReadName(), qname) == 0);
65 int bufferBlockSize = 32;
70 bufferRecordPtr->myBlockSize = bufferBlockSize;
71 bufferRecordPtr->myReferenceID = -1;
72 bufferRecordPtr->myPosition = 1010;
74 bufferRecordPtr->myReadNameLength = 0;
75 bufferRecordPtr->myMapQuality = 0;
76 bufferRecordPtr->myBin = 4681;
77 bufferRecordPtr->myCigarLength = 0;
78 bufferRecordPtr->myFlag = 73;
79 bufferRecordPtr->myReadLength = 0;
80 bufferRecordPtr->myMateReferenceID = -1;
81 bufferRecordPtr->myMatePosition = 1010;
82 bufferRecordPtr->myInsertSize = 0;
84 assert(testRecord.setBuffer((
const char*)bufferRecordPtr,
85 bufferBlockSize +
sizeof(
int),
100 bufferRecordPtr->myBlockSize = bufferBlockSize;
102 bufferRecordPtr->myReadNameLength = 8;
103 bufferRecordPtr->myData[0] =
'H';
104 bufferRecordPtr->myData[1] =
'I';
105 bufferRecordPtr->myData[2] = 0;
107 assert(testRecord.setBuffer((
const char*)bufferRecordPtr,
108 bufferBlockSize +
sizeof(
int),
123 bufferBlockSize = 34;
124 bufferRecordPtr->myBlockSize = bufferBlockSize;
126 bufferRecordPtr->myReadNameLength = 2;
127 bufferRecordPtr->myData[0] =
'H';
128 bufferRecordPtr->myData[1] =
'I';
129 bufferRecordPtr->myData[2] = 0;
131 assert(testRecord.setBuffer((
const char*)bufferRecordPtr,
132 bufferBlockSize +
sizeof(
int),
159 int bufferBlockSize = 35;
164 bufferRecordPtr->myBlockSize = bufferBlockSize;
165 bufferRecordPtr->myPosition = 1010;
166 bufferRecordPtr->myReferenceID = -1;
168 bufferRecordPtr->myReadNameLength = 3;
169 bufferRecordPtr->myMapQuality = 0;
170 bufferRecordPtr->myBin = 4681;
171 bufferRecordPtr->myCigarLength = 0;
172 bufferRecordPtr->myFlag = 73;
173 bufferRecordPtr->myReadLength = 0;
174 bufferRecordPtr->myMateReferenceID = -1;
175 bufferRecordPtr->myMatePosition = 1010;
176 bufferRecordPtr->myInsertSize = 0;
177 bufferRecordPtr->myData[0] =
'H';
178 bufferRecordPtr->myData[1] =
'I';
179 bufferRecordPtr->myData[2] = 0;
183 bufferRecordPtr->myReferenceID = 100;
185 assert(testRecord.setBuffer((
const char*)bufferRecordPtr,
186 bufferBlockSize +
sizeof(
int),
200 bufferRecordPtr->myReferenceID = -100;
202 assert(testRecord.setBuffer((
const char*)bufferRecordPtr,
203 bufferBlockSize +
sizeof(
int),
@ RETURN
just return failure on the error
Class providing an easy to use interface to get/set/operate on the fields in a SAM/BAM record.
Type getType() const
Return the type enum of this validation error object.
@ INVALID_REF_ID
Invalid reference id.
@ INVALID_QNAME
Invalid read/query name.
The SamValidationErrors class is a container class that holds SamValidationError Objects,...
const SamValidationError * getNextError()
Return a pointer to the next error without removing it from the container, and returning null once al...
void clear()
Remove all the errors from the container.
unsigned int numErrors()
Return the number of validation errors contained in this object.
static bool isValid(SamFileHeader &samHeader, SamRecord &samRecord, SamValidationErrors &validationErrors)
Validates whether or not the specified SamRecord is valid, calling all of the other validations.
@ SUCCESS
method completed successfully.
Structure of a BAM record.