/// Tests for rules shared between various speech styles: /// * modified var use crate::common::*; #[test] fn modified_vars() { let expr = " a ` b ~ c ̆ b ̌ c ` + x . y ˙ z ¨ u v + x ^ + t "; test("sv", "SimpleSpeak", expr, "a grav accent, b tilde, c hake, b hake, c grav accent; plus; x prick, y prick, z prick prick, u trippel prick; v fyra prickar; plus x hatt, plus vektorn t"); } #[test] fn limit() { let expr = " lim x 0 sin x x "; test("sv", "SimpleSpeak", expr, "gränsvärdet då x går mot 0, av, division, sinus av x, genom x, slut division;"); } #[test] fn limit_from_below() { let expr = " lim x 0 sin x "; test("sv", "SimpleSpeak", expr, "gränsvärdet då x går vänsterifrån mot 0, av sinus av x"); } #[test] fn binomial_mmultiscripts() { let expr = "Cmn"; test("sv", "SimpleSpeak", expr, ", n över m"); } #[test] fn permutation_mmultiscripts() { let expr = "Pkn"; test("sv", "SimpleSpeak", expr, "antalet permutationer av k element ur n"); } #[test] fn permutation_mmultiscripts_sup() { let expr = "Pkn"; test("sv", "SimpleSpeak", expr, "antalet permutationer av k element ur n"); } #[test] fn permutation_msubsup() { let expr = "Pkn"; test("sv", "SimpleSpeak", expr, "antalet permutationer av k element ur n"); } #[test] fn tensor_mmultiscripts() { let expr = " R i j k l "; test_prefs("sv", "SimpleSpeak", vec![("Verbosity", "Verbose")], expr, "versal r med 4 höger índex, nedsänkt i upphöjt j nedsänkt k nedsänkt l"); test_prefs("sv", "SimpleSpeak", vec![("Verbosity", "Medium")], expr, "versal r med 4 höger índex, nedsänkt i upphöjt j nedsänkt k nedsänkt l"); } #[test] fn huge_num_mmultiscripts() { let expr = " R i j k l m I J K L "; test_prefs("sv", "SimpleSpeak", vec![("Verbosity", "Verbose")], expr, "versal r med 4 vänster index, nedsänkt versal i, upphöjt versal j och resterande vänster index versal k none versal l none slut vänster index och med 5 höger índex, nedsänkt i upphöjt j nedsänkt k nedsänkt l och resterande höger index m none slut index"); } #[test] fn prime() { let expr = " x "; test("sv", "SimpleSpeak", expr, "x prim,"); } #[test] fn given() { let expr = "P(A|B)"; test("sv", "SimpleSpeak", expr, "versal p; vänster-parentes; versal a lodstreck versal b; höger-parentes"); test("sv", "ClearSpeak", expr, "versal p; vänster-parentes; versal a delar versal b; höger-parentes"); // not good, but follows the spec } #[test] fn simple_msubsup() { let expr = " x k i "; test("sv", "ClearSpeak", expr, "x nedsänkt k, upphöjt till i,"); } #[test] fn non_simple_msubsup() { let expr = "ij2k"; test("sv", "SimpleSpeak", expr, "i nedsänkt j minus 2 slut nedsänkt, upphöjt till k,"); test("sv", "ClearSpeak", expr, "i nedsänkt j minus 2 slut nedsänkt, upphöjt till k,"); } #[test] fn presentation_mathml_in_semantics() { let expr = " {\\displaystyle x_k^i} x k i "; test("sv", "ClearSpeak", expr, "x nedsänkt k, upphöjt till i,"); } #[test] fn ignore_period() { // from https://en.wikipedia.org/wiki/Probability let expr = " {\\displaystyle x_k^i} P ( A  and  B ) = P ( A B ) = P ( A ) P ( B ) . "; test("sv", "SimpleSpeak", expr, "versal p; vänster-parentes; versal a and versal b; höger-parentes; lika med; versal p; vänster-parentes; versal a snittet versal b; höger-parentes; lika med; versal p av versal a, versal p av versal b"); } #[test] fn ignore_mtext_period() { let expr = "{2}."; test("sv", "SimpleSpeak", expr, "mängden 2"); } #[test] fn ignore_comma() { // from https://en.wikipedia.org/wiki/Probability let expr = " ϕ ( x ) = c e h 2 x 2 , "; test("sv", "SimpleSpeak", expr, "fi av x lika med, c, e upphöjt till minus h kvadrat x kvadrat"); } #[test] #[ignore] // issue #14 fn ignore_period_and_space() { // from https://en.wikipedia.org/wiki/Probability let expr = " P ( A B ) = P ( A B ) P ( B ) . "; test("sv", "ClearSpeak", expr, "phi of x is equal to; c, e raised to the negative h squared x squared power"); } #[test] fn mn_with_space() { let expr = "1 234 567"; test_prefs("sv", "SimpleSpeak", vec![("DecimalSeparators",","), ("BlockSeparators", " .")], expr, "1234567"); } #[test] fn mn_with_block_and_decimal_separators() { let expr = "1.234,56"; // may want to change this for another language test_prefs("en", "SimpleSpeak", vec![("DecimalSeparators", ","), ("BlockSeparators", " .")], expr, "1234,56"); }