65 lines
2.4 KiB
C#
65 lines
2.4 KiB
C#
using Omika.App.Controls;
|
|
using Xunit;
|
|
|
|
namespace Omika.Tests.Controls;
|
|
|
|
/// <summary>
|
|
/// Règle d'ajout du texte dicté : le texte reconnu est toujours AJOUTÉ À LA FIN
|
|
/// du contenu du champ, sans jamais écraser ce qui était déjà saisi ou dicté.
|
|
/// </summary>
|
|
public sealed class DictationTextMergerTests
|
|
{
|
|
[Fact]
|
|
public void ChampVide_RecoitLaDictee()
|
|
=> Assert.Equal("Remplacement de la pièce", DictationTextMerger.Append(null, "Remplacement de la pièce"));
|
|
|
|
[Fact]
|
|
public void ChampVideAvecEspaces_RecoitLaDicteeSeule_Detoureee()
|
|
=> Assert.Equal("Paris", DictationTextMerger.Append(" ", " Paris "));
|
|
|
|
[Fact]
|
|
public void TexteExistant_AjouteAvecUneEspace()
|
|
=> Assert.Equal(
|
|
"Travaux réalisés. Remplacement de la pièce.",
|
|
DictationTextMerger.Append("Travaux réalisés.", "Remplacement de la pièce."));
|
|
|
|
[Fact]
|
|
public void TexteQuiFinitParUneEspace_PasDeDoubleEspace()
|
|
=> Assert.Equal("Travaux réalisés. Remplacement.", DictationTextMerger.Append("Travaux réalisés. ", "Remplacement."));
|
|
|
|
[Fact]
|
|
public void TexteQuiFinitParUnRetourLigne_PasDEspaceAjoutee()
|
|
=> Assert.Equal("Ligne 1\nLigne 2", DictationTextMerger.Append("Ligne 1\n", "Ligne 2"));
|
|
|
|
[Fact]
|
|
public void DicteeVide_NeModifieRien()
|
|
=> Assert.Equal("Travaux", DictationTextMerger.Append("Travaux", " "));
|
|
|
|
[Fact]
|
|
public void DicteeNulle_NeModifieRien()
|
|
=> Assert.Equal("Travaux", DictationTextMerger.Append("Travaux", null));
|
|
|
|
[Fact]
|
|
public void DicteeNulleSurChampVide_RendUneChaineVide()
|
|
=> Assert.Equal(string.Empty, DictationTextMerger.Append(null, null));
|
|
|
|
[Fact]
|
|
public void DicteeAvecRetoursDeBord_EstDetoureee()
|
|
=> Assert.Equal("Note", DictationTextMerger.Append(string.Empty, " Note\n"));
|
|
|
|
[Fact]
|
|
public void DicteeMultiLignes_ConserveLesRetoursInternes()
|
|
=> Assert.Equal("A\nB", DictationTextMerger.Append(null, "A\nB"));
|
|
|
|
[Fact]
|
|
public void AjoutsSuccessifs_NePerdentAucunePhrase()
|
|
{
|
|
// Cas d'usage réel : un compte rendu dicté en trois fois.
|
|
string texte = DictationTextMerger.Append(null, "Première phrase.");
|
|
texte = DictationTextMerger.Append(texte, "Deuxième phrase.");
|
|
texte = DictationTextMerger.Append(texte, "Troisième phrase.");
|
|
|
|
Assert.Equal("Première phrase. Deuxième phrase. Troisième phrase.", texte);
|
|
}
|
|
}
|