Tests Unitaire
continuous-integration/drone/push Build is passing Details

pull/15/head
Yoan 2 years ago
parent 8bf726df80
commit 5ea4f7287a

@ -9,12 +9,12 @@ namespace Model.Managers
{
public interface IDataManager
{
IEnumerable<Bateau> GetBateaux();
IEnumerable<Bestiaire> GetBestiaires();
IEnumerable<Equipage> GetEquipages();
IEnumerable<FruitDuDemon> GetFruits();
IEnumerable<Ile> GetIles();
IEnumerable<Personnage> GetPersonnages();
IEnumerable<Bateau>? GetBateaux();
IEnumerable<Bestiaire>? GetBestiaires();
IEnumerable<Equipage>? GetEquipages();
IEnumerable<FruitDuDemon>? GetFruits();
IEnumerable<Ile>? GetIles();
IEnumerable<Personnage>? GetPersonnages();
void SetBateau(List<Bateau> listeBateaux);
void SetBestiaire(List<Bestiaire> listeBest);
void SetEquipage(List<Equipage> listeEquip);

@ -63,49 +63,62 @@ namespace Model.Managers
public Manager(IDataManager dataManager)
{
DataManager = dataManager;
Bateaux = new ObservableCollection<Bateau>(DataManager.GetBateaux());
Personnages = new ObservableCollection<Personnage>(DataManager.GetPersonnages());
Fruits = new ObservableCollection<FruitDuDemon>(DataManager.GetFruits());
Iles = new ObservableCollection<Ile>(DataManager.GetIles());
Bestiaire = new ObservableCollection<Bestiaire>(DataManager.GetBestiaires());
Equipages = new ObservableCollection<Equipage>(DataManager.GetEquipages());
var bateaux = DataManager.GetBateaux();
Bateaux = bateaux != null ? new ObservableCollection<Bateau>(bateaux) : new ObservableCollection<Bateau>();
var personnages = DataManager.GetPersonnages();
Personnages = personnages != null ? new ObservableCollection<Personnage>(personnages) : new ObservableCollection<Personnage>();
var fruits = DataManager.GetFruits();
Fruits = fruits != null ? new ObservableCollection<FruitDuDemon>(fruits) : new ObservableCollection<FruitDuDemon>();
var iles = DataManager.GetIles();
Iles = iles != null ? new ObservableCollection<Ile>(iles) : new ObservableCollection<Ile>();
var bests = DataManager.GetBestiaires();
Bestiaire = bests != null ? new ObservableCollection<Bestiaire>(bests) : new ObservableCollection<Bestiaire>();
var equipages = DataManager.GetEquipages();
Equipages = equipages != null ? new ObservableCollection<Equipage>(equipages) : new ObservableCollection<Equipage>();
}
/// \brief Récupère la liste des personnages.
/// \return La liste des personnages.
public List<Personnage> GetPersonnages()
{
return DataManager.GetPersonnages().ToList();
var personnages = DataManager.GetPersonnages();
return personnages != null ? personnages.ToList() : new List<Personnage>();
}
/// \brief Récupère la liste des fruits du démon.
/// \return La liste des fruits du démon.
public List<FruitDuDemon> GetFruits()
{
return DataManager.GetFruits().ToList();
var fruits = DataManager.GetFruits();
return fruits != null ? fruits.ToList() : new List<FruitDuDemon>();
}
/// \brief Récupère la liste des équipages.
/// \return La liste des équipages.
public List<Equipage> GetEquipages()
{
return DataManager.GetEquipages().ToList();
var equipages = DataManager.GetEquipages();
return equipages != null ? equipages.ToList() : new List<Equipage>();
}
/// \brief Récupère la liste des bateaux.
/// \return La liste des bateaux.
public List<Bateau> GetBateaux()
{
return DataManager.GetBateaux().ToList();
var bateaux = DataManager.GetBateaux();
return bateaux != null ? bateaux.ToList() : new List<Bateau>();
}
/// \brief Récupère la liste des bestiaires.
/// \return La liste des bestiaires.
public List<Bestiaire> GetBestiaires()
{
return DataManager.GetBestiaires().ToList();
var bestiaires = DataManager.GetBestiaires();
return bestiaires != null ? bestiaires.ToList() : new List<Bestiaire>();
}
/// \brief Récupère la liste des îles.
/// \return La liste des îles.
public List<Ile> GetIles()
{
return DataManager.GetIles().ToList();
var iles = DataManager.GetIles();
return iles != null ? iles.ToList() : new List<Ile>();
}
/// \brief Filtre les fruits du démon par type.

@ -30,27 +30,39 @@ namespace Model.Serializer
{
if (!File.Exists(Path.Combine(Chemin, "./personnage.xml")))
{
SetPersonnage(stubManager.GetPersonnages().ToList());
var personnages = stubManager.GetPersonnages();
if(personnages!=null)
SetPersonnage(personnages.ToList());
}
if (!File.Exists(Path.Combine(Chemin, "./bateau.xml")))
{
SetBateau(stubManager.GetBateaux().ToList());
var bateaux = stubManager.GetBateaux();
if(bateaux !=null)
SetBateau(bateaux.ToList());
}
if (!File.Exists(Path.Combine(Chemin, "./fruitdudemon.xml")))
{
SetFDD(stubManager.GetFruits().ToList());
var fruits = stubManager.GetFruits();
if(fruits!=null)
SetFDD(fruits.ToList());
}
if (!File.Exists(Path.Combine(Chemin, "./bestiaire.xml")))
{
SetBestiaire(stubManager.GetBestiaires().ToList());
var bestiaires= stubManager.GetBestiaires();
if(bestiaires!=null)
SetBestiaire(bestiaires.ToList());
}
if (!File.Exists(Path.Combine(Chemin, "./equipage.xml")))
{
SetEquipage(stubManager.GetEquipages().ToList());
var equipages= stubManager.GetEquipages();
if(equipages!=null)
SetEquipage(equipages.ToList());
}
if (!File.Exists(Path.Combine(Chemin, "./ile.xml")))
{
SetIle(stubManager.GetIles().ToList());
var iles = stubManager.GetIles();
if(iles!=null)
SetIle(iles.ToList());
}
}
@ -161,86 +173,74 @@ namespace Model.Serializer
}
}
public IEnumerable<Bateau> GetBateaux()
public IEnumerable<Bateau>? GetBateaux()
{
List<Bateau>? listeBateau = new List<Bateau>();
var serializer = new DataContractSerializer(typeof(List<Bateau>));
string xmlFile = "bateau.xml";
Directory.SetCurrentDirectory(Path.Combine(Chemin, "./"));
using (Stream s = File.OpenRead(xmlFile))
{
listeBateau = serializer.ReadObject(s) as List<Bateau>;
}
return listeBateau;
return serializer.ReadObject(s) as List<Bateau>;
}
}
public IEnumerable<Bestiaire> GetBestiaires()
public IEnumerable<Bestiaire>? GetBestiaires()
{
List<Bestiaire>? listeBest = new List<Bestiaire>();
var serializer = new DataContractSerializer(typeof(List<Bestiaire>));
string xmlFile = "bestiaire.xml";
Directory.SetCurrentDirectory(Path.Combine(Chemin, "./"));
using (Stream s = File.OpenRead(xmlFile))
{
listeBest = serializer.ReadObject(s) as List<Bestiaire>;
return serializer.ReadObject(s) as List<Bestiaire>;
}
return listeBest;
}
public IEnumerable<Equipage> GetEquipages()
{
List<Equipage>? listeEquip = new List<Equipage>();
public IEnumerable<Equipage>? GetEquipages()
{
var serializer = new DataContractSerializer(typeof(List<Equipage>));
string xmlFile = "equipage.xml";
Directory.SetCurrentDirectory(Path.Combine(Chemin, "./"));
using (Stream s = File.OpenRead(xmlFile))
{
listeEquip = serializer.ReadObject(s) as List<Equipage>;
return serializer.ReadObject(s) as List<Equipage>;
}
return listeEquip;
}
public IEnumerable<FruitDuDemon> GetFruits()
public IEnumerable<FruitDuDemon>? GetFruits()
{
List<FruitDuDemon>? listeFDD = new List<FruitDuDemon>();
var serializer = new DataContractSerializer(typeof(List<FruitDuDemon>));
string xmlFile = "fruitdudemon.xml";
Directory.SetCurrentDirectory(Path.Combine(Chemin, "./"));
using (Stream s = File.OpenRead(xmlFile))
{
listeFDD = serializer.ReadObject(s) as List<FruitDuDemon>;
return serializer.ReadObject(s) as List<FruitDuDemon>;
}
return listeFDD;
}
public IEnumerable<Ile> GetIles()
public IEnumerable<Ile>? GetIles()
{
List<Ile>? listeIle = new List<Ile>();
var serializer = new DataContractSerializer(typeof(List<Ile>));
string xmlFile = "ile.xml";
Directory.SetCurrentDirectory(Path.Combine(Chemin, "./"));
using (Stream s = File.OpenRead(xmlFile))
{
listeIle = serializer.ReadObject(s) as List<Ile>;
}
return listeIle;
return serializer.ReadObject(s) as List<Ile>;
}
}
public IEnumerable<Personnage> GetPersonnages()
public IEnumerable<Personnage>? GetPersonnages()
{
List<Personnage>? listePerso = new List<Personnage>();
var serializer = new DataContractSerializer(typeof(List<Personnage>));
string xmlFile = "personnage.xml";
Directory.SetCurrentDirectory(Path.Combine(Chemin, "./"));
using (Stream s = File.OpenRead(xmlFile))
{
listePerso = serializer.ReadObject(s) as List<Personnage>;
return serializer.ReadObject(s) as List<Personnage>;
}
return listePerso;
}
}
}

