Manager [#24]
continuous-integration/drone/push Build is passing Details

pull/25/head
victor perez ngounou 3 years ago
parent 6c20c23c0c
commit 0349b41fcd

@ -0,0 +1,18 @@
using BowlingLib.Model;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace BowlingLib.Interface
{
public interface IDataManager<Data>
{
void Add(Data data);
void Delete(Data data);
void Update(Data data);
IEnumerable<Data> GetAll();
IEnumerable<Data> GetAll(int n, int j);
}
}

@ -23,6 +23,9 @@ namespace BowlingLib.Model
get { return nom; }
set { nom = value; }
}
public object Id { get; set; }
private int numero;
public Equipe(string nom)

@ -13,19 +13,22 @@ namespace BowlingLib.Model
public Joueur(string pseudo)
{
this.Pseudo = pseudo;
if (pseudo == null || pseudo == "" || pseudo.Length < 3)
{
throw new ArgumentException("Le pseudo ne peut pas être vide");
}
}
public string Pseudo
{
get { return pseudo; }
private set { pseudo = value; }
set
{
pseudo = value;
if (pseudo == null || pseudo == "" || pseudo.Length < 3)
{
throw new ArgumentException("Le pseudo ne peut pas être vide");
}
}
}
public int Id { get; set; }
}
}

@ -0,0 +1,147 @@
using BowlingLib.Interface;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace BowlingLib.Model
{
public class Manager
{
public IDataManager<Joueur> joueurManager { get; private set; }
public IDataManager<Partie> partieManager { get; private set; }
public IDataManager<Equipe> equipeManager { get; private set; }
public Manager(IDataManager<Joueur> joueurManager)
{
this.joueurManager = joueurManager;
}
public Manager(IDataManager<Partie> partieManager)
{
this.partieManager = partieManager;
}
/// <summary>
/// Ajoute un joueur à la liste des joueurs
/// </summary>
/// <param name="equipeManager"></param>
public Manager(IDataManager<Equipe> equipeManager)
{
this.equipeManager = equipeManager;
}
/// <summary>
/// Ajoute un joueur à la liste des joueurs
/// </summary>
/// <param name="joueur"></param>
public void AddJoueur(Joueur joueur)
{
joueurManager.Add(joueur);
}
/// <summary>
/// Ajoute une partie à la liste des parties
/// </summary>
/// <param name="partie"></param>
public void AddPartie(Partie partie)
{
partieManager.Add(partie);
}
/// <summary>
/// Ajoute une équipe à la liste des équipes
/// </summary>
/// <param name="equipe"></param>
public void AddEquipe(Equipe equipe)
{
equipeManager.Add(equipe);
}
/// <summary>
/// Retourne la liste des joueurs
/// </summary>
/// <param name="joueur"></param>
public void DeleteJoueur(Joueur joueur)
{
joueurManager.Delete(joueur);
}
/// <summary>
/// Supprime une partie
/// </summary>
/// <param name="partie"></param>
public void DeletePartie(Partie partie)
{
partieManager.Delete(partie);
}
/// <summary>
/// Supprime une équipe
/// </summary>
/// <param name="equipe"></param>
public void DeleteEquipe(Equipe equipe)
{
equipeManager.Delete(equipe);
}
/// <summary>
/// Retourne la liste des joueurs
/// </summary>
/// <param name="joueur"></param>
public void UpdateJoueur(Joueur joueur)
{
joueurManager.Update(joueur);
}
/// <summary>
/// Met à jour une partie
/// </summary>
/// <param name="partie"></param>
public void UpdatePartie(Partie partie)
{
partieManager.Update(partie);
}
/// <summary>
/// Met à jour une équipe
/// </summary>
/// <param name="equipe"></param>
public void UpdateEquipe(Equipe equipe)
{
equipeManager.Update(equipe);
}
/// <summary>
/// Retourne la liste des joueurs
/// </summary>
/// <returns></returns>
public IEnumerable<Joueur> GetAllJoueur()
{
return joueurManager.GetAll();
}
/// <summary>
/// Retourne les dernières parties du joueur
/// </summary>
/// <returns></returns>
public IEnumerable<Partie> GetAllPartie()
{
return partieManager.GetAll();
}
/// <summary>
/// Retourne les Equipe d'une partie
/// </summary>
/// <returns></returns>
public IEnumerable<Equipe> GetAllEquipe()
{
return equipeManager.GetAll();
}
}
}

