Added newton meter

This commit is contained in:
Kasper 2020-01-11 04:50:31 +01:00
parent 539568c5b5
commit 8a232f72f0
2 changed files with 4 additions and 1 deletions

View File

@ -57,7 +57,7 @@ pub fn lex(input: &str) -> Result<TokenVector, String> {
let string = &input[start_index..=end_index]; let string = &input[start_index..=end_index];
match string.trim_end() { match string.trim_end() {
// allow for two-word units // allow for two-word units
"nautical" | "light" | "sq" | "square" | "cubic" | "metric" => { "nautical" | "light" | "sq" | "square" | "cubic" | "metric" | "newton" => {
byte_index += current_char.len_utf8(); byte_index += current_char.len_utf8();
chars.next(); chars.next();
end_index += 1; end_index += 1;
@ -213,6 +213,7 @@ pub fn lex(input: &str) -> Result<TokenVector, String> {
"millijoule" | "millijoules" => tokens.push(Token::Unit(Millijoule)), "millijoule" | "millijoules" => tokens.push(Token::Unit(Millijoule)),
"j"| "joule" | "joules" => tokens.push(Token::Unit(Joule)), "j"| "joule" | "joules" => tokens.push(Token::Unit(Joule)),
"nm" | "newton meter" | "newton meters" | "newton-meter" | "newton-meters" => tokens.push(Token::Unit(NewtonMeter)),
"kj" | "kilojoule" | "kilojoules" => tokens.push(Token::Unit(Kilojoule)), "kj" | "kilojoule" | "kilojoules" => tokens.push(Token::Unit(Kilojoule)),
"mj" | "megajoule" | "megajoules" => tokens.push(Token::Unit(Megajoule)), "mj" | "megajoule" | "megajoules" => tokens.push(Token::Unit(Megajoule)),
"gj" | "gigajoule" | "gigajoules" => tokens.push(Token::Unit(Gigajoule)), "gj" | "gigajoule" | "gigajoules" => tokens.push(Token::Unit(Gigajoule)),

View File

@ -157,6 +157,7 @@ create_units!(
Millijoule: (Energy, d128!(0.001)), Millijoule: (Energy, d128!(0.001)),
Joule: (Energy, d128!(1)), Joule: (Energy, d128!(1)),
NewtonMeter: (Energy, d128!(1)),
Kilojoule: (Energy, d128!(1000)), Kilojoule: (Energy, d128!(1000)),
Megajoule: (Energy, d128!(1000000)), Megajoule: (Energy, d128!(1000000)),
Gigajoule: (Energy, d128!(1000000000)), Gigajoule: (Energy, d128!(1000000000)),
@ -361,6 +362,7 @@ mod tests {
assert_eq!(convert_test(1000.0, Millijoule, Joule), 1.0); assert_eq!(convert_test(1000.0, Millijoule, Joule), 1.0);
assert_eq!(convert_test(1000.0, Joule, Kilojoule), 1.0); assert_eq!(convert_test(1000.0, Joule, Kilojoule), 1.0);
assert_eq!(convert_test(1.0, NewtonMeter, Joule), 1.0);
assert_eq!(convert_test(1000.0, Kilojoule, Megajoule), 1.0); assert_eq!(convert_test(1000.0, Kilojoule, Megajoule), 1.0);
assert_eq!(convert_test(1000.0, Megajoule, Gigajoule), 1.0); assert_eq!(convert_test(1000.0, Megajoule, Gigajoule), 1.0);
assert_eq!(convert_test(1000.0, Gigajoule, Terajoule), 1.0); assert_eq!(convert_test(1000.0, Gigajoule, Terajoule), 1.0);