+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Test function and main +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
| 297 | // Test function and main |
| 298 | // +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
| 299 | int test() { |
| 300 | const size_t DataSize = 1 * 1024 * 1024; |
| 301 | std::vector<uint8_t> Data(DataSize); |
| 302 | std::generate(Data.begin(), Data.end(), []() -> uint8_t { |
| 303 | constexpr char Charset[] = "0123456789" |
| 304 | "ABCDEFGHIJKLMNOPQRSTUVWXYZ" |
| 305 | "abcdefghijklmnopqrstuvwxyz"; |
| 306 | constexpr size_t MaxIndex = (sizeof(Charset) - 1); |
| 307 | return static_cast<uint8_t>(Charset[rand() % MaxIndex]); |
| 308 | }); |
| 309 | |
| 310 | std::cout << "Compressing Buffer of size : " << DataSize << "B" << std::endl; |
| 311 | |
| 312 | // Test compression |
| 313 | size_t CompressedSize = DataSize * 2; |
| 314 | std::vector<uint8_t> Compressed(CompressedSize); |
| 315 | // Use zlibCustomCompress |
| 316 | int32_t Result = zlibCustomCompress(Compressed.data(), &CompressedSize, |
| 317 | Data.data(), Data.size()); |
| 318 | if (Result != 0) { |
| 319 | std::cerr << "Compression failed with error code: " << Result << std::endl; |
| 320 | return 1; |
| 321 | } |
| 322 | Compressed.resize(CompressedSize); |
| 323 | |
| 324 | std::cout << "Decompressing Buffer of size : " << Compressed.size() << "B" |
| 325 | << std::endl; |
| 326 | |
| 327 | // Test decompression |
| 328 | size_t DecompressedSize = DataSize; |
| 329 | std::vector<uint8_t> Decompressed(DecompressedSize); |
| 330 | |
| 331 | // Use zlibCustomUncompress |
| 332 | Result = zlibCustomUncompress(Decompressed.data(), &DecompressedSize, |
| 333 | Compressed.data(), Compressed.size()); |
| 334 | if (Result != 0) { |
| 335 | std::cerr << "Decompression failed with error code: " << Result |
| 336 | << std::endl; |
| 337 | return 1; |
| 338 | } |
| 339 | Decompressed.resize(DecompressedSize); |
| 340 | |
| 341 | bool const Success = (Data == Decompressed); |
| 342 | std::cout << (Success ? "Success" : "Fail") << std::endl; |
| 343 | return Success ? 0 : 1; |
| 344 | } |
| 345 | |
| 346 | int main() { return test(); } |
no test coverage detected