use super::super::super::super::*;
#[test]
fn test_c001_compute_assertion_equiv() {
let assertion = ComputeAssertion::equiv(Backend::Scalar);
if let ComputeAssertion::Equivalence { baseline, tolerance } = assertion {
assert_eq!(baseline, Backend::Scalar);
assert!((tolerance - 1e-5).abs() < 1e-10);
} else {
panic!("Expected Equivalence assertion");
}
}
#[test]
fn test_c002_compute_brick_assert_equiv() {
let brick = ComputeBrick::new(AddOp::new(4)).assert_equiv(Backend::Scalar);
assert!(!brick.get_assertions().is_empty());
}
#[test]
fn test_c003_brick_id_display() {
let id = BrickId::QkvProjection;
let display = format!("{}", id);
assert_eq!(display, "QkvProjection");
let id2 = BrickId::RmsNorm;
assert_eq!(format!("{}", id2), "RmsNorm");
}
#[test]
fn test_c004_brick_category_name() {
assert_eq!(BrickCategory::Norm.name(), "Norm");
assert_eq!(BrickCategory::Attention.name(), "Attention");
assert_eq!(BrickCategory::Ffn.name(), "FFN");
assert_eq!(BrickCategory::Other.name(), "Other");
}
#[test]
fn test_c005_brick_category_display() {
assert_eq!(format!("{}", BrickCategory::Norm), "Norm");
assert_eq!(format!("{}", BrickCategory::Attention), "Attention");
assert_eq!(format!("{}", BrickCategory::Ffn), "FFN");
assert_eq!(format!("{}", BrickCategory::Other), "Other");
}