Add more ways to spell square mile

This commit is contained in:
Juhani Krekelä 2023-05-29 22:05:08 +03:00
parent 8060f79067
commit 5d8462c6e4
1 changed files with 18 additions and 0 deletions

View File

@ -145,9 +145,18 @@ fn parse_unit(input: String) -> Result<NonMetric, ParseError> {
"acres" => Ok(NonMetric::Acre),
"ac" => Ok(NonMetric::Acre),
"square mile" => Ok(NonMetric::SquareMile),
"square miles" => Ok(NonMetric::SquareMile),
"square mi" => Ok(NonMetric::SquareMile),
"sq mile" => Ok(NonMetric::SquareMile),
"sq miles" => Ok(NonMetric::SquareMile),
"sq mi" => Ok(NonMetric::SquareMile),
"mile²" => Ok(NonMetric::SquareMile),
"miles²" => Ok(NonMetric::SquareMile),
"mi²" => Ok(NonMetric::SquareMile),
"mile^2" => Ok(NonMetric::SquareMile),
"miles^2" => Ok(NonMetric::SquareMile),
"mi^2" => Ok(NonMetric::SquareMile),
_ => Err(ParseError::UnknownUnit(input)),
}
@ -343,9 +352,18 @@ mod test {
assert_eq!(parse_unit("acres".to_string()), Ok(NonMetric::Acre));
assert_eq!(parse_unit("ac".to_string()), Ok(NonMetric::Acre));
assert_eq!(parse_unit("square mile".to_string()), Ok(NonMetric::SquareMile));
assert_eq!(parse_unit("square miles".to_string()), Ok(NonMetric::SquareMile));
assert_eq!(parse_unit("square mi".to_string()), Ok(NonMetric::SquareMile));
assert_eq!(parse_unit("sq mile".to_string()), Ok(NonMetric::SquareMile));
assert_eq!(parse_unit("sq miles".to_string()), Ok(NonMetric::SquareMile));
assert_eq!(parse_unit("sq mi".to_string()), Ok(NonMetric::SquareMile));
assert_eq!(parse_unit("mile²".to_string()), Ok(NonMetric::SquareMile));
assert_eq!(parse_unit("miles²".to_string()), Ok(NonMetric::SquareMile));
assert_eq!(parse_unit("mi²".to_string()), Ok(NonMetric::SquareMile));
assert_eq!(parse_unit("mile^2".to_string()), Ok(NonMetric::SquareMile));
assert_eq!(parse_unit("miles^2".to_string()), Ok(NonMetric::SquareMile));
assert_eq!(parse_unit("mi^2".to_string()), Ok(NonMetric::SquareMile));
// Unknown unit
assert_eq!(parse_unit("hutenosa".to_string()), Err(ParseError::UnknownUnit("hutenosa".to_string())));