@ -30,30 +30,30 @@ namespace Model.Stub
}
public IEnumerable<Personnage> GetPersonnages()
public IEnumerable<Personnage>? GetPersonnages()
{
return StubPersonnage.RecupererPersonnage();
}
public IEnumerable<FruitDuDemon> GetFruits()
public IEnumerable<FruitDuDemon>? GetFruits()
{
return StubFruitDuDemon.RecupererFruit();
}
public IEnumerable<Equipage> GetEquipages()
public IEnumerable<Equipage>? GetEquipages()
{
StubEquipage.ChargerEquipage(StubPersonnage.RecupererPersonnage().ToList());
return StubEquipage.RecupererEquipage();
}
public IEnumerable<Bateau> GetBateaux()
public IEnumerable<Bateau>? GetBateaux()
{
return StubBateau.RecupererBateau();
}
public IEnumerable<Bestiaire> GetBestiaires()
public IEnumerable<Bestiaire>? GetBestiaires()
{
return StubBestiaire.RecupererBestiaire();
}
public IEnumerable<Ile> GetIles()
public IEnumerable<Ile>? GetIles()
{
return StubIle.RecupererIle();
}

@ -12,6 +12,7 @@ EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "TestProject1", "TestProject1\TestProject1.csproj", "{4AD3B218-1007-4859-BC93-2B3E957632E0}"
ProjectSection(ProjectDependencies) = postProject
{A0307D66-E621-4BC1-A239-87C9021E7CFD} = {A0307D66-E621-4BC1-A239-87C9021E7CFD}
{EEC24A76-0EB3-4C67-A71B-7FF823713645} = {EEC24A76-0EB3-4C67-A71B-7FF823713645}
EndProjectSection
EndProject
Global

