diff --git a/tests/Languages/nb/units.rs b/tests/Languages/nb/units.rs index a41951ae..4d2ca1a7 100644 --- a/tests/Languages/nb/units.rs +++ b/tests/Languages/nb/units.rs @@ -474,4 +474,370 @@ fn test_mtext_inference() { ]"#; test_prefs("nb", "SimpleSpeak", vec![("DecimalSeparators", ","), ("BlockSeparators", ".")], expr, "start hakeparentes; 1 tonn, komma; 2 peta-ampere, komma, 3 pascal, komma; 4,5 milli-tesla; slutt hakeparentes"); +} + +/// Tests for fractions followed by units + +#[test] +fn one_neuter_unit() { + let expr = r#" + 1min +"#; + test("nb", "SimpleSpeak", expr, "ett minutt"); + test("nb", "ClearSpeak", expr, "ett minutt"); +} + + +#[test] +fn one_masculine_feminine_unit() { + let expr = r#" + 1hr +"#; + test("nb", "SimpleSpeak", expr, "én time"); + test("nb", "ClearSpeak", expr, "én time"); +} + + +#[test] +fn half_neuter_unit() { + let expr = r#" + + 12 + + sek +"#; + test("nb", "SimpleSpeak", expr, "ett halvt sekund"); + test("nb", "ClearSpeak", expr, "ett halvt sekund"); +} + + +#[test] +fn half_masculine_feminine_unit() { + let expr = r#" + + 12 + + l +"#; + test("nb", "SimpleSpeak", expr, "én halv liter"); + test("nb", "ClearSpeak", expr, "én halv liter"); +} + + +#[test] +fn one_third_neuter_unit() { + let expr = r#" + + 13 + + as +"#; + test("nb", "SimpleSpeak", expr, "ett tredjedels buesekund"); + test("nb", "ClearSpeak", expr, "ett tredjedels buesekund"); +} + + +#[test] +fn one_third_masculine_feminine_unit() { + let expr = r#" + + 13 + + m +"#; + test("nb", "SimpleSpeak", expr, "én tredjedels meter"); + test("nb", "ClearSpeak", expr, "én tredjedels meter"); +} + + +#[test] +fn five_thirds_unit() { + let expr = r#" + + 53 + + hr +"#; + test("nb", "SimpleSpeak", expr, "5 tredjedels time"); + test("nb", "ClearSpeak", expr, "5 tredjedels time"); +} + + +#[test] +fn four_eighths_unit() { + let expr = r#" + + 48 + + g +"#; + test("nb", "SimpleSpeak", expr, "4 åttedels gram"); + test("nb", "ClearSpeak", expr, "4 åttedels gram"); +} + + +#[test] +fn six_ninths_unit() { + let expr = r#" + + 69 + + hr +"#; + test("nb", "SimpleSpeak", expr, "6 nidels time"); + test("nb", "ClearSpeak", expr, "6 nidels time"); +} + + +#[test] +fn mixed_fraction__half_neuter_unit() { + let expr = r#" + 3 + + 12 + + min +"#; + test("nb", "SimpleSpeak", expr, "3 og et halvt minutt"); + test("nb", "ClearSpeak", expr, "3 og et halvt minutt"); +} + + +#[test] +fn mixed_fraction__half_masculine_feminine_unit() { + let expr = r#" + 3 + + 12 + + hr +"#; + test("nb", "SimpleSpeak", expr, "3 og én halv time"); + test("nb", "ClearSpeak", expr, "3 og én halv time"); +} + + +#[test] +fn mixed_fractions_third_neuter_unit() { + let expr = r#" + 1 + + 13 + + min +"#; + test("nb", "SimpleSpeak", expr, "ett og ett tredjedels minutt"); + test("nb", "ClearSpeak", expr, "ett og ett tredjedels minutt"); +} + + +#[test] +fn mixed_fractions_third_masculine_feminine_unit() { + let expr = r#" + 1 + + 13 + + hr +"#; + test("nb", "SimpleSpeak", expr, "én og én tredjedels time"); + test("nb", "ClearSpeak", expr, "én og én tredjedels time"); +} + +#[test] +fn mixed_fractions_two_and_two_thirds_unit() { + let expr = r#" + 2 + + 23 + + hr +"#; + test("nb", "SimpleSpeak", expr, "2 og 2 tredjedels time"); + test("nb", "ClearSpeak", expr, "2 og 2 tredjedels time"); +} + +#[test] +fn mixed_fractions_four_and_five_sevenths_unit() { + let expr = r#" + 4 + + 57 + + min +"#; + test("nb", "SimpleSpeak", expr, "4 og 5 sjudels minutt"); + test("nb", "ClearSpeak", expr, "4 og 5 sjudels minutt"); +} + + +#[test] +fn fraction_with_units_neuter_unit() { + let expr = r#" + 12 + ghr +"#; + test("nb", "SimpleSpeak", expr, "ett halvt gram per time"); + test("nb", "ClearSpeak", expr, "ett halvt gram per time"); +} + + +#[test] +fn fraction_with_units_masculine_feminine_unit() { + let expr = r#" + 12 + msek +"#; + test("nb", "SimpleSpeak", expr, "én halv meter per sekund"); + test("nb", "ClearSpeak", expr, "én halv meter per sekund"); +} + +#[test] +fn fraction_with_units_2_neuter_unit() { + let expr = r#" + + 1g + 3hr + +"#; + test("nb", "SimpleSpeak", expr, "brøk, ett gram, over, 3 timer, slutt brøk"); + test("nb", "ClearSpeak", expr, "brøken med teller ett gram; og nevner 3 timer"); +} + + +#[test] +fn fraction_with_units_2_masculine_feminine_unit() { + let expr = r#" + + 1m + 3sek + +"#; + test("nb", "SimpleSpeak", expr, "brøk, én meter, over, 3 sekunder, slutt brøk"); + test("nb", "ClearSpeak", expr, "brøken med teller én meter; og nevner 3 sekunder"); +} + + +#[test] +fn fraction_not_ordinal_units_neuter() { + let expr = r#" + 311min +"#; + test("nb", "SimpleSpeak", expr, "3 over 11, minutter"); + test("nb", "ClearSpeak", expr, "3 over 11 minutter"); +} + + +#[test] +fn fraction_not_ordinal_units_masculine_feminine() { + let expr = r#" + 311hr +"#; + test("nb", "SimpleSpeak", expr, "3 over 11, timer"); + test("nb", "ClearSpeak", expr, "3 over 11 timer"); +} + +#[test] +fn fraction_not_ordinal_2_units_neuter() { + let expr = r#" + 721min +"#; + test("nb", "SimpleSpeak", expr, "7 over 21, minutter"); + test("nb", "ClearSpeak", expr, "7 over 21 minutter"); +} + + +#[test] +fn fraction_not_ordinal_2_units_masculine_feminine() { + let expr = r#" + 721hr +"#; + test("nb", "SimpleSpeak", expr, "7 over 21, timer"); + test("nb", "ClearSpeak", expr, "7 over 21 timer"); +} + +/// Fractions followed by units with prefix. + +#[test] +fn one_neuter_unit_prefix() { + let expr = r#" + 1mg +"#; + test("nb", "SimpleSpeak", expr, "ett milli-gram"); + test("nb", "ClearSpeak", expr, "ett milli-gram"); +} + + +#[test] +fn one_masculine_feminine_unit_prefix() { + let expr = r#" + 1µm +"#; + test("nb", "SimpleSpeak", expr, "én mikro-meter"); + test("nb", "ClearSpeak", expr, "én mikro-meter"); +} + + +#[test] +fn half_neuter_unit_prefix() { + let expr = r#" + + 12 + + nsek +"#; + test("nb", "SimpleSpeak", expr, "ett halvt nano-sekund"); + test("nb", "ClearSpeak", expr, "ett halvt nano-sekund"); +} + + +#[test] + +fn mixed_fractions_third_masculine_feminine_unit_prefix() { + let expr = r#" + 1 + + 13 + + dN +"#; + test("nb", "SimpleSpeak", expr, "én og én tredjedels desi-newton"); + test("nb", "ClearSpeak", expr, "én og én tredjedels desi-newton"); +} + + +#[test] + +fn mixed_fractions_four_and_five_sevenths_unit_prefix() { + let expr = r#" + 4 + + 57 + + nas +"#; + test("nb", "SimpleSpeak", expr, "4 og 5 sjudels nano-buesekund"); + test("nb", "ClearSpeak", expr, "4 og 5 sjudels nano-buesekund"); +} + + +#[test] + +fn fraction_not_ordinal_2_units_neuter_prefix() { + let expr = r#" + 721nsek +"#; + test("nb", "SimpleSpeak", expr, "7 over 21, nano-sekunder"); + test("nb", "ClearSpeak", expr, "7 over 21 nano-sekunder"); +} + + +#[test] + +fn fraction_not_ordinal_2_units_masculine_feminine_prefix() { + let expr = r#" + 721ml +"#; + test("nb", "SimpleSpeak", expr, "7 over 21, milli-liter"); + test("nb", "ClearSpeak", expr, "7 over 21 milli-liter"); } \ No newline at end of file