#![allow(unused_imports)]
use proptest::prelude::*;
proptest! {
#![proptest_config(ProptestConfig::with_cases(100))]
#[test]
fn test_stack_size_monotonic(
size1 in 1u16..50u16,
size2 in 1u16..50u16,
gap in 0u16..10u16
) {
let size_one = size1;
let size_two = size1.saturating_add(gap).saturating_add(size2);
prop_assert!(size_two >= size_one);
}
#[test]
fn test_stack_zero_gap(size1 in 1u16..50u16, size2 in 1u16..50u16) {
let with_gap = size1.saturating_add(5).saturating_add(size2);
let without_gap = size1.saturating_add(0).saturating_add(size2);
prop_assert!(without_gap <= with_gap);
}
#[test]
fn test_stack_saturating_no_overflow(
size in 40000u16..u16::MAX,
gap in 1000u16..5000u16
) {
let result = size.saturating_add(gap);
prop_assert!(result <= u16::MAX);
}
}