qubit-function 0.14.1

Functional programming traits and Box/Rc/Arc adapters for Rust, inspired by Java functional interfaces
Documentation
/*******************************************************************************
 *
 *    Copyright (c) 2025 - 2026 Haixing Hu.
 *
 *    SPDX-License-Identifier: Apache-2.0
 *
 *    Licensed under the Apache License, Version 2.0.
 *
 ******************************************************************************/

use qubit_function::{
    RcTester,
    Tester,
};

#[test]
fn test_rc_tester_observable_behavior() {
    let type_name = std::any::type_name::<RcTester>();
    assert!(type_name.contains("RcTester"), "{type_name}");
}

#[test]
fn test_rc_tester_not_operator_observable_behavior() {
    let owned_negated = !RcTester::new(|| true);
    assert!(!owned_negated.test());

    let original = RcTester::new(|| true);
    let borrowed_negated = !&original;
    assert!(!borrowed_negated.test());
    assert!(original.test());
}