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 public interface IDataManager
{ {
IEnumerable<Bateau> GetBateaux(); IEnumerable<Bateau>? GetBateaux();
IEnumerable<Bestiaire> GetBestiaires(); IEnumerable<Bestiaire>? GetBestiaires();
IEnumerable<Equipage> GetEquipages(); IEnumerable<Equipage>? GetEquipages();
IEnumerable<FruitDuDemon> GetFruits(); IEnumerable<FruitDuDemon>? GetFruits();
IEnumerable<Ile> GetIles(); IEnumerable<Ile>? GetIles();
IEnumerable<Personnage> GetPersonnages(); IEnumerable<Personnage>? GetPersonnages();
void SetBateau(List<Bateau> listeBateaux); void SetBateau(List<Bateau> listeBateaux);
void SetBestiaire(List<Bestiaire> listeBest); void SetBestiaire(List<Bestiaire> listeBest);
void SetEquipage(List<Equipage> listeEquip); void SetEquipage(List<Equipage> listeEquip);

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

@ -30,27 +30,39 @@ namespace Model.Serializer
{ {
if (!File.Exists(Path.Combine(Chemin, "./personnage.xml"))) 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"))) 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"))) 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"))) 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"))) 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"))) 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>)); var serializer = new DataContractSerializer(typeof(List<Bateau>));
string xmlFile = "bateau.xml"; string xmlFile = "bateau.xml";
Directory.SetCurrentDirectory(Path.Combine(Chemin, "./")); Directory.SetCurrentDirectory(Path.Combine(Chemin, "./"));
using (Stream s = File.OpenRead(xmlFile)) using (Stream s = File.OpenRead(xmlFile))
{ {
listeBateau = serializer.ReadObject(s) as List<Bateau>; return serializer.ReadObject(s) as List<Bateau>;
} }
return listeBateau;
} }
public IEnumerable<Bestiaire> GetBestiaires() public IEnumerable<Bestiaire>? GetBestiaires()
{ {
List<Bestiaire>? listeBest = new List<Bestiaire>();
var serializer = new DataContractSerializer(typeof(List<Bestiaire>)); var serializer = new DataContractSerializer(typeof(List<Bestiaire>));
string xmlFile = "bestiaire.xml"; string xmlFile = "bestiaire.xml";
Directory.SetCurrentDirectory(Path.Combine(Chemin, "./")); Directory.SetCurrentDirectory(Path.Combine(Chemin, "./"));
using (Stream s = File.OpenRead(xmlFile)) 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() public IEnumerable<Equipage>? GetEquipages()
{ {
List<Equipage>? listeEquip = new List<Equipage>();
var serializer = new DataContractSerializer(typeof(List<Equipage>)); var serializer = new DataContractSerializer(typeof(List<Equipage>));
string xmlFile = "equipage.xml"; string xmlFile = "equipage.xml";
Directory.SetCurrentDirectory(Path.Combine(Chemin, "./")); Directory.SetCurrentDirectory(Path.Combine(Chemin, "./"));
using (Stream s = File.OpenRead(xmlFile)) 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>)); var serializer = new DataContractSerializer(typeof(List<FruitDuDemon>));
string xmlFile = "fruitdudemon.xml"; string xmlFile = "fruitdudemon.xml";
Directory.SetCurrentDirectory(Path.Combine(Chemin, "./")); Directory.SetCurrentDirectory(Path.Combine(Chemin, "./"));
using (Stream s = File.OpenRead(xmlFile)) 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>)); var serializer = new DataContractSerializer(typeof(List<Ile>));
string xmlFile = "ile.xml"; string xmlFile = "ile.xml";
Directory.SetCurrentDirectory(Path.Combine(Chemin, "./")); Directory.SetCurrentDirectory(Path.Combine(Chemin, "./"));
using (Stream s = File.OpenRead(xmlFile)) using (Stream s = File.OpenRead(xmlFile))
{ {
listeIle = serializer.ReadObject(s) as List<Ile>; return serializer.ReadObject(s) as List<Ile>;
} }
return listeIle;
} }
public IEnumerable<Personnage> GetPersonnages() public IEnumerable<Personnage>? GetPersonnages()
{ {
List<Personnage>? listePerso = new List<Personnage>();
var serializer = new DataContractSerializer(typeof(List<Personnage>)); var serializer = new DataContractSerializer(typeof(List<Personnage>));
string xmlFile = "personnage.xml"; string xmlFile = "personnage.xml";
Directory.SetCurrentDirectory(Path.Combine(Chemin, "./")); Directory.SetCurrentDirectory(Path.Combine(Chemin, "./"));
using (Stream s = File.OpenRead(xmlFile)) 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(); return StubPersonnage.RecupererPersonnage();
} }
public IEnumerable<FruitDuDemon> GetFruits() public IEnumerable<FruitDuDemon>? GetFruits()
{ {
return StubFruitDuDemon.RecupererFruit(); return StubFruitDuDemon.RecupererFruit();
} }
public IEnumerable<Equipage> GetEquipages() public IEnumerable<Equipage>? GetEquipages()
{ {
StubEquipage.ChargerEquipage(StubPersonnage.RecupererPersonnage().ToList()); StubEquipage.ChargerEquipage(StubPersonnage.RecupererPersonnage().ToList());
return StubEquipage.RecupererEquipage(); return StubEquipage.RecupererEquipage();
} }
public IEnumerable<Bateau> GetBateaux() public IEnumerable<Bateau>? GetBateaux()
{ {
return StubBateau.RecupererBateau(); return StubBateau.RecupererBateau();
} }
public IEnumerable<Bestiaire> GetBestiaires() public IEnumerable<Bestiaire>? GetBestiaires()
{ {
return StubBestiaire.RecupererBestiaire(); return StubBestiaire.RecupererBestiaire();
} }
public IEnumerable<Ile> GetIles() public IEnumerable<Ile>? GetIles()
{ {
return StubIle.RecupererIle(); return StubIle.RecupererIle();
} }

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

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

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

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

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

