use fuga::ai::wave_mesh::{self, hypervector_to_phasors, phasors_to_hypervector, spectral_spread}; use fuga::Hypervector; #[test] fn test_phasor_roundtrip() { let hv = Hypervector::random(8192); let phasors = hypervector_to_phasors(&hv); let recovered = phasors_to_hypervector(&phasors); let sim = hv.similarity(&recovered); assert!(sim > 0.999, "Roundtrip should be near-perfect, got sim={}", sim); } #[test] fn test_spectral_spread() { let bits = vec![1i8; 8192]; let sp = spectral_spread(&bits); assert!((sp - 1.0).abs() < 0.001); let bits2 = vec![-1i8; 8192]; let sp2 = spectral_spread(&bits2); assert!(sp2.abs() < 0.001); } #[test] fn test_radiotap_frame() { let hv = Hypervector::random(8192); let payload = hv.to_bytes(); let frame = wave_mesh::build_radiotap_frame(&payload); assert!(frame.len() > 100); let decoded = wave_mesh::decode_radiotap_frame(&frame); assert!(decoded.is_some()); assert_eq!(decoded.unwrap(), payload); }