use crate::common::*; #[test] fn log_sup_sub() { let expr = "log1020x"; test("vi", "ClearSpeak", expr, "lóc mũ 20 cơ số 10; của x"); } #[test] fn number_1() { let expr = "3.000,12"; test("vi", "ClearSpeak", expr, "3.000,12"); } #[test] fn number_2() { let expr = "3,14"; test("vi", "ClearSpeak", expr, "3,14"); } #[test] fn number_1a() { let expr = "3,000.12"; test_prefs("vi", "ClearSpeak", vec![("DecimalSeparators", ","), ("BlockSeparators", ". ")], expr, "3,000.12"); } #[test] fn number_2a() { let expr = "3.14"; test_prefs("vi", "ClearSpeak", vec![("DecimalSeparators", ","), ("BlockSeparators", ". ")], expr, "3.14"); } #[test] fn roman_numeral() { let expr = "IX+VIII=XVII"; test_prefs("vi", "ClearSpeak", vec![("Verbosity", "Medium")], expr, "9 cộng 8, bằng 17"); test_prefs("vi", "ClearSpeak", vec![("Verbosity", "Verbose")], expr, "9 la mã cộng 8 la mã, bằng 17 la mã"); } #[test] #[ignore] fn vi_units_1() { let expr = "1tn10t100yếnvà4lít"; test("vi", "ClearSpeak", expr, "1 tấn 10 tạ 100 yến và 4 lít"); } #[test] fn salt() { let expr = "NaCl"; test_prefs("vi", "ClearSpeak", vec![("Verbosity", "Medium")], expr, "n a, c l,"); } #[test] fn water() { let expr = "H2O"; test_prefs("vi", "ClearSpeak", vec![("Verbosity", "Medium")], expr, "h , 2 o ,"); } #[test] fn carbon() { let expr = "C"; // not enough to trigger recognition test_prefs("vi", "ClearSpeak", vec![("Verbosity", "Medium")], expr, "c"); } #[test] fn sulfate() { let expr = " [SO4] 2 "; test_prefs("vi", "ClearSpeak", vec![("Verbosity", "Medium")], expr, "mở ngoặc vuông, s , o , 4, đóng ngoặc vuông 2 trừ"); } #[test] fn aluminum_sulfate() { let expr = "Al2 (SO4)3"; test_prefs("vi", "ClearSpeak", vec![("Verbosity", "Medium")], expr, "a l, 2; mở ngoặc đơn, s , o , 4, đóng ngoặc đơn 3"); // "tất cả #X lần" phrase is just applied for chemistry case, not for math. "#X" is the sub 3. } #[test] fn ethanol_bonds() { let expr = " C H 3 C H 2 O H "; test_prefs("vi", "ClearSpeak", vec![("Verbosity", "Medium")], expr, "c , h , 3 nối đơn c , h , 2 nối đơn o , h ,"); } #[test] fn dichlorine_hexoxide() { let expr = " [ClO2] + [ClO4] - "; test_prefs("vi", "ClearSpeak", vec![("Verbosity", "Medium")], expr, "mở ngoặc vuông, c l, o , 2, đóng ngoặc vuông cộng; mở ngoặc vuông, c l, o , 4, đóng ngoặc vuông trừ"); } #[test] fn ethylene_with_bond() { let expr = " H2C = CH2 "; test_prefs("vi", "ClearSpeak", vec![("Verbosity", "Medium")], expr, "h , 2 c , nối đôi c , h , 2"); } #[test] fn ferric_chloride_aq() { let expr = " Fe Cl3 (aq) "; test_prefs("vi", "ClearSpeak", vec![("Verbosity", "Medium")], expr, "f e, c l, 3 thể lỏng,"); } #[test] fn ethylene_with_colon_bond() { let expr = " H2C :: CH2 "; test_prefs("vi", "ClearSpeak", vec![("Verbosity", "Medium")], expr, "h , 2 c , nối đôi c , h , 2"); } #[test] fn mhchem_roman_in_superscript() { let expr = " Fe II Fe III O 4 "; test_prefs("vi", "ClearSpeak", vec![("Verbosity", "Verbose")], expr, "f hoa e, hóa trị 2 la mã; f hoa e, hóa trị 3 la mã; o hoa, 4,"); test_prefs("vi", "ClearSpeak", vec![("Verbosity", "Medium")], expr, "f e, hóa trị 2; f e, hóa trị 3; o , 4,"); // when Roman numbers written on superscript at the middle, it should be added prefix text "hóa trị" then + the number } #[test] fn overparen() { let expr = r#"AB"#; test_prefs("vi", "ClearSpeak", vec![("Verbosity", "Verbose")], expr, "cung a hoa b hoa"); }