@ -4,10 +4,9 @@ using Model;
public partial class AppShell : Shell
{
public AppShell()
{
InitializeComponent();
}
}
}

@ -7,7 +7,7 @@
BackgroundColor="#e2edf1">
<VerticalStackLayout Spacing="40">
<VerticalStackLayout >
<Grid ColumnDefinitions="200,*,100,10,150" BackgroundColor="#72a3b3" Padding="10">
<SearchBar x:Name="searchBar" Placeholder="Rechercher..." BackgroundColor="#bfe5ef" Grid.Column="0"/>
<Button Text="Ajouter" Clicked="Button_Clicked" Style="{StaticResource buttonBarre}" Grid.Column="4"/>
@ -17,35 +17,20 @@
<CollectionView x:Name="listeBateau" ItemsSource="{Binding Bateaux}" ItemsLayout="HorizontalList" EmptyView="Aucun résultat trouvé." SelectionMode="Single" SelectionChanged="listeBateau_SelectionChanged" >
<CollectionView.ItemTemplate>
<DataTemplate>
<Grid Padding="50" ColumnSpacing="10">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="400"/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="750"/>
<RowDefinition Height="80*"/>
</Grid.RowDefinitions>
<Frame
CornerRadius="25"
BorderColor="#e2edf1"
IsClippedToBounds="True"
Padding="0"
HeightRequest="800"
WidthRequest="450">
<Frame Style="{StaticResource frameObjet3}" HeightRequest="800" WidthRequest="450">
<Image
Source="{Binding Image}"
Source="{Binding Image}"
Aspect="Fill"
/>
</Frame>
<Frame Style="{StaticResource frameObjet2}">
<StackLayout Orientation="Vertical" Spacing="25" VerticalOptions="Center">
<Label
Text="{Binding Nom}"

