Start UnitTest

pull/42/head
Matheo HERSAN 2 years ago
parent 131369207d
commit ce3a45a448

@ -39,7 +39,7 @@ public partial class App : Application
if (File.Exists(Path.Combine(FilePath, FileName)))
{
MyManager = new Manager(new Stub.DataContractXML()); // Utilise le DataContract comme moyen de persistance.
MyManager = new Manager(new DataContractPersistance.DataContractXML()); // Utilise le DataContract comme moyen de persistance.
//MyManager = new Manager(new Stub.DataContractJSON()); // Utilise le DataContract comme moyen de persistance.
}
@ -50,7 +50,7 @@ public partial class App : Application
if (!File.Exists(Path.Combine(FilePath, FileName)))
{
MyManager.Persistance = new Stub.DataContractXML(); // Utilise le Stub comme moyen de persistance.
MyManager.Persistance = new DataContractPersistance.DataContractXML(); // Utilise le Stub comme moyen de persistance.
//MyManager = new Manager(new Stub.DataContractJSON());
}

@ -9,7 +9,7 @@ using System.Text;
using System.Threading.Tasks;
using System.Xml;
namespace MangaMap.Stub
namespace MangaMap.DataContractPersistance
{
/// <summary>
/// Implémentation de l'interface IPersistanceManager utilisant la sérialisation avec DataContract.

@ -8,7 +8,7 @@ using System.Runtime.Serialization.Json;
using System.Text;
using System.Threading.Tasks;
namespace MangaMap.Stub
namespace MangaMap.DataContractPersistance
{
/// <summary>
/// Implémentation de l'interface IPersistanceManager utilisant la sérialisation avec DataContract.
@ -65,7 +65,7 @@ namespace MangaMap.Stub
{
using (var writer = JsonReaderWriterFactory.CreateJsonWriter(
stream,
System.Text.Encoding.UTF8,
Encoding.UTF8,
false,
true))//<- this boolean says that we sant indentation
{

@ -9,7 +9,7 @@ using System.Text;
using System.Threading.Tasks;
using System.Xml;
namespace MangaMap.Stub
namespace MangaMap.DataContractPersistance
{
/// <summary>
/// Implémentation de l'interface IPersistanceManager utilisant la sérialisation avec DataContract.

@ -6,7 +6,7 @@ using System.Text;
using System.Threading.Tasks;
using System.Collections.ObjectModel;
namespace MangaMap.Stub
namespace MangaMap.DataContractPersistance
{
/// <summary>
/// Classe de données pour la persistance contenant les listes des oeuvres et des utilisateurs.

@ -5,7 +5,9 @@ VisualStudioVersion = 17.0.31611.283
MinimumVisualStudioVersion = 10.0.40219.1
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "MangaMap", "MangaMap.csproj", "{1946288E-37BA-420F-89BD-A1C3D4178344}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Models", "..\Models\Models.csproj", "{D13B26C4-A575-4577-A735-0B04DC02BC85}"
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}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
@ -23,6 +25,10 @@ Global
{D13B26C4-A575-4577-A735-0B04DC02BC85}.Debug|Any CPU.Build.0 = Debug|Any CPU
{D13B26C4-A575-4577-A735-0B04DC02BC85}.Release|Any CPU.ActiveCfg = Release|Any CPU
{D13B26C4-A575-4577-A735-0B04DC02BC85}.Release|Any CPU.Build.0 = Release|Any CPU
{6B675815-FEE2-49D0-BAF9-84ECD5116FF9}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{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
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE

@ -0,0 +1,57 @@
using Models;
namespace UnitTests
{
public class UnitTestUtilisateur
{
[Fact]
public void TestUtilisateur()
{
// Arrange
Utilisateur utilisateur = new Utilisateur("test@test.com", "pseudo", "mdp", "John", "Doe", 30);
// Act
utilisateur.SupprimerUtilisateur();
// Assert
Assert.Null(utilisateur.nom);
Assert.Null(utilisateur.prenom);
Assert.Equal(0, utilisateur.age);
}
[Fact]
public void Utilisateur_DefaultConstructor_SetsPropertiesToDefaultValues()
{
// Arrange & Act
Utilisateur utilisateur = new Utilisateur();
// Assert
Assert.Null(utilisateur.nom);
Assert.Null(utilisateur.prenom);
Assert.Equal(0, utilisateur.age);
}
[Fact]
public void Utilisateur_Constructor_SetsPropertiesCorrectly()
{
// Arrange
string email = "test@test.com";
string pseudo = "pseudo";
string mdp = "mdp";
string nom = "John";
string prenom = "Doe";
int age = 30;
// Act
Utilisateur utilisateur = new Utilisateur(email, pseudo, mdp, nom, prenom, age);
// Assert
Assert.Equal(email, utilisateur.Email);
Assert.Equal(pseudo, utilisateur.Pseudo);
Assert.Equal(mdp, utilisateur.MotDePasse);
Assert.Equal(nom, utilisateur.nom);
Assert.Equal(prenom, utilisateur.prenom);
Assert.Equal(age, utilisateur.age);
}
}
}

@ -0,0 +1,28 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net7.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
<IsPackable>false</IsPackable>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.3.2" />
<PackageReference Include="xunit" Version="2.4.2" />
<PackageReference Include="xunit.runner.visualstudio" Version="2.4.5">
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
<PrivateAssets>all</PrivateAssets>
</PackageReference>
<PackageReference Include="coverlet.collector" Version="3.1.2">
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
<PrivateAssets>all</PrivateAssets>
</PackageReference>
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\Models\Models.csproj" />
</ItemGroup>
</Project>

@ -0,0 +1 @@
global using Xunit;
Loading…
Cancel
Save