|
|
@ -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;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|