Implémente C1 à C5 pour les séries et cycles
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
This commit is contained in:
co-authored by
Copilot
parent
3d5e73838e
commit
ddc60898da
@@ -177,6 +177,21 @@ public class ServiceSeriesTests : IDisposable
|
||||
Assert.NotNull(boucle.Erreur);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public async Task Lordre_des_sous_series_se_reordonne_sans_toucher_aux_tomes()
|
||||
{
|
||||
var cycle = await SerieAsync("Cycle");
|
||||
var une = await SerieAsync("Une", cycle.Id);
|
||||
var deux = await SerieAsync("Deux", cycle.Id);
|
||||
|
||||
var apres = (await _series.ReordonnerSousSeriesAsync(cycle.Id, [deux.Id, une.Id])).Serie!;
|
||||
|
||||
Assert.Equal([deux.Id, une.Id],
|
||||
(await _series.ListerAsync()).Where(s => s.SerieParenteId == cycle.Id)
|
||||
.OrderBy(s => s.Position).Select(s => s.Id));
|
||||
Assert.Empty(apres.Elements);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public async Task Supprimer_un_cycle_ne_detruit_pas_les_series_quil_contient()
|
||||
{
|
||||
|
||||
@@ -0,0 +1,50 @@
|
||||
using MaBibli.Shared.Dtos;
|
||||
|
||||
namespace MaBibli.Tests;
|
||||
|
||||
public class TotauxSeriesTests
|
||||
{
|
||||
[Fact]
|
||||
public void Les_totaux_sont_sommes_recursivement()
|
||||
{
|
||||
var feuilles = new[]
|
||||
{
|
||||
new SerieDto
|
||||
{
|
||||
Id = 2, Titre = "Une", SerieParenteId = 1,
|
||||
Elements = [new ElementSerieDto { Id = 20, Titre = "Possédé", LivreId = 5 }]
|
||||
},
|
||||
new SerieDto
|
||||
{
|
||||
Id = 3, Titre = "Deux", SerieParenteId = 1,
|
||||
Elements = [new ElementSerieDto { Id = 30, Titre = "Manquant" }]
|
||||
},
|
||||
new SerieDto { Id = 1, Titre = "Cycle" },
|
||||
};
|
||||
|
||||
var totaux = TotauxSeries.Calculer(feuilles);
|
||||
|
||||
Assert.Equal((1, 2), totaux[1]);
|
||||
Assert.Equal((1, 1), totaux[2]);
|
||||
Assert.Equal((0, 1), totaux[3]);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void Une_boucle_dans_les_donnees_ne_fait_pas_boucler_le_calcul()
|
||||
{
|
||||
var series = new[]
|
||||
{
|
||||
new SerieDto { Id = 1, Titre = "Un", SerieParenteId = 2 },
|
||||
new SerieDto
|
||||
{
|
||||
Id = 2, Titre = "Deux", SerieParenteId = 1,
|
||||
Elements = [new ElementSerieDto { Id = 20, Titre = "Tome" }]
|
||||
},
|
||||
};
|
||||
|
||||
var totaux = TotauxSeries.Calculer(series);
|
||||
|
||||
Assert.Equal((0, 1), totaux[1]);
|
||||
Assert.Equal((0, 1), totaux[2]);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user