diff --git a/Sources/GameAtlas/GameAtlas/App.xaml.cs b/Sources/GameAtlas/GameAtlas/App.xaml.cs
index bb7c00e..b5acf28 100644
--- a/Sources/GameAtlas/GameAtlas/App.xaml.cs
+++ b/Sources/GameAtlas/GameAtlas/App.xaml.cs
@@ -1,4 +1,4 @@
-using GameAtlas.Models;
+using Models;
using GameAtlas.Views;
using GameAtlas.Stub;
diff --git a/Sources/GameAtlas/GameAtlas/DataContractPersistance/DataContractPers.cs b/Sources/GameAtlas/GameAtlas/DataContractPersistance/DataContractPers.cs
index ea869ee..77b415d 100644
--- a/Sources/GameAtlas/GameAtlas/DataContractPersistance/DataContractPers.cs
+++ b/Sources/GameAtlas/GameAtlas/DataContractPersistance/DataContractPers.cs
@@ -1,4 +1,4 @@
-using GameAtlas.Models;
+using Models;
using System;
using System.Collections.Generic;
using System.Diagnostics;
diff --git a/Sources/GameAtlas/GameAtlas/DataContractPersistance/DataToPersist.cs b/Sources/GameAtlas/GameAtlas/DataContractPersistance/DataToPersist.cs
index edd9182..511eb76 100644
--- a/Sources/GameAtlas/GameAtlas/DataContractPersistance/DataToPersist.cs
+++ b/Sources/GameAtlas/GameAtlas/DataContractPersistance/DataToPersist.cs
@@ -1,4 +1,4 @@
-using GameAtlas.Models;
+using Models;
using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
diff --git a/Sources/GameAtlas/GameAtlas/GameAtlas.csproj b/Sources/GameAtlas/GameAtlas/GameAtlas.csproj
index 9cca63a..f05dd93 100644
--- a/Sources/GameAtlas/GameAtlas/GameAtlas.csproj
+++ b/Sources/GameAtlas/GameAtlas/GameAtlas.csproj
@@ -132,5 +132,9 @@
MSBuild:Compile
+
+
+
+
diff --git a/Sources/GameAtlas/GameAtlas/Stub/Stub.cs b/Sources/GameAtlas/GameAtlas/Stub/Stub.cs
index 610a9e6..a278aef 100644
--- a/Sources/GameAtlas/GameAtlas/Stub/Stub.cs
+++ b/Sources/GameAtlas/GameAtlas/Stub/Stub.cs
@@ -1,4 +1,4 @@
-using GameAtlas.Models;
+using Models;
using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
diff --git a/Sources/GameAtlas/GameAtlas/Views/Composants/BoutonVoir.xaml.cs b/Sources/GameAtlas/GameAtlas/Views/Composants/BoutonVoir.xaml.cs
index a712c0b..3d2f62a 100644
--- a/Sources/GameAtlas/GameAtlas/Views/Composants/BoutonVoir.xaml.cs
+++ b/Sources/GameAtlas/GameAtlas/Views/Composants/BoutonVoir.xaml.cs
@@ -1,6 +1,6 @@
namespace GameAtlas.Views.Composants;
-using GameAtlas.Models;
+using Models;
public partial class BoutonVoir : ContentView
{
diff --git a/Sources/GameAtlas/GameAtlas/Views/PageAccueil.xaml.cs b/Sources/GameAtlas/GameAtlas/Views/PageAccueil.xaml.cs
index b33527f..da272ec 100644
--- a/Sources/GameAtlas/GameAtlas/Views/PageAccueil.xaml.cs
+++ b/Sources/GameAtlas/GameAtlas/Views/PageAccueil.xaml.cs
@@ -1,4 +1,4 @@
-using GameAtlas.Models;
+using Models;
using System.Collections.ObjectModel;
namespace GameAtlas.Views;
diff --git a/Sources/GameAtlas/GameAtlas/Views/PageAdmin.xaml.cs b/Sources/GameAtlas/GameAtlas/Views/PageAdmin.xaml.cs
index ffebc0f..b8e9d29 100644
--- a/Sources/GameAtlas/GameAtlas/Views/PageAdmin.xaml.cs
+++ b/Sources/GameAtlas/GameAtlas/Views/PageAdmin.xaml.cs
@@ -5,7 +5,7 @@
*/
using Microsoft.Maui.Controls;
-using GameAtlas.Models;
+using Models;
using System.Diagnostics;
namespace GameAtlas.Views;
diff --git a/Sources/GameAtlas/GameAtlas/Views/PageConnexion.xaml.cs b/Sources/GameAtlas/GameAtlas/Views/PageConnexion.xaml.cs
index 28fe655..90d8d77 100644
--- a/Sources/GameAtlas/GameAtlas/Views/PageConnexion.xaml.cs
+++ b/Sources/GameAtlas/GameAtlas/Views/PageConnexion.xaml.cs
@@ -6,7 +6,7 @@
namespace GameAtlas.Views;
-using GameAtlas.Models;
+using Models;
using System.Diagnostics;
using System.Text.RegularExpressions;
diff --git a/Sources/GameAtlas/GameAtlas/Views/PageInscription.xaml.cs b/Sources/GameAtlas/GameAtlas/Views/PageInscription.xaml.cs
index d548c24..f60f8a7 100644
--- a/Sources/GameAtlas/GameAtlas/Views/PageInscription.xaml.cs
+++ b/Sources/GameAtlas/GameAtlas/Views/PageInscription.xaml.cs
@@ -1,6 +1,6 @@
namespace GameAtlas.Views;
-using GameAtlas.Models;
+using Models;
using GameAtlas.DataContractPersistance;
using System.Diagnostics;
using System.Text.RegularExpressions;
diff --git a/Sources/GameAtlas/GameAtlas/Views/PageJeu.xaml.cs b/Sources/GameAtlas/GameAtlas/Views/PageJeu.xaml.cs
index fe25a4f..00aeb02 100644
--- a/Sources/GameAtlas/GameAtlas/Views/PageJeu.xaml.cs
+++ b/Sources/GameAtlas/GameAtlas/Views/PageJeu.xaml.cs
@@ -1,4 +1,4 @@
-using GameAtlas.Models;
+using Models;
using System.Diagnostics;
using CommunityToolkit.Maui.Alerts;
using CommunityToolkit.Maui.Core;
diff --git a/Sources/GameAtlas/GameAtlas/Views/PageParcourir.xaml.cs b/Sources/GameAtlas/GameAtlas/Views/PageParcourir.xaml.cs
index b904642..4472ca9 100644
--- a/Sources/GameAtlas/GameAtlas/Views/PageParcourir.xaml.cs
+++ b/Sources/GameAtlas/GameAtlas/Views/PageParcourir.xaml.cs
@@ -1,6 +1,6 @@
namespace GameAtlas.Views;
-using GameAtlas.Models;
+using Models;
using System.Collections.ObjectModel;
public partial class PageParcourir : ContentPage
diff --git a/Sources/GameAtlas/GameAtlas/Views/PageProfil.xaml.cs b/Sources/GameAtlas/GameAtlas/Views/PageProfil.xaml.cs
index 2347318..7f3176f 100644
--- a/Sources/GameAtlas/GameAtlas/Views/PageProfil.xaml.cs
+++ b/Sources/GameAtlas/GameAtlas/Views/PageProfil.xaml.cs
@@ -1,4 +1,4 @@
-using GameAtlas.Models;
+using Models;
namespace GameAtlas.Views;
diff --git a/Sources/GameAtlas/GameAtlas/Models/Admin.cs b/Sources/GameAtlas/Models/Admin.cs
similarity index 94%
rename from Sources/GameAtlas/GameAtlas/Models/Admin.cs
rename to Sources/GameAtlas/Models/Admin.cs
index 142de3a..c0b7dab 100644
--- a/Sources/GameAtlas/GameAtlas/Models/Admin.cs
+++ b/Sources/GameAtlas/Models/Admin.cs
@@ -9,7 +9,7 @@ using System.Runtime.Serialization;
using System.Text;
using System.Threading.Tasks;
-namespace GameAtlas.Models
+namespace Models
{
[DataContract]
public class Admin : Utilisateur
diff --git a/Sources/GameAtlas/GameAtlas/Models/IPersistanceManager.cs b/Sources/GameAtlas/Models/IPersistanceManager.cs
similarity index 93%
rename from Sources/GameAtlas/GameAtlas/Models/IPersistanceManager.cs
rename to Sources/GameAtlas/Models/IPersistanceManager.cs
index 786a3aa..fb2ca08 100644
--- a/Sources/GameAtlas/GameAtlas/Models/IPersistanceManager.cs
+++ b/Sources/GameAtlas/Models/IPersistanceManager.cs
@@ -5,7 +5,7 @@ using System.Linq;
using System.Text;
using System.Threading.Tasks;
-namespace GameAtlas.Models
+namespace Models
{
public interface IPersistanceManager
{
diff --git a/Sources/GameAtlas/GameAtlas/Models/Jeu.cs b/Sources/GameAtlas/Models/Jeu.cs
similarity index 98%
rename from Sources/GameAtlas/GameAtlas/Models/Jeu.cs
rename to Sources/GameAtlas/Models/Jeu.cs
index 8d07acf..0479abf 100644
--- a/Sources/GameAtlas/GameAtlas/Models/Jeu.cs
+++ b/Sources/GameAtlas/Models/Jeu.cs
@@ -10,7 +10,7 @@ using System.Runtime.Serialization;
using System.Text;
using System.Threading.Tasks;
-namespace GameAtlas.Models
+namespace Models
{
[DataContract]
public class Jeu
diff --git a/Sources/GameAtlas/GameAtlas/Models/Manager.cs b/Sources/GameAtlas/Models/Manager.cs
similarity index 99%
rename from Sources/GameAtlas/GameAtlas/Models/Manager.cs
rename to Sources/GameAtlas/Models/Manager.cs
index d9ff100..5612e24 100644
--- a/Sources/GameAtlas/GameAtlas/Models/Manager.cs
+++ b/Sources/GameAtlas/Models/Manager.cs
@@ -7,7 +7,7 @@ using System.Runtime.CompilerServices;
using System.Text;
using System.Threading.Tasks;
-namespace GameAtlas.Models
+namespace Models
{
public class Manager : INotifyPropertyChanged
{
diff --git a/Sources/GameAtlas/Models/Models.csproj b/Sources/GameAtlas/Models/Models.csproj
new file mode 100644
index 0000000..cfadb03
--- /dev/null
+++ b/Sources/GameAtlas/Models/Models.csproj
@@ -0,0 +1,9 @@
+
+
+
+ net7.0
+ enable
+ enable
+
+
+
diff --git a/Sources/GameAtlas/GameAtlas/Models/Utilisateur.cs b/Sources/GameAtlas/Models/Utilisateur.cs
similarity index 96%
rename from Sources/GameAtlas/GameAtlas/Models/Utilisateur.cs
rename to Sources/GameAtlas/Models/Utilisateur.cs
index 169fa8b..ddb0b1c 100644
--- a/Sources/GameAtlas/GameAtlas/Models/Utilisateur.cs
+++ b/Sources/GameAtlas/Models/Utilisateur.cs
@@ -2,7 +2,6 @@
/// \brief Définition de la classe Utilisateur.
/// \author Rémi Lavergne - Yvan Calatayud
-using GameAtlas.Views;
using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
@@ -11,7 +10,7 @@ using System.Runtime.Serialization;
using System.Text;
using System.Threading.Tasks;
-namespace GameAtlas.Models
+namespace Models
{
[DataContract]
[KnownType(typeof(Admin))]
diff --git a/Sources/GameAtlas/Tests/Tests.csproj b/Sources/GameAtlas/Tests/Tests.csproj
new file mode 100644
index 0000000..4568c3b
--- /dev/null
+++ b/Sources/GameAtlas/Tests/Tests.csproj
@@ -0,0 +1,29 @@
+
+
+
+ net7.0
+ enable
+ enable
+
+ false
+ true
+
+
+
+
+
+
+ runtime; build; native; contentfiles; analyzers; buildtransitive
+ all
+
+
+ runtime; build; native; contentfiles; analyzers; buildtransitive
+ all
+
+
+
+
+
+
+
+
diff --git a/Sources/GameAtlas/Tests/UnitTest1.cs b/Sources/GameAtlas/Tests/UnitTest1.cs
new file mode 100644
index 0000000..8c6df0e
--- /dev/null
+++ b/Sources/GameAtlas/Tests/UnitTest1.cs
@@ -0,0 +1,17 @@
+using Models;
+using System.Diagnostics;
+
+namespace Tests
+{
+ public class UnitTest1
+ {
+ [Fact]
+ public void Test1()
+ {
+ Utilisateur Georges = new Utilisateur("georges.gio@gmail.com", "GeoStorm", "Storm7!");
+ Debug.WriteLine(Georges.Mail);
+ Debug.WriteLine(Georges.Pseudo);
+ Debug.WriteLine(Georges.EstAdmin);
+ }
+ }
+}
\ No newline at end of file
diff --git a/Sources/GameAtlas/Tests/UnitTest2.cs b/Sources/GameAtlas/Tests/UnitTest2.cs
new file mode 100644
index 0000000..b8bc97c
--- /dev/null
+++ b/Sources/GameAtlas/Tests/UnitTest2.cs
@@ -0,0 +1,22 @@
+using Models;
+using System;
+using System.Collections.Generic;
+using System.Diagnostics;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace Tests
+{
+ public class UnitTest2
+ {
+ [Fact]
+ public void Test2()
+ {
+ Admin Antoine = new Admin("antoine@gameatlas.com", "Antoine", "adminAntoine01");
+ Debug.WriteLine(Antoine.Mail);
+ Debug.WriteLine(Antoine.Pseudo);
+ Debug.WriteLine(Antoine.EstAdmin);
+ }
+ }
+}
diff --git a/Sources/GameAtlas/Tests/Usings.cs b/Sources/GameAtlas/Tests/Usings.cs
new file mode 100644
index 0000000..8c927eb
--- /dev/null
+++ b/Sources/GameAtlas/Tests/Usings.cs
@@ -0,0 +1 @@
+global using Xunit;
\ No newline at end of file
diff --git a/Sources/GameAtlas/Tests/UtilisateurSimulation.cs b/Sources/GameAtlas/Tests/UtilisateurSimulation.cs
new file mode 100644
index 0000000..cddd1d6
--- /dev/null
+++ b/Sources/GameAtlas/Tests/UtilisateurSimulation.cs
@@ -0,0 +1,47 @@
+using Models;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using System.Diagnostics;
+
+namespace Tests
+{
+ public class UtilisateurSimulation
+ {
+ readonly Utilisateur Georges = new Utilisateur("georges.gio@gmail.com", "GeoStorm", "Storm7!");
+
+ [Fact]
+ public void UserCheck()
+ {
+ Debug.WriteLine(Georges.Mail);
+ Debug.WriteLine(Georges.Pseudo);
+ Debug.WriteLine(Georges.EstAdmin);
+ }
+
+ [Fact]
+ public void ListeFavoris()
+ {
+ Jeu TheLastOfUs = new Jeu("The Last Of Us Part I", "Dans un monde dévasté où rôdent infectés et survivants endurcis, Joel, un protagoniste désabusé, est engagé pour faire sortir Ellie, 14 ans, d'une zone de quarantaine militaire. Mais ce qui devait être une simple mission de routine se transforme vite en un dangereux périple à travers le pays.", "28 Mars 2023", "PS5 PC", "Naughty Dog LLC", "PlayStation PC LLC", 8.5, 487, "Solo Action Aventure", "cover_lastofus1.png");
+ Georges.ListeFavoris.Add(TheLastOfUs);
+ Debug.WriteLine($"Nombre de jeux dans la Liste des Favoris: {Georges.ListeFavoris.Count()}");
+ Debug.WriteLine($"Nom du Jeu: {Georges.ListeFavoris[0].Nom}");
+
+ Georges.ListeFavoris.Remove(TheLastOfUs);
+ Debug.WriteLine($"Nombre de jeux dans la Liste des Favoris: {Georges.ListeFavoris.Count()}");
+ }
+
+ [Fact]
+ public void ListePossedes()
+ {
+ Jeu ForzaHorizon = new Jeu("Forza Horizon 5", "Dans ce jeu, vous pouvez explorer une carte en monde ouvert vraiment massive, cinquante pour cent plus grande que la carte non négligeable de Forza Horizon 4. Faites la course avec divers véhicules à travers la caldeira d'un volcan, explorez les jungles et les forêts tropicales à la recherche de villes en ruines cachées, parcourez les plages de sable blanc, et passez devant des chutes d'eau, des montagnes enneigées et de grandes villes comme Guanajuato, qui possède un réseau de tunnels secrets à explorer !", "9 Novembre 2021", "PC XOne", "Playground Games", "Xbox Game Studios", 6.5, 420, "Course Simulation Sport", "cover_forzahorizon5.png");
+ Georges.ListePossedes.Add(ForzaHorizon);
+ Debug.WriteLine($"Nombre de jeux dans la Liste de Possédés: {Georges.ListePossedes.Count()}");
+ Debug.WriteLine($"Nom du Jeu: {Georges.ListePossedes[0].Nom}");
+
+ Georges.ListePossedes.Remove(ForzaHorizon);
+ Debug.WriteLine($"Nombre de jeux dans la Liste de Possédés: {Georges.ListePossedes.Count()}");
+ }
+ }
+}