use super::*;

fn memory_type(minimum: u32, maximum: impl Into<Option<u32>>) -> MemoryType {
    let mut b = MemoryType::builder();
    b.min(u64::from(minimum));
    b.max(maximum.into().map(u64::from));
    b.build().unwrap()
}

#[test]
fn subtyping_works() {
    assert!(memory_type(0, 1).is_subtype_of(&memory_type(0, 1)));
    assert!(memory_type(0, 1).is_subtype_of(&memory_type(0, 2)));
    assert!(!memory_type(0, 2).is_subtype_of(&memory_type(0, 1)));
    assert!(memory_type(2, None).is_subtype_of(&memory_type(1, None)));
    assert!(memory_type(0, None).is_subtype_of(&memory_type(0, None)));
    assert!(memory_type(0, 1).is_subtype_of(&memory_type(0, None)));
    assert!(!memory_type(0, None).is_subtype_of(&memory_type(0, 1)));
}

Homonyms

neural/trident/src/deploy/tests.rs
soft3/radio/iroh-blobs/src/tests.rs
cyb/honeycrisp/aruminium/src/tests.rs
neural/trident/src/package/store/tests.rs
neural/trident/src/lsp/util/tests.rs
neural/trident/src/ir/lir/tests.rs
neural/trident/src/verify/sym/tests.rs
cyb/wysm/crates/collections/src/tests.rs
neural/trident/src/cost/stack_verifier/tests.rs
neural/trident/src/package/registry/tests.rs
neural/trident/src/syntax/lexer/tests.rs
neural/trident/src/syntax/format/tests.rs
neural/trident/src/verify/smt/tests.rs
neural/trident/src/syntax/grammar/tests.rs
cyb/wysm/crates/wasmi/src/tests.rs
neural/trident/src/verify/report/tests.rs
neural/trident/src/config/scaffold/tests.rs
neural/trident/src/lsp/semantic/tests.rs
neural/trident/src/verify/equiv/tests.rs
cyb/wysm/crates/cli/src/tests.rs
neural/trident/src/verify/solve/tests.rs
neural/trident/src/verify/synthesize/tests.rs
neural/trident/src/config/resolve/tests.rs
cyb/honeycrisp/aruminium/src/render/tests.rs
neural/trident/src/package/manifest/tests.rs
neural/trident/src/package/hash/tests.rs
cyb/wysm/crates/wasmi/src/instance/tests.rs
neural/trident/src/ir/tir/optimize/tests.rs
neural/trident/src/ir/tir/lower/tests.rs
bootloader/go-cyber/cw/contracts/graph-filter/src/tests.rs
cyb/wysm/crates/core/src/table/tests.rs
cyb/evy/forks/bevy_ecs/src/bundle/tests.rs
neural/trident/src/neural/data/tir_graph/tests.rs
neural/trident/src/ir/tir/stack/tests.rs
cyb/wysm/crates/wasmi/src/engine/limits/tests.rs
cyb/wysm/crates/wasmi/src/module/instantiate/tests.rs
cyb/evy/forks/naga/src/front/wgsl/tests.rs

Graph