@ -5,7 +5,7 @@
Title="PageIle"
Appearing="ContentPage_Appearing"
BackgroundColor="#e2edf1">
<VerticalStackLayout Spacing="40">
<VerticalStackLayout>
<Grid ColumnDefinitions="200,*,100,10,150" BackgroundColor="#72a3b3" Padding="10">
<SearchBar x:Name="searchBar" Placeholder="Rechercher..." Style="{StaticResource searchBarOhara}" Grid.Column="0"/>
<Button Text="Ajouter" Clicked="Button_Clicked" Style="{StaticResource buttonBarre}" Grid.Column="4"/>
@ -31,15 +31,9 @@
<ColumnDefinition Width="400"/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="750"/>
<RowDefinition Height="80*"/>
</Grid.RowDefinitions>
<Frame
CornerRadius="25"
BorderColor="#e2edf1"
IsClippedToBounds="True"
Padding="0"
HeightRequest="800"
WidthRequest="450">
<Frame Style="{StaticResource frameObjet3}" HeightRequest="800" WidthRequest="450">
<Image
Source="{Binding Image}"

@ -7,7 +7,7 @@
BackgroundColor="#e2edf1">
<VerticalStackLayout Spacing="10">
<VerticalStackLayout>
<Grid ColumnDefinitions="200,*,150" BackgroundColor="#72a3b3" Padding="10">
<SearchBar x:Name="searchBar" Placeholder="Rechercher..." BackgroundColor="#bfe5ef" Grid.Column="0"/>
<Button Text="Ajouter" Clicked="ButtonAjouter_Clicked" Style="{StaticResource buttonBarre}" Grid.Column="2"/>
@ -26,16 +26,9 @@
<RowDefinition Height="*"/>
</Grid.RowDefinitions>
<Frame CornerRadius="25"
BorderColor="#e2edf1"
IsClippedToBounds="True"
Padding="0"
HeightRequest="800"
WidthRequest="450">
<Image
Source="{Binding Image}"
<Frame Style="{StaticResource frameObjet3}" HeightRequest="800" WidthRequest="450">
<Image
Source="{Binding Image}"
Aspect="Fill"
/>
</Frame>

