clia_macaddr/
validate.rs

1use mac_address::{MacAddress, MacParseError};
2use std::str::FromStr;
3
4/// Parse MAC address from string
5pub fn parse_mac_addr(s: &str) -> Result<MacAddress, MacParseError> {
6    MacAddress::from_str(s)
7}
8
9/// Check if a MAC address string is valid
10pub fn is_valid_mac_addr(s: &str) -> bool {
11    parse_mac_addr(s).is_ok()
12}
13
14#[cfg(test)]
15mod tests {
16    use super::*;
17
18    #[test]
19    fn test_is_valid_mac_addr() {
20        assert!(is_valid_mac_addr("aa:bb:cc:dd:ee:ff"));
21        assert!(is_valid_mac_addr("AA:BB:CC:DD:EE:FF"));
22        assert!(!is_valid_mac_addr("invalid"));
23        assert!(!is_valid_mac_addr("aa:bb:cc:dd:ee"));
24        assert!(!is_valid_mac_addr("aa:bb:cc:dd:ee:gg"));
25    }
26}