tests.rs (1110B)
1 use super::{AuthTransports, AuthenticatorTransport}; 2 #[test] 3 fn iter_all() { 4 let mut iter = AuthTransports::ALL.into_iter(); 5 assert_eq!(iter.len(), 6); 6 assert!( 7 iter.next() 8 .is_some_and(|tran| matches!(tran, AuthenticatorTransport::Ble)) 9 ); 10 assert_eq!(iter.len(), 5); 11 assert!( 12 iter.next() 13 .is_some_and(|tran| matches!(tran, AuthenticatorTransport::Hybrid)) 14 ); 15 assert_eq!(iter.len(), 4); 16 assert!( 17 iter.next_back() 18 .is_some_and(|tran| matches!(tran, AuthenticatorTransport::Usb)) 19 ); 20 assert_eq!(iter.len(), 3); 21 assert!( 22 iter.next() 23 .is_some_and(|tran| matches!(tran, AuthenticatorTransport::Internal)) 24 ); 25 assert_eq!(iter.len(), 2); 26 assert!( 27 iter.next_back() 28 .is_some_and(|tran| matches!(tran, AuthenticatorTransport::SmartCard)) 29 ); 30 assert_eq!(iter.len(), 1); 31 assert!( 32 iter.next() 33 .is_some_and(|tran| matches!(tran, AuthenticatorTransport::Nfc)) 34 ); 35 assert_eq!(iter.len(), 0); 36 assert!(iter.next().is_none()); 37 }