@ -478,6 +478,12 @@
</VisualStateGroupList>
</Setter>
</Style>
<Style x:Key="frameObjet3" TargetType="Frame">
<Setter Property="IsClippedToBounds" Value="True"/>
<Setter Property="Padding" Value="0"/>
<Setter Property="BorderColor" Value="Transparent"/>
<Setter Property="CornerRadius" Value="25"/>
</Style>
<Style x:Key="frameEquip" TargetType="Frame">
<Setter Property="VisualStateManager.VisualStateGroups">
<VisualStateGroupList>

@ -4,7 +4,6 @@ using Model.Serializer;
using Model.Managers;
using System.Collections.ObjectModel;
// Tests fonctionnels :
Manager manager = new Manager(new XML_Serializer());

@ -37,9 +37,36 @@ namespace TestProject1
{
Bateau bateau1 = new Bateau("Sunny", "Sauzando Sani-go", 435, 321, "Le Thousand Sunny est...", "Ce bateau a pour particularités ...", " ");
Bateau bateau2 = new Bateau("Sunny", "Sauzando Sani-go", 435, 321, "Le Thousand Sunny est...", "Ce bateau a pour particularités ...", " ");
Bateau? bateau3 = null;
Equipage equipage = new Equipage("Équipage du poux", "Akagami Kalzokudan", "East Blue", -1, 0, true, "L'équipage du Roux ...", "");
bool resultat =(bateau1.Equals(bateau2));
bool resultat2 =(bateau1.Equals(equipage));
bool resultat3 =(bateau1.Equals(bateau3));
Assert.True(resultat, "Les deux bateaux devraient etre égaux car ils onts le meme nom");
Assert.False(resultat2);
Assert.False(resultat3);
}
[Fact]
public void GetHashCode_BateauWithSameProperties_ReturnsSameHashCode()
{
Bateau obj1 = new Bateau("Sunny", "Sauzando Sani-go", 435, 321, "Le Thousand Sunny est...", "Ce bateau a pour particularités ...", " ");
Bateau obj2 = new Bateau("Sunny", "Sauzando Sani-go", 435, 321, "Le Thousand Sunny est...", "Ce bateau a pour particularités ...", " ");
var hashCode1 = obj1.GetHashCode();
var hashCode2 = obj2.GetHashCode();
Assert.True(hashCode1 == hashCode2);
}
[Fact]
public void ToString_ReturnsCorrectStringRepresentation()
{
Bateau obj1 = new Bateau("Sunny", "Sauzando Sani-go", 435, 321, "Le Thousand Sunny est...", "Ce bateau a pour particularités ...", " ");
var result = obj1.ToString();
Assert.True("Bateau : Sunny False Sauzando Sani-go 435 321 Le Thousand Sunny est... Ce bateau a pour particularités ... " == result);
}
}
}

