// TestHeaderValidity //------------------------------------------------------------------------------ void TestCompressor::TestHeaderValidity() const { AutoPtr< uint32_t > buffer( (uint32_t *)ALLOC( 1024 ) ); memset( buffer.Get(), 0, 1024 ); Compressor c; uint32_t * data = (uint32_t *)buffer.Get(); // uncompressed buffer of 0 length is valid TEST_ASSERT( c.IsValidData( buffer.Get(), 12 ) ); // compressed buffer of 0 length is valid data[0] = 1; TEST_ASSERT( c.IsValidData( buffer.Get(), 12 ) ); // compressed data data[1] = 32; // uncompressed data[2] = 8; // compressed TEST_ASSERT( c.IsValidData( buffer.Get(), 20 ) ); // INVALID data - data too small TEST_ASSERT( c.IsValidData( buffer.Get(), 4 ) == false ); // INVALID data - compressed bigger than uncompressed data[1] = 8; // uncompressed data[2] = 32; // compressed TEST_ASSERT( c.IsValidData( buffer.Get(), 44 ) == false ); }