#![cfg(target_os = "windows")]
use proptest::prelude::*;
use refpack::format::Reference;
use refpack::{CompressionOptions, easy_compress, easy_decompress};
use refpack_sys::{refpack_compress, refpack_decompress};
use test_strategy::proptest;
#[proptest]
fn rust_compression_symmetrical(
#[strategy(proptest::collection::vec(any::<u8>(), 100..=1_000))] input: Vec<u8>,
) {
let mut cloned = input.clone();
let compressed = refpack_compress(&mut cloned);
let decompressed = easy_decompress::<Reference>(&compressed).unwrap();
prop_assert_eq!(input, decompressed);
}
#[proptest]
fn rust_decompression_symmetrical(
#[strategy(proptest::collection::vec(any::<u8>(), 100..=1_000))] input: Vec<u8>,
) {
let mut compressed = easy_compress::<Reference>(&input, CompressionOptions::Fast).unwrap();
let decompressed = refpack_decompress(&mut compressed);
prop_assert_eq!(input, decompressed);
}