from router_scraper import RouterScraper class TestParseInt: def test_simple_number(self): assert RouterScraper._parse_int("123") == 123 def test_with_commas(self): assert RouterScraper._parse_int("1,234,567") == 1234567 def test_with_whitespace(self): assert RouterScraper._parse_int(" 456 ") == 456 def test_invalid_returns_zero(self): assert RouterScraper._parse_int("not a number") == 0 assert RouterScraper._parse_int("") == 0 class TestNormalizeInterfaceName: def test_lan_ports(self): scraper = RouterScraper.__new__(RouterScraper) assert scraper._normalize_interface_name("LAN 1") == "lan_1" assert scraper._normalize_interface_name("lan 2") == "lan_2" def test_wifi_bands(self): scraper = RouterScraper.__new__(RouterScraper) assert scraper._normalize_interface_name("2.4 GHz") == "wifi_2.4ghz" assert scraper._normalize_interface_name("5.0 GHz Radio 1") == "wifi_5ghz_radio1" def test_unknown_returns_none(self): scraper = RouterScraper.__new__(RouterScraper) assert scraper._normalize_interface_name("Unknown Interface") is None