@ -31,19 +31,58 @@ namespace TestProject1
Assert.True(resultat, "L'image devrait avoir la valeur : baseimage.png");
}
[Fact]
public void ParametreCapitaine_GetSetMarcheCorrectement()
{
Equipage test = new Equipage("Équipage du Roux", "Akagami Kalzokudan", "East Blue", -1, 0, true, "L'équipage du Roux ...", "");
Personnage test2 = new Personnage("Luffy", 3000000000, "Luffy au Chapeau de Paille", 19, 1.74, "East Blue", "Monkey D. Luffy est...", "Le Roi des Pirates, ce sera moi !");
test.Capitaine=test2;
Assert.True(test.Capitaine==test2);
}
[Fact]
public void RetirerMembreViderMembre_FonctionnentCorrectement()
{
Personnage test = new Personnage("Luffy", 3000000000, "Luffy au Chapeau de Paille", 19, 1.74, "East Blue", "Monkey D. Luffy est...", "Le Roi des Pirates, ce sera moi !");
FruitDuDemon test2 = new FruitDuDemon("Fruit de la fumée", "Moku Moku No Mi", "Logia", 97, 48, "a", "b", "c", "d");
test.AjouterFruit(test2);
test.RetierFruit(test2);
Assert.DoesNotContain(test2, test.Fruit);
}
[Fact]
public void RetirerAllieViderAllie_FonctionnentCorrectement()
{
Equipage test = new Equipage("Équipage du Roux", "Akagami Kalzokudan", "East Blue", -1, 0, true, "L'équipage du Roux ...", "");
Equipage test2 = new Equipage("Équipage du Roux", "Akagami Kalzokudan", "East Blue", -1, 0, true, "L'équipage du Roux ...", "");
test.AjouterAllie(test2);
test.RetirerAllie(test2);
Assert.DoesNotContain(test2, test.Allie);
test.AjouterAllie(test2);
test.ViderAllie();
Assert.DoesNotContain(test2, test.Allie);
}
[Fact]
public void SurchargeEqualsEquipage_Equipage1EgaleEquipage2()
{
Equipage equiapge1= new Equipage("Équipage du Roux", "Akagami Kalzokudan", "East Blue", -1, 0, true, "L'équipage du Roux ...", "");
Equipage equiapge2 = new Equipage("Équipage du Roux", "Akagami Kalzokudan", "East Blue", -1, 0, true, "L'équipage du Roux ...", "");
Equipage equiapge3 = new Equipage("Équipage du poux", "Akagami Kalzokudan", "East Blue", -1, 0, true, "L'équipage du Roux ...", "");
Bateau bateau1 = new Bateau("Sunny", "Sauzando Sani-go", 435, 321, "Le Thousand Sunny est...", "Ce bateau a pour particularités ...", " ");
bool resultat = (equiapge1.Equals(equiapge2));
bool resultat2 = (equiapge1.Equals(equiapge3));
bool resultat3 = (equiapge1.Equals(bateau1));
Assert.True(resultat, "Les deux equipages devraient etre égaux car ils ont le meme nom");
Assert.False(resultat2, "Les deux equipages ne devraient pas etre égaux car ils n'ont pas le meme nom");
Assert.False(resultat3, "Les deux equipages ne devraient pas etre égaux car ils n'ont pas le meme type");
}
[Fact]
public void GetHashCode_EquipageWithSameProperties_ReturnsSameHashCode()
@ -56,5 +95,14 @@ namespace TestProject1
Assert.True(hashCode1 == hashCode2);
}
[Fact]
public void ToString_ReturnsCorrectStringRepresentation()
{
Equipage obj1 = new Equipage("Équipage du Roux", "Akagami Kalzokudan", "East Blue", -1, 0, true, "L'équipage du Roux ...", "");
var result = obj1.ToString();
Assert.True("Equipage : Équipage du Roux False Akagami Kalzokudan East Blue 0 0 True L'équipage du Roux ... baseimage.png" == result);
}
}
}

