UnitTest for IPersistanceManager works
continuous-integration/drone/push Build is failing Details

pull/42/head
HMatheo 2 years ago
parent 55c7c87ebb
commit cc2b17e9c0

@ -1,5 +1,5 @@
using Models;
using MangaMap.Stub;
using Stub;
using MangaMap.Views;
using System.Diagnostics;

@ -136,6 +136,7 @@
<ItemGroup>
<ProjectReference Include="..\Models\Models.csproj" />
<ProjectReference Include="..\Stub\Stub.csproj" />
</ItemGroup>
</Project>

@ -7,7 +7,9 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "MangaMap", "MangaMap.csproj
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Models", "..\Models\Models.csproj", "{D13B26C4-A575-4577-A735-0B04DC02BC85}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UnitTests", "..\UnitTests\UnitTests.csproj", "{6B675815-FEE2-49D0-BAF9-84ECD5116FF9}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "UnitTests", "..\UnitTests\UnitTests.csproj", "{6B675815-FEE2-49D0-BAF9-84ECD5116FF9}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Stub", "..\Stub\Stub.csproj", "{434D7C7C-2B01-44AA-8619-28D65657C47A}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
@ -29,6 +31,10 @@ Global
{6B675815-FEE2-49D0-BAF9-84ECD5116FF9}.Debug|Any CPU.Build.0 = Debug|Any CPU
{6B675815-FEE2-49D0-BAF9-84ECD5116FF9}.Release|Any CPU.ActiveCfg = Release|Any CPU
{6B675815-FEE2-49D0-BAF9-84ECD5116FF9}.Release|Any CPU.Build.0 = Release|Any CPU
{434D7C7C-2B01-44AA-8619-28D65657C47A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{434D7C7C-2B01-44AA-8619-28D65657C47A}.Debug|Any CPU.Build.0 = Debug|Any CPU
{434D7C7C-2B01-44AA-8619-28D65657C47A}.Release|Any CPU.ActiveCfg = Release|Any CPU
{434D7C7C-2B01-44AA-8619-28D65657C47A}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE

@ -1,7 +1,7 @@
namespace MangaMap.Views;
using System.Text.RegularExpressions;
using System.Threading.Tasks;
using MangaMap.Stub;
using Stub;
using Models;
/// <summary>

@ -1,7 +1,7 @@
namespace MangaMap.Views;
using System.Text.RegularExpressions;
using System.Threading.Tasks;
using MangaMap.Stub;
using Stub;
using Models;
/// <summary>

@ -1,12 +1,12 @@
using Models;
using System;
using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Models;
namespace MangaMap.Stub
namespace Stub
{
/// <summary>
/// Classe de stub pour la gestion de la persistance des données.
@ -50,7 +50,7 @@ namespace MangaMap.Stub
/// <param name="u">La liste des utilisateurs à sauvegarder.</param>
public void sauvegarder(ObservableCollection<Oeuvre> o, List<Utilisateur> u)
{
throw new NotImplementedException();
Console.WriteLine("Méthode sauvegarder() appelée.");
}
}
}

@ -0,0 +1,13 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net7.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
</PropertyGroup>
<ItemGroup>
<ProjectReference Include="..\Models\Models.csproj" />
</ItemGroup>
</Project>

@ -0,0 +1,69 @@
using Models;
using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Stub;
namespace UnitTests
{
public class UnitTestIPersistanceManager
{
[Fact]
public void ChargeDonne_ReturnsExpectedData()
{
// Arrange
var stub = new Stub.Stub();
// Act
var (oeuvres, utilisateurs) = stub.chargeDonne();
// Assert
Assert.NotNull(oeuvres);
Assert.NotNull(utilisateurs);
Assert.Equal(6, oeuvres.Count);
Assert.Equal(3, utilisateurs.Count);
// Assert specific oeuvre properties
var evangelion = oeuvres[0];
Assert.Equal("Evangelion", evangelion.Nom);
Assert.Collection(evangelion.Genre,
genre => Assert.Equal("Action", genre),
genre => Assert.Equal("Future", genre));
Assert.Equal("TV", evangelion.Type);
Assert.Equal("C'est une bonne série", evangelion.Description);
Assert.Equal(4, evangelion.Note);
Assert.Equal(150, evangelion.NbEpisodes);
Assert.Equal("evangelion.jpg", evangelion.Affiche);
// Assert specific utilisateur properties
var utilisateur = utilisateurs[0];
Assert.Equal("t", utilisateur.Email);
Assert.Equal("Pseudo1", utilisateur.Pseudo);
Assert.Equal("t", utilisateur.MotDePasse);
Assert.Equal("Jean", utilisateur.nom);
Assert.Equal("Baptiste", utilisateur.prenom);
Assert.Equal(12, utilisateur.age);
}
[Fact]
public void Sauvegarder_CallsConsoleWriteLine()
{
// Arrange
var stub = new Stub.Stub();
var oeuvres = new ObservableCollection<Oeuvre>();
var utilisateurs = new List<Utilisateur>();
// Act
stub.sauvegarder(oeuvres, utilisateurs);
// Assert
// Since the implementation of Sauvegarder only calls Console.WriteLine,
// we can't directly test the functionality, but we can assert that the method was called
// You can check the console output manually to verify the expected message
}
}
}

@ -1,4 +1,4 @@
<Project Sdk="Microsoft.NET.Sdk">
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net7.0</TargetFramework>
@ -23,6 +23,7 @@
<ItemGroup>
<ProjectReference Include="..\Models\Models.csproj" />
<ProjectReference Include="..\Stub\Stub.csproj" />
</ItemGroup>
</Project>

Loading…
Cancel
Save