static void ExpectRawIndicesEqual(const PbiRawData& expected, const PbiRawData& actual) { // header data EXPECT_EQ(expected.Version(), actual.Version()); EXPECT_EQ(expected.FileSections(), actual.FileSections()); EXPECT_EQ(expected.NumReads(), actual.NumReads()); // subread data const PbiRawBasicData& e = expected.BasicData(); const PbiRawBasicData& a = actual.BasicData(); EXPECT_EQ(e.rgId_, a.rgId_); EXPECT_EQ(e.qStart_, a.qStart_); EXPECT_EQ(e.qEnd_, a.qEnd_); EXPECT_EQ(e.holeNumber_, a.holeNumber_); EXPECT_EQ(e.readQual_, a.readQual_); EXPECT_EQ(e.ctxtFlag_, a.ctxtFlag_); EXPECT_EQ(e.fileOffset_, a.fileOffset_); // mapped data EXPECT_EQ(expected.HasMappedData(), actual.HasMappedData()); if (expected.HasMappedData() && actual.HasMappedData()) { const PbiRawMappedData& e = expected.MappedData(); const PbiRawMappedData& a = actual.MappedData(); EXPECT_EQ(e.tId_, a.tId_); EXPECT_EQ(e.tStart_, a.tStart_); EXPECT_EQ(e.tEnd_, a.tEnd_); EXPECT_EQ(e.aStart_, a.aStart_); EXPECT_EQ(e.aEnd_, a.aEnd_); EXPECT_EQ(e.revStrand_, a.revStrand_); EXPECT_EQ(e.nM_, a.nM_); EXPECT_EQ(e.nMM_, a.nMM_); EXPECT_EQ(e.mapQV_, a.mapQV_); } // reference data EXPECT_EQ(expected.HasReferenceData(), actual.HasReferenceData()); if (expected.HasReferenceData() && actual.HasReferenceData()) { const PbiRawReferenceData& e = expected.ReferenceData(); const PbiRawReferenceData& a = actual.ReferenceData(); EXPECT_EQ(e.entries_, a.entries_); } // barcode data EXPECT_EQ(expected.HasBarcodeData(), actual.HasBarcodeData()); if (expected.HasBarcodeData() && actual.HasBarcodeData()) { const PbiRawBarcodeData& e = expected.BarcodeData(); const PbiRawBarcodeData& a = actual.BarcodeData(); EXPECT_EQ(e.bcForward_, a.bcForward_); EXPECT_EQ(e.bcReverse_, a.bcReverse_); EXPECT_EQ(e.bcQual_, a.bcQual_); } }
PbiIndexPrivate::PbiIndexPrivate(const PbiRawData& rawIndex) : filename_(rawIndex.Filename()) , version_(rawIndex.Version()) , sections_(rawIndex.FileSections()) , numReads_(rawIndex.NumReads()) , basicData_(rawIndex.BasicData()) , mappedData_(rawIndex.MappedData()) , referenceData_(rawIndex.ReferenceData()) , barcodeData_(rawIndex.BarcodeData()) { }