/** * Returns an approximation of the number of uncompressed bytes in this * file span. * @return Approximation of uncompressed bytes in filespan. */ public long size() { long size = 0L; for(GATKChunk chunk: getGATKChunks()) size += chunk.size(); return size; }
@Test public void testSizeOfSingleBlock() { GATKChunk chunk = new GATKChunk(0,FULL_BLOCK_COMPRESSED_SIZE<<16); Assert.assertEquals(chunk.size(),FULL_BLOCK_UNCOMPRESSED_SIZE,"Chunk spanning complete block returns incorrect size."); }
@Test public void testSizeOfEmptyChunk() { GATKChunk chunk = new GATKChunk(0,0); Assert.assertEquals(chunk.size(),0,"Empty chunk's size is not equal to 0."); }
@Test public void testSizeOfChunkWithinSingleBlock() { GATKChunk chunk = new GATKChunk(0,FULL_BLOCK_UNCOMPRESSED_SIZE-1); Assert.assertEquals(chunk.size(),FULL_BLOCK_UNCOMPRESSED_SIZE-1,"Chunk spanning limits of block is returning wrong size."); chunk = new GATKChunk(0,HALF_BLOCK_UNCOMPRESSED_SIZE); Assert.assertEquals(chunk.size(),HALF_BLOCK_UNCOMPRESSED_SIZE,"Chunk spanning 1/2 block is returning the wrong size."); }
@Test public void testSizeOfBlockAndAHalf() { GATKChunk chunk = new GATKChunk(0,(FULL_BLOCK_COMPRESSED_SIZE<<16)+HALF_BLOCK_UNCOMPRESSED_SIZE); Assert.assertEquals(chunk.size(),FULL_BLOCK_UNCOMPRESSED_SIZE+HALF_BLOCK_UNCOMPRESSED_SIZE,"Chunk spanning 1.5 blocks returns incorrect size."); }
@Test public void testSizeOfHalfBlock() { GATKChunk chunk = new GATKChunk(HALF_BLOCK_UNCOMPRESSED_SIZE,FULL_BLOCK_COMPRESSED_SIZE<<16); Assert.assertEquals(chunk.size(),HALF_BLOCK_UNCOMPRESSED_SIZE,"Chunk spanning 0.5 blocks returns incorrect size."); } }