@ -11,6 +11,7 @@ namespace BowlingLib.Model
{
//public ReadOnlyCollection<Frame> Frames;
public Joueur Joueur { get; private set; }
public object Id { get; set; }
public List<Frame> Frames;

@ -1,26 +1,49 @@
using BowlingLib.Model;
using BowlingLib.Interface;
using System;
public class StubEquipe
public class StubEquipe:IDataManager<Equipe>
{
private List<Equipe> listEquipes = new List<Equipe>();
public StubEquipe()
{
}
public List<Equipe> ListEquipes(int n = 10, int j = 2)
{
for (int i = 0; i < n; i++)
{
listEquipes.Add(new Equipe("Equipe " + i + 1));
for(int k = 0; k < j; k++)
private List<Equipe> listEquipes = new List<Equipe>();
public StubEquipe()
{
}
public void Add(Equipe data)
{
listEquipes.Add(data);
}
public void Delete(Equipe data)
{
listEquipes.Remove(data);
}
public IEnumerable<Equipe> GetAll(int n = 10, int j = 2)
{
for (int i = 0; i < n; i++)
{
this.Add(new Equipe("Equipe " + i + 1));
for (int k = 0; k < j; k++)
{
listEquipes.ElementAt(i).AjouterJoueur(new Joueur("Joueur " + i + 1 + "-" + k + 1));
listEquipes.ElementAt(i).AjouterJoueur(new Joueur("Joueur " + i + 1 + "-" + k + 1));
}
}
return listEquipes;
}
}
}
public IEnumerable<Equipe> GetAll()
{
return listEquipes;
}
//mise à jour d'une équipe
public void Update(Equipe data)
{
int index = listEquipes.FindIndex(x => x.Id == data.Id);
listEquipes[index] = data;
}
}

@ -1,20 +1,41 @@
using BowlingLib.Model;
using BowlingLib.Interface;
using System;
public class StubJoueur
public class StubJoueur : IDataManager<Joueur>
{
private List<Joueur> listJoueurs = new List<Joueur>();
public StubJoueur()
{
}
private List<Joueur> listJoueurs = new List<Joueur>();
public void Add(Joueur data)
{
listJoueurs.Add(data);
}
public void Delete(Joueur data)
{
listJoueurs.Remove(data);
}
public List<Joueur> ListJoueurs(int n = 10)
public IEnumerable<Joueur> GetAll()
{
for (int i = 0; i < n; i++)
return listJoueurs;
}
public IEnumerable<Joueur> GetAll(int n=10, int j=0)
{
for (int i = 0; i < n; i++)
{
listJoueurs.Add(new Joueur("Joueur " + i + 1));
}
Add(new Joueur("Joueur " + i + 1));
}
return listJoueurs;
}
public void Update(Joueur data)
{
int index = listJoueurs.FindIndex(x => x.Id == data.Id);
listJoueurs[index] = data;
}
}

@ -1,18 +1,28 @@
using BowlingLib.Model;
using BowlingLib.Interface;
namespace BowlingStub
{
public class StubPartie
public class StubPartie:IDataManager<Partie>
{
List<Partie> listParties = new List<Partie>();
public StubPartie()
private List<Partie> listParties = new List<Partie>();
public void Add(Partie data)
{
listParties.Add(data);
}
public void Delete(Partie data)
{
listParties.Remove(data);
}
public IEnumerable<Partie> GetAll()
{
return listParties;
}
//Fonction permettant de créer une partie pour chaque joueur
public List<Partie> ListParties(int n = 10)
public IEnumerable<Partie> GetAll(int n=10, int j=0)
{
for (int i = 0; i < n; i++)
{
@ -20,9 +30,12 @@ namespace BowlingStub
}
return listParties;
}
public void Update(Partie data)
{
int index = listParties.FindIndex(x => x.Id == data.Id);
listParties[index] = data;
}
}
}