@ -13,7 +13,7 @@ namespace TestProject1
public void FDD_PremierChapEtPremierEpSuperieurOuEgalAZero_ReturnTrue()
{
FruitDuDemon test = new FruitDuDemon("Fruit de la fumée", "Moku Moku No Mi", "Logia", 97, 48, "", "", "");
bool resultat = (test.Image == "baseimage.png");
bool resultat = (test.PremierChap >0 && test.PremierEp >0);
Assert.True(resultat, "Les paramètre PremierChap et PremierEp doivent être supérieur ou égale à 0");
}
[Fact]
@ -36,9 +36,33 @@ namespace TestProject1
{
FruitDuDemon fruit1 = new FruitDuDemon("Fruit de la fumée", "Moku Moku No Mi", "Logia", 97, 48, "", "", "", "");
FruitDuDemon fruit2 = new FruitDuDemon("Fruit de la fumée", "Moku Moku No Mi", "Logia", 97, 48, "", "", "", "");
FruitDuDemon? fruit3 =null;
bool resultat = (fruit1.Equals(fruit2));
bool resultat2 = (fruit2.Equals(fruit3));
Assert.True(resultat, "Les deux fruits du démon devraient etre égaux car ils onts le meme nom");
Assert.False(resultat2, "Les deux fruits du démon devraient etre égaux car l'un dentre eux est null");
}
[Fact]
public void GetHashCode_FruitDuDemonWithSameProperties_ReturnsSameHashCode()
{
FruitDuDemon obj1 = new FruitDuDemon("Fruit de la fumée", "Moku Moku No Mi", "Logia", 97, 48, "", "", "", "");
FruitDuDemon obj2 = new FruitDuDemon("Fruit de la fumée", "Moku Moku No Mi", "Logia", 97, 48, "", "", "", "");
var hashCode1 = obj1.GetHashCode();
var hashCode2 = obj2.GetHashCode();
Assert.True(hashCode1 == hashCode2);
}
[Fact]
public void ToString_ReturnsCorrectStringRepresentation()
{
FruitDuDemon obj1 = new FruitDuDemon("Fruit de la fumée", "Moku Moku No Mi", "Logia", 97, 48, "a", "b", "c", "d");
var result = obj1.ToString();
Assert.True("FruitDuDemon : Fruit de la fumée False Moku Moku No Mi Logia 97 48 a b c d" == result);
}
}
}

@ -35,8 +35,34 @@ namespace TestProject1
{
Ile ile1 = new Ile("Dawn", "Don-to", "East Blue", 1, 4, "L'île de Dawn est ...", "Cette île est situé dans la mer d'East Blue près de ...", "");
Ile ile2 = new Ile("Dawn", "Don-to", "East Blue", 1, 4, "L'île de Dawn est ...", "Cette île est situé dans la mer d'East Blue près de ...", "");
FruitDuDemon fruit2 = new FruitDuDemon("Fruit de la fumée", "Moku Moku No Mi", "Logia", 97, 48, "", "", "", "");
Ile? ile3 = null;
bool resultat = (ile1.Equals(ile2));
bool resultat2 = (ile1.Equals(ile3));
bool resultat3 = (ile1.Equals(fruit2));
Assert.True(resultat, "Les iles devraient etre égales car ils onts le meme nom");
Assert.False(resultat2, "Les iles devraient etre égales car l'une d'entre elle est null");
Assert.False(resultat3, "Ce test devraient etre false car il comparent une ile et un fruitdudemon");
}
[Fact]
public void GetHashCode_IleWithSameProperties_ReturnsSameHashCode()
{
Ile obj1 = new Ile("Dawn", "Don-to", "East Blue", 1, 4, "L'île de Dawn est ...", "Cette île est situé dans la mer d'East Blue près de ...", "");
Ile obj2 = new Ile("Dawn", "Don-to", "East Blue", 1, 4, "L'île de Dawn est ...", "Cette île est situé dans la mer d'East Blue près de ...", "");
var hashCode1 = obj1.GetHashCode();
var hashCode2 = obj2.GetHashCode();
Assert.True(hashCode1 == hashCode2);
}
[Fact]
public void ToString_ReturnsCorrectStringRepresentation()
{
Ile obj1 = new Ile("Dawn", "Don-to", "East Blue", 1, 4, "L'île de Dawn est ...", "Cette île est situé dans la mer d'East Blue près de ...", "");
var result = obj1.ToString();
Assert.True("Ile : Dawn Don-to East Blue 1 4 L'île de Dawn est ... Cette île est situé dans la mer d'East Blue près de ... baseimage.png" == result);
}
}
}