@ -478,6 +478,12 @@
</VisualStateGroupList> </VisualStateGroupList>
</Setter> </Setter>
</Style> </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"> <Style x:Key="frameEquip" TargetType="Frame">
<Setter Property="VisualStateManager.VisualStateGroups"> <Setter Property="VisualStateManager.VisualStateGroups">
<VisualStateGroupList> <VisualStateGroupList>

@ -4,7 +4,6 @@ using Model.Serializer;
using Model.Managers; using Model.Managers;
using System.Collections.ObjectModel; using System.Collections.ObjectModel;
// Tests fonctionnels : // Tests fonctionnels :
Manager manager = new Manager(new XML_Serializer()); 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 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 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 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.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"); Assert.True(resultat, "L'image devrait avoir la valeur : baseimage.png");
} }
[Fact] [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() public void SurchargeEqualsEquipage_Equipage1EgaleEquipage2()
{ {
Equipage equiapge1= new Equipage("Équipage du Roux", "Akagami Kalzokudan", "East Blue", -1, 0, true, "L'équipage du Roux ...", ""); 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 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 ...", ""); 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 ...", " "); 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 resultat = (equiapge1.Equals(equiapge2));
bool resultat2 = (equiapge1.Equals(equiapge3)); bool resultat2 = (equiapge1.Equals(equiapge3));
bool resultat3 = (equiapge1.Equals(bateau1)); bool resultat3 = (equiapge1.Equals(bateau1));
Assert.True(resultat, "Les deux equipages devraient etre égaux car ils ont le meme nom"); 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(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"); Assert.False(resultat3, "Les deux equipages ne devraient pas etre égaux car ils n'ont pas le meme type");
} }
[Fact] [Fact]
public void GetHashCode_EquipageWithSameProperties_ReturnsSameHashCode() public void GetHashCode_EquipageWithSameProperties_ReturnsSameHashCode()
@ -56,5 +95,14 @@ namespace TestProject1
Assert.True(hashCode1 == hashCode2); 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() public void FDD_PremierChapEtPremierEpSuperieurOuEgalAZero_ReturnTrue()
{ {
FruitDuDemon test = new FruitDuDemon("Fruit de la fumée", "Moku Moku No Mi", "Logia", 97, 48, "", "", ""); 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"); Assert.True(resultat, "Les paramètre PremierChap et PremierEp doivent être supérieur ou égale à 0");
} }
[Fact] [Fact]
@ -36,9 +36,33 @@ namespace TestProject1
{ {
FruitDuDemon fruit1 = new FruitDuDemon("Fruit de la fumée", "Moku Moku No Mi", "Logia", 97, 48, "", "", "", ""); 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 fruit2 = new FruitDuDemon("Fruit de la fumée", "Moku Moku No Mi", "Logia", 97, 48, "", "", "", "");
FruitDuDemon? fruit3 =null;
bool resultat = (fruit1.Equals(fruit2)); 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.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 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 ...", ""); 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 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.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"); 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); bool resultat = (test.Taille >= 0);
Assert.True(resultat, "La taille du personnage doit avoir une valeur positive"); Assert.True(resultat, "La taille du personnage doit avoir une valeur positive");
} }
[Fact] [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() 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 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 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"); 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 ...", " "); 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 resultat = (personnage1.Equals(personnage1));
bool resultat2 = (personnage1.Equals(personnage3)); bool resultat2 = (personnage1.Equals(personnage3));
bool resultat3 = (personnage1.Equals(bateau1)); bool resultat3 = (personnage1.Equals(bateau1));
Assert.True(resultat, "Les personanges devraient etre égaux car ils ont le meme nom"); 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(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"); 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); 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