@ -0,0 +1,62 @@
using BowlingLib.Model;
using BowlingStub;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Xunit;
namespace BowlingAppUnitTest
{
public class UTManager
{
//test de la méthode AddJoueur using MemberData
[Fact]
public void TestAddJoueur() //Test de la méthode AddJoueur
{
//Arrange
Joueur joueur = new Joueur("Pierre");
Manager manager = new Manager(new StubJoueur());
//Act
manager.AddJoueur(joueur);
//Assert
Assert.Single(manager.joueurManager.GetAll());
}
//Test de la méthode AddPartie
[Fact]
public void TestAddPartie() //Test de la méthode AddPartie
{
//Arrange
Partie partie = new Partie(new Joueur("Pierre"));
Manager manager = new Manager(new StubPartie());
//Act
manager.AddPartie(partie);
//Assert
Assert.Single(manager.partieManager.GetAll());
}
//Test de la méthode AddEquipe
//[Fact]
//public void TestAddEquipe() //Test de la méthode AddEquipe
//{
// //Arrange
// Equipe equipe = new Equipe("Equipe 1");
// Manager manager = new Manager(new StubEquipe());
// //Act
// manager.AddEquipe(equipe);
// //Assert
// Assert.Single(manager.equipeManager.GetAll());
//}
}
}

@ -17,8 +17,8 @@ namespace BowlingAppUnitTest
{
//Arrange
StubPartie stubPartie = new StubPartie();
List<Partie> listParties = stubPartie.ListParties();
Partie partie = listParties[0];
IEnumerable<Partie> listParties = stubPartie.GetAll(1);
Partie partie = listParties.ElementAt(0);
partie.AddFrame(new Frame(1));
partie.AddFrame(new Frame(2));
partie.AddFrame(new Frame(3));
@ -51,8 +51,8 @@ namespace BowlingAppUnitTest
{
//Arrange
StubPartie stubPartie = new StubPartie();
List<Partie> listParties = stubPartie.ListParties();
Partie partie = listParties[0];
IEnumerable<Partie> listParties = stubPartie.GetAll(1);
Partie partie = listParties.ElementAt(0);
partie.AddFrame(new Frame(1));
partie.AddFrame(new Frame(2));
partie.AddFrame(new Frame(3));
@ -90,8 +90,8 @@ namespace BowlingAppUnitTest
{
//Arrange
StubPartie stubPartie = new StubPartie();
List<Partie> listParties = stubPartie.ListParties();
Partie partie = listParties[0];
IEnumerable<Partie> listParties = stubPartie.GetAll(1);
Partie partie = listParties.ElementAt(0);
partie.AddFrame(new Frame(1));
partie.AddFrame(new Frame(2));
partie.AddFrame(new Frame(3));
@ -135,8 +135,8 @@ namespace BowlingAppUnitTest
{
//Arrange
StubPartie stubPartie = new StubPartie();
List<Partie> listParties = stubPartie.ListParties();
Partie partie = listParties[0];
IEnumerable<Partie> listParties = stubPartie.GetAll(1);
Partie partie = listParties.ElementAt(0);
partie.AddFrame(new Frame(1));
partie.AddFrame(new Frame(2));
partie.AddFrame(new Frame(3));

@ -1,5 +1,6 @@
using System;
using System.Collections.Generic;
using System.Linq;
using BowlingLib.Model;
using Xunit;
@ -75,7 +76,33 @@ namespace Test.BowlingAppUnitTest
public void TestJoueurStub()
{
StubJoueur stub = new StubJoueur();
Assert.Equal(10, stub.ListJoueurs(10).Count);
Assert.Equal(10, stub.GetAll(10).Count());
}
//tester la methode remove
[Fact]
public void TestRemove()
{
StubJoueur stub = new StubJoueur();
stub.Add(j);
stub.Delete(j);
//Compter le nombre de joueur dans un objet IEnumerable
Assert.Equal(0, stub.GetAll().Count());
}
//tester la methode update avec les members Data
[Fact]
public void TestUpdate()
{
StubJoueur stub = new StubJoueur();
Joueur j = new Joueur("Paul");
stub.Add(j);
j.Pseudo = "Augustin";
stub.Update(j);
Assert.Equal("Augustin", stub.GetAll().First().Pseudo);
}
}
}

Loading…
Cancel
Save