@ -36,18 +36,48 @@ namespace TestProject1
{
Personnage test = new Personnage("Luffy", 3000000000, "Luffy au Chapeau de Paille", 19, -1, "East Blue", "Monkey D. Luffy est...", "Le Roi des Pirates, ce sera moi !", "luffy.png");
bool resultat = (test.Taille >= 0);
Assert.True(resultat, "La taille du personnage doit avoir une valeur positive");
}
[Fact]
public void Personnage_EquipageSetFonctionneCorrectement()
{
Personnage test = new Personnage("Luffy", -100, "Luffy au Chapeau de Paille", 19, 1.74, "East Blue", "Monkey D. Luffy est...", "Le Roi des Pirates, ce sera moi !", "luffy.png");
Equipage test2 = new Equipage("Équipage du Roux", "Akagami Kalzokudan", "East Blue", -1, 0, true, "L'équipage du Roux ...", "");
test.Equipage = test2;
bool resultat = (test.Equipage == test2);
Assert.True(resultat, "La valeur Equipage du personnage devrait etre égal à test2");
}
[Fact]
public void PersonnageRetirerFruit_FonctionneCorrectement()
{
Equipage test = new Equipage("Équipage du Roux", "Akagami Kalzokudan", "East Blue", -1, 0, true, "L'équipage du Roux ...", "");
Personnage test2 = new Personnage("Luffy", 3000000000, "Luffy au Chapeau de Paille", 19, 1.74, "East Blue", "Monkey D. Luffy est...", "Le Roi des Pirates, ce sera moi !");
test.AjouterMembre(test2);
test.RetirerMembre(test2);
Assert.DoesNotContain(test2, test.Membre);
test.AjouterMembre(test2);
test.ViderMembre();
Assert.DoesNotContain(test2, test.Membre);
}
[Fact]
public void SurchargeEqualsPersonnage_Personnage1EgalePersonnage2()
{
Personnage personnage1 = new Personnage("Luffy", 3000000000, "Luffy au Chapeau de Paille", 19, -1, "East Blue", "Monkey D. Luffy est...", "Le Roi des Pirates, ce sera moi !", "luffy.png");
Personnage personnage2 = new Personnage("Luffy", 3000000000, "Luffy au Chapeau de Paille", 19, -1, "East Blue", "Monkey D. Luffy est...", "Le Roi des Pirates, ce sera moi !", "luffy.png");
Personnage personnage3 = new Personnage("Lufty", 3000000000, "Luffy au Chapeau de Paille", 19, -1, "East Blue", "Monkey D. Luffy est...", "Le Roi des Pirates, ce sera moi !", "luffy.png");
Bateau bateau1 = new Bateau("Sunny", "Sauzando Sani-go", 435, 321, "Le Thousand Sunny est...", "Ce bateau a pour particularités ...", " ");
bool resultat = (personnage1.Equals(personnage1));
bool resultat2 = (personnage1.Equals(personnage3));
bool resultat3 = (personnage1.Equals(bateau1));
Assert.True(resultat, "Les personanges devraient etre égaux car ils ont le meme nom");
Assert.False(resultat2, "Les personanges ne devraient pas etre égaux car ils n'ont pas le meme nom");
Assert.False(resultat3, "Les deux objets ne devraient pas etre égaux car ils n'ont pas le meme type");
@ -63,5 +93,14 @@ namespace TestProject1
Assert.True(hashCode1 == hashCode2);
}
[Fact]
public void ToString_ReturnsCorrectStringRepresentation()
{
Personnage obj1 = new Personnage("Luffy", 3000000000, "Luffy au Chapeau de Paille", 19, -1, "East Blue", "Monkey D. Luffy est...", "Le Roi des Pirates, ce sera moi !", "luffy.png");
var result = obj1.ToString();
Assert.True("Personnage : Luffy False 3000000000 Luffy au Chapeau de Paille 19 East Blue Monkey D. Luffy est... Le Roi des Pirates, ce sera moi ! System.Collections.ObjectModel.ObservableCollection`1[Model.Classes.FruitDuDemon] luffy.png" == result);
}
}
}

Loading…
Cancel
Save