NoteVocaleUtilTest.kt
56 lignes · 2021 octets
package fr.ebii.card2vcf.audio import fr.ebii.card2vcf.ui.audio.genererSujetParDefaut import java.util.Calendar import kotlin.test.Test import kotlin.test.assertEquals import kotlin.test.assertTrue class NoteVocaleUtilTest { private fun horodatage(annee: Int, mois: Int, jour: Int, heure: Int, minute: Int): Long { return Calendar.getInstance().apply { set(annee, mois - 1, jour, heure, minute, 0) set(Calendar.MILLISECOND, 0) }.timeInMillis } @Test fun sujet_formate_date_complete() { val ts = horodatage(2026, 9, 5, 9, 7) val resultat = genererSujetParDefaut("Notes du %1\$s", maintenant = ts) assertEquals("Notes du 05/09/2026 à 09:07", resultat) } @Test fun sujet_formate_date_fin_de_mois() { val ts = horodatage(2026, 12, 31, 23, 59) val resultat = genererSujetParDefaut("Notes du %1\$s", maintenant = ts) assertEquals("Notes du 31/12/2026 à 23:59", resultat) } @Test fun sujet_formate_minuit() { val ts = horodatage(2026, 1, 1, 0, 0) val resultat = genererSujetParDefaut("Notes du %1\$s", maintenant = ts) assertEquals("Notes du 01/01/2026 à 00:00", resultat) } @Test fun sujet_contient_date_formatee() { val resultat = genererSujetParDefaut("Notes du %1\$s") // Vérifie que le résultat commence par le préfixe et contient le format jj/MM/yyyy à HH:mm assertTrue(resultat.startsWith("Notes du "), "Devrait commencer par 'Notes du '") assertTrue( Regex("""Notes du \d{2}/\d{2}/\d{4} à \d{2}:\d{2}""").matches(resultat), "Format attendu : 'Notes du jj/MM/yyyy à HH:mm', obtenu : '$resultat'", ) } @Test fun sujet_utilise_le_modele_fourni() { val ts = horodatage(2026, 6, 15, 14, 30) val resultat = genererSujetParDefaut("Enregistrement du %1\$s", maintenant = ts) assertEquals("Enregistrement du 15/06/2026 à 14:30", resultat) } }
GitRust