You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Ohara_MAUI/Sources/TestProject1/TestManager.cs

122 lines
3.9 KiB

using Model.Classes;
using Model.Managers;
using Model.Serializer;
using Model.Stub;
using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace TestProject1
{
public class TestManager
{
public Manager manager = new Manager(new StubManager());
[Fact]
public void Constructor_InitializesCollections()
{
Assert.NotNull(manager.Bateaux);
Assert.NotNull(manager.Personnages);
Assert.NotNull(manager.Fruits);
Assert.NotNull(manager.Iles);
Assert.NotNull(manager.Bestiaire);
Assert.NotNull(manager.Equipages);
}
[Fact]
public void FiltrerFDD_ReturnsFilteredFruits()
{
// Arrange
var type = "Paramecia";
var fruits = new List<FruitDuDemon>
{
new FruitDuDemon("fruit1", "", "Paramecia", 0, 0,"","",""),
new FruitDuDemon("fruit2", "", "Logia", 0, 0,"","",""),
new FruitDuDemon("fruit3", "", "Zoan", 0, 0,"","",""),
};
manager.Fruits = new ObservableCollection<FruitDuDemon>(fruits);
// Act
var result = manager.FiltrerFDD(type);
// Assert
Assert.True(1== result.Count);
Assert.True("Paramecia"== result[0].Type);
}
[Fact]
public void FiltrerBateau_ReturnsMatchingBateaux()
{
var bateau1 = new Bateau("bateau1", "", 0, 0, "", "");
var bateau2 = new Bateau("bateau1", "", 0, 0, "", "");
var bateau3 = new Bateau("bateau", "", 0, 0, "", "");
bateau1.Affiliation = new Equipage("Mugiwara", "","",0,0,true,"");
bateau2.Affiliation = new Equipage("Barbe noire", "", "", 0, 0, true, "");
bateau3.Affiliation = new Equipage("Barbe blanche", "", "", 0, 0, true, "");
var bateaux = new List<Bateau> { bateau1,bateau2 ,bateau3};
manager.Bateaux = new ObservableCollection<Bateau>(bateaux);
var result = manager.FiltrerBateau("Mugiwara");
Assert.True(1 == result.Count);
Assert.True("Mugiwara" == result[0].Affiliation.Nom);
}
[Fact]
public void FiltrerIle_ReturnsMatchingIles()
{
var iles = new List<Ile> {
new Ile("ile1","","East Blue",0,0,"",""),
new Ile("ile2","","Grand Line",0,0,"",""),
new Ile("ile3","","West Blue",0,0,"",""),
};
manager.Iles = new ObservableCollection<Ile>(iles);
var result = manager.FiltrerIle("East Blue");
Assert.True(1 == result.Count);
Assert.True("East Blue" == result[0].Region);
}
[Fact]
public void RechercheObjetOhara_ReturnsFilteredList()
{
// Arrange
var text = "abc";
var obj1 = new ObjetOhara("abcd");
var obj2 = new ObjetOhara("bcde");
var obj3 = new ObjetOhara("defg");
var liste = new List<ObjetOhara> { obj1, obj2, obj3 };
// Act
var result = manager.RechercheObjetOhara(text, liste);
// Assert
Assert.True(1==result.Count);
Assert.Contains(obj1, result);
Assert.True(!result.Contains(obj3));
}
[Fact]
public void GetFavoris_ReturnsFavoritedObjects()
{
var obj1 =manager.Fruits.First();
var obj2 = manager.Equipages.First();
manager.ModifierFavFDD(obj1, true);
var result = manager.GetFavoris();
Assert.True(1==result.Count);
Assert.Contains(obj1, result);
Assert.False(result.Contains(obj2));
}
}
}