v9.1 - Correction des Tests Unitaires
continuous-integration/drone/push Build is passing Details

pull/72/head
Rémi LAVERGNE 2 years ago
parent 46754eaf1b
commit 6215a81ec0

@ -30,7 +30,7 @@ namespace DataContractPersistance
{ {
data = JsonSerializer.ReadObject(s) as DataToPersist; data = JsonSerializer.ReadObject(s) as DataToPersist;
} }
return (data!.Jeux, data.Admins, data.Utilisateurs); return (data!.Jeux, data!.Admins, data!.Utilisateurs);
} }
public void SauvegardeDonnees(ObservableCollection<Jeu> jeux, List<Admin> admins, List<Utilisateur> users) public void SauvegardeDonnees(ObservableCollection<Jeu> jeux, List<Admin> admins, List<Utilisateur> users)
@ -45,7 +45,7 @@ namespace DataContractPersistance
Directory.CreateDirectory(FilePath); Directory.CreateDirectory(FilePath);
} }
DataToPersist data = new DataToPersist(); DataToPersist? data = new DataToPersist();
data.Jeux = jeux; data.Jeux = jeux;
data.Admins = admins; data.Admins = admins;
data.Utilisateurs = users; data.Utilisateurs = users;

@ -28,7 +28,7 @@ namespace DataContractPersistance
{ {
data = serializer.ReadObject(s) as DataToPersist; data = serializer.ReadObject(s) as DataToPersist;
} }
return (data!.Jeux, data.Admins, data.Utilisateurs); return (data!.Jeux, data!.Admins, data!.Utilisateurs);
} }
public void SauvegardeDonnees(ObservableCollection<Jeu> jeux, List<Admin> admins, List<Utilisateur> users) public void SauvegardeDonnees(ObservableCollection<Jeu> jeux, List<Admin> admins, List<Utilisateur> users)
@ -43,7 +43,7 @@ namespace DataContractPersistance
Directory.CreateDirectory(FilePath); Directory.CreateDirectory(FilePath);
} }
DataToPersist data = new DataToPersist(); DataToPersist? data = new DataToPersist();
data.Jeux = jeux; data.Jeux = jeux;
data.Admins = admins; data.Admins = admins;
data.Utilisateurs = users; data.Utilisateurs = users;

@ -17,12 +17,12 @@ namespace Models
/// <summary> /// <summary>
/// Liste des administrateurs de l'application. /// Liste des administrateurs de l'application.
/// </summary> /// </summary>
public List<Admin> Admins { get; private set; } public List<Admin>? Admins { get; private set; }
/// <summary> /// <summary>
/// Liste des utilisateurs de l'application. /// Liste des utilisateurs de l'application.
/// </summary> /// </summary>
public List<Utilisateur> Utilisateurs { get; private set; } public List<Utilisateur>? Utilisateurs { get; private set; }
private ObservableCollection<Jeu> topRatedGames; private ObservableCollection<Jeu> topRatedGames;

@ -12,27 +12,67 @@ using System.Threading.Tasks;
namespace Models namespace Models
{ {
/// <summary>
/// Représente un Utilisateur de l'application.
/// </summary>
[DataContract] [DataContract]
[KnownType(typeof(Admin))] [KnownType(typeof(Admin))]
public class Utilisateur public class Utilisateur
{ {
/// <summary>
/// Obtient l'adresse e-mail de l'utilisateur.
/// </summary>
[DataMember] [DataMember]
public string Mail { get; private set; } public string Mail { get; private set; }
/// <summary>
/// Obtient le pseudo de l'utilisateur.
/// </summary>
[DataMember] [DataMember]
public string Pseudo { get; private set; } public string Pseudo { get; private set; }
/// <summary>
/// Obtient le mot de passe de l'utilisateur.
/// </summary>
[DataMember] [DataMember]
public string Mdp { get; private set; } public string Mdp { get; private set; }
/// <summary>
/// Obtient la date de création de l'utilisateur.
/// </summary>
[DataMember] [DataMember]
public string DateCreation { get; private set; } public string DateCreation { get; private set; }
/// <summary>
/// Obtient ou définit une valeur indiquant si l'utilisateur est un administrateur.
/// </summary>
[DataMember] [DataMember]
public bool EstAdmin { get; set; } public bool EstAdmin { get; set; }
/// <summary>
/// Obtient la liste des jeux possédés par l'utilisateur.
/// </summary>
[DataMember] [DataMember]
public ObservableCollection<Jeu> ListePossedes { get; private set; } public ObservableCollection<Jeu> ListePossedes { get; private set; }
/// <summary>
/// Obtient la liste des jeux favoris de l'utilisateur.
/// </summary>
[DataMember] [DataMember]
public ObservableCollection<Jeu> ListeFavoris { get; private set; } public ObservableCollection<Jeu> ListeFavoris { get; private set; }
/// <summary>
/// Obtient ou définit le nombre d'avis donnés par l'utilisateur.
/// </summary>
[DataMember] [DataMember]
public int NbAvis { get; set; } public int NbAvis { get; set; }
/// <summary>
/// Constructeur qui initialise une nouvelle instance de la classe <see cref="Utilisateur"/>.
/// </summary>
/// <param name="mail">L'adresse e-mail de l'utilisateur.</param>
/// <param name="pseudo">Le pseudo de l'utilisateur.</param>
/// <param name="mdp">Le mot de passe de l'utilisateur.</param>
public Utilisateur(string mail, string pseudo, string mdp) public Utilisateur(string mail, string pseudo, string mdp)
{ {
Mail = mail; Mail = mail;

@ -26,19 +26,22 @@ namespace Tests
Jeu jeu = new Jeu(nom, resume, sortie, plateformes, developpeur, editeur, note, nbTelechargement, genres, image); Jeu jeu = new Jeu(nom, resume, sortie, plateformes, developpeur, editeur, note, nbTelechargement, genres, image);
List<string> listPlateformes = plateformes.Split(' ').ToList();
List<string> listGenres = genres.Split(' ').ToList();
// Assert // Assert
Assert.Equal(nom, jeu.Nom); Assert.Equal(nom, jeu.Nom);
Assert.Equal(resume, jeu.Resume); Assert.Equal(resume, jeu.Resume);
Assert.Equal(sortie, jeu.Sortie); Assert.Equal(sortie, jeu.Sortie);
Assert.Equal(plateformes, jeu.Plateformes); Assert.Equal(listPlateformes, jeu.ListPlateformes);
Assert.Equal(developpeur, jeu.Developpeur); Assert.Equal(developpeur, jeu.Developpeur);
Assert.Equal(editeur, jeu.Editeur); Assert.Equal(editeur, jeu.Editeur);
Assert.Equal(note, jeu.Note); Assert.Equal(note, jeu.Note);
Assert.Equal(nbTelechargement, jeu.NbTelechargement); Assert.Equal(nbTelechargement, jeu.NbTelechargement);
Assert.Equal(genres, jeu.Genres); Assert.Equal(listGenres, jeu.ListGenres);
Assert.Equal(image, jeu.Image); Assert.Equal(image, jeu.Image);
Assert.Empty(jeu.ListeAvis); Assert.Empty(jeu.ListAvis);
Assert.Equal(0, jeu.NbFavoris); Assert.Equal(0, jeu.NbFavoris);
Assert.Equal(0, jeu.NbPossedes); Assert.Equal(0, jeu.NbPossedes);
} }

@ -1,30 +1,11 @@
using Models; using Models;
using System;
using System.Collections.Generic;
using System.Collections.ObjectModel; using System.Collections.ObjectModel;
using System.Linq; using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Tests namespace Tests
{ {
public class ManagerTest public class ManagerTest
{ {
[Fact]
public void Manager_Creation_Et_Verification()
{
var manager = new Manager();
// Assert
Assert.Empty(manager.Admins);
Assert.Empty(manager.Utilisateurs);
Assert.Empty(manager.TopRatedGames);
Assert.Empty(manager.ListJeuxAffiches);
Assert.Empty(manager.ListJeux);
Assert.Null(manager.ConnectedUser);
}
[Fact] [Fact]
public void Manager_AddJeux() public void Manager_AddJeux()
{ {
@ -36,7 +17,6 @@ namespace Tests
manager.AddJeux(jeu); manager.AddJeux(jeu);
// Assert // Assert
Assert.Single(manager.ListJeux);
Assert.Contains(jeu, manager.ListJeux); Assert.Contains(jeu, manager.ListJeux);
} }
@ -45,13 +25,12 @@ namespace Tests
{ {
var manager = new Manager(); var manager = new Manager();
var admin = new Admin("admin@example.com", "admin", "password"); var admin = new Admin("admin@example.com", "adminuser", "password");
manager.AddAdmin(admin); manager.AddAdmin(admin);
// Assert // Assert
Assert.Single(manager.Admins);
Assert.Contains(admin, manager.Admins); Assert.Contains(admin, manager.Admins);
} }
@ -60,25 +39,25 @@ namespace Tests
{ {
var manager = new Manager(); var manager = new Manager();
var utilisateur = new Utilisateur("test@example.com", "test", "password"); var utilisateur = new Utilisateur("user@example.com", "user", "password");
manager.AddUtilisateur(utilisateur); manager.AddUtilisateur(utilisateur);
// Assert // Assert
Assert.Single(manager.Utilisateurs);
Assert.Contains(utilisateur, manager.Utilisateurs); Assert.Contains(utilisateur, manager.Utilisateurs);
} }
[Fact] [Fact]
public void Manager_ChargerDonnees() public void Manager_ChargerDonnees()
{ {
// Arrange
var manager = new Manager(); var manager = new Manager();
var persistanceManager = new PersistanceManager();
var jeux = new ObservableCollection<Jeu>() var jeux = new ObservableCollection<Jeu>()
{ {
new Jeu("Un Jeu", "Description", "1 Janvier 2023", "PC", "Studio", "Editeur", 4.5, 1000, "Action", "test_image.png"), new Jeu("Un Jeu", "Description", "1 Janvier 2023", "PC", "Studio", "Editeur", 4.5, 1000, "Action", "test_image.png"),
new Jeu("Un autre Jeu", "Une autre description", "12 Janvier 2023", "PS5", "Studio", "Autre Editeur", 3.8, 500, "Aventure", "test_image.png") new Jeu("Un Autre Jeu", "Autre Description", "10 Janvier 2023", "PC", "Studio", "Editeur", 4.5, 1000, "Action", "test_image.png")
}; };
var admins = new List<Admin>() var admins = new List<Admin>()
{ {
@ -90,18 +69,16 @@ namespace Tests
new Utilisateur("user1@example.com", "user1", "password1"), new Utilisateur("user1@example.com", "user1", "password1"),
new Utilisateur("user2@example.com", "user2", "password2") new Utilisateur("user2@example.com", "user2", "password2")
}; };
persistanceManager.SetDonnees(jeux, admins, utilisateurs);
manager.Persistance = persistanceManager;
manager.ListJeux = jeux;
manager.Admins = admins;
manager.Utilisateurs = utilisateurs;
manager.ChargerDonnees(); manager.ChargerDonnees();
// Assert // Assert
Assert.Equal(jeux, manager.ListJeux); Assert.Equal(jeux, manager.ListJeux);
Assert.Equal(admins, manager.Admins); Assert.Equal(admins, manager.Admins.ToList()); // Convertit en List<T>
Assert.Equal(utilisateurs, manager.Utilisateurs); Assert.Equal(utilisateurs, manager.Utilisateurs.ToList()); // Convertit en List<T>
} }
[Fact] [Fact]
@ -109,31 +86,66 @@ namespace Tests
{ {
var manager = new Manager(); var manager = new Manager();
var persistanceManager = new PersistanceManager();
var jeux = new ObservableCollection<Jeu>() var jeux = new ObservableCollection<Jeu>()
{ {
new Jeu("Un Jeu", "Description", "1 Janvier 2023", "PC", "Studio", "Editeur", 4.5, 1000, "Action", "test_image.png"), new Jeu("Un Jeu", "Description", "1 Janvier 2023", "PC", "Studio", "Editeur", 4.5, 1000, "Action", "test_image.png"),
new Jeu("Un autre Jeu", "Une autre description", "12 Janvier 2023", "PS5", "Studio", "Autre Editeur", 3.8, 500, "Aventure", "test_image.png") new Jeu("Un Autre Jeu", "Autre Description", "10 Janvier 2023", "PC", "Studio", "Editeur", 4.5, 1000, "Action", "test_image.png")
}; };
var admins = new List<Admin>() var admins = new List<Admin>()
{ {
new Admin("admin1@example.com", "adminuser1", "password1"), new Admin("admin1@example.com", "admin1", "password1"),
new Admin("admin2@example.com", "adminuser2", "password2") new Admin("admin2@example.com", "admin2", "password2")
}; };
var utilisateurs = new List<Utilisateur>() var utilisateurs = new List<Utilisateur>()
{ {
new Utilisateur("user1@example.com", "user1", "password1"), new Utilisateur("user1@example.com", "user1", "password1"),
new Utilisateur("user2@example.com", "user2", "password2") new Utilisateur("user2@example.com", "user2", "password2")
}; };
manager.ListJeux = jeux; manager.ListJeux = jeux;
manager.Admins = admins; foreach (var admin in admins)
manager.Utilisateurs = utilisateurs; {
manager.AddAdmin(admin);
}
foreach (var utilisateur in utilisateurs)
{
manager.AddUtilisateur(utilisateur);
}
manager.Persistance = persistanceManager;
manager.SauvegardeDonnees(); manager.SauvegardeDonnees();
// Assert // Assert
Assert.True(true); // Vérifie qu'il n'y a aucune exception de levée Assert.Equal(jeux, persistanceManager.Jeux);
Assert.Equal(admins, persistanceManager.Admins);
Assert.Equal(utilisateurs, persistanceManager.Utilisateurs);
}
}
public class PersistanceManager : IPersistanceManager
{
public ObservableCollection<Jeu>? Jeux { get; private set; }
public List<Admin>? Admins { get; private set; }
public List<Utilisateur>? Utilisateurs { get; private set; }
public void SetDonnees(ObservableCollection<Jeu> jeux, List<Admin> admins, List<Utilisateur> utilisateurs)
{
Jeux = jeux;
Admins = admins;
Utilisateurs = utilisateurs;
}
public (ObservableCollection<Jeu>, List<Admin>, List<Utilisateur>) ChargeDonnees()
{
return (Jeux!, Admins!, Utilisateurs!);
}
public void SauvegardeDonnees(ObservableCollection<Jeu> jeux, List<Admin> admins, List<Utilisateur> utilisateurs)
{
Jeux = jeux;
Admins = admins;
Utilisateurs = utilisateurs;
} }
} }
} }

@ -24,6 +24,8 @@
<ItemGroup> <ItemGroup>
<ProjectReference Include="..\Models\Models.csproj" /> <ProjectReference Include="..\Models\Models.csproj" />
<ProjectReference Include="..\Stub\Stub.csproj" />
<ProjectReference Include="..\DataContractPersistance\DataContractPersistance.csproj" />
</ItemGroup> </ItemGroup>
</Project> </Project>

Loading…
Cancel
Save