Merge pull request 'TESTUnitairesurtoutelapartieEntity #54' (#58) from rouf into master
continuous-integration/drone/push Build is passing Details

Reviewed-on: #58
pull/60/head
Victor Perez NGOUNOU 3 years ago
commit cd65ccd4aa

@ -0,0 +1,44 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace BowlingApp
{
public class Afficheur
{
public void AfficherMenu()
{
System.Console.WriteLine("Choisissez le mode de jeux :");
System.Console.WriteLine("1 - Solo ? ");
System.Console.WriteLine("2 - Indivuduelle?");
System.Console.WriteLine("3- Equipe?");
}
public static void AfficherErreur(String message)
{
Console.WriteLine($"erreur {message}");
}
public void AfficheNumFrame(int i)
{
Console.WriteLine($"Frame {i}");
}
public void InviteNom(string type)
{
Console.WriteLine($"veillez entrez le nom {type} ");
}
public void InviteNrb(string type)
{
Console.WriteLine($"veillez entrez le nombre de {type}");
}
public void InviteQuilleTombe(int i)
{
Console.WriteLine($"Entrez le nombre de quilles tombés du lancer {i}");
}
}
}

@ -1,4 +1,4 @@
<Project Sdk="Microsoft.NET.Sdk">
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Exe</OutputType>
@ -15,5 +15,7 @@
<ItemGroup>
<ProjectReference Include="..\BowlingEF\BowlingEF.csproj" />
<ProjectReference Include="..\BowlingLib\BowlingLib.csproj" />
<ProjectReference Include="..\BowlingMaping\BowlingMaping.csproj" />
<ProjectReference Include="..\Business\Business.csproj" />
</ItemGroup>
</Project>

@ -0,0 +1,46 @@
using BowlingEF.Context;
using BowlingLib.Model;
using BowlingMaping;
using Business;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace BowlingApp
{
public class JOuerEFtest
{
static void bobo(string[] args)
{
Joueur j = new Joueur("ps1");
Joueur j1 = new Joueur("ps2");
Joueur j3 = new Joueur("ps3");
IDataManager<Joueur> joueurDataManager = new JoueurDbDataManager();
IDataManager<Equipe> equipeDataManager = new EquipeDbDataManager();
IDataManager<Partie> partieDataManager = new PartieDbDataManager();
Manager manager = new Manager(equipeDataManager,partieDataManager, joueurDataManager);
Partie p = new Partie(j);
for(int i = 0; i < 10; i++)
{
Frame frame=new Frame(i+1);
Console.WriteLine("Entrer les quilles tombés");
frame.Lancer1 = new Lancer(int.Parse(Console.ReadLine()));
Console.WriteLine("Entrer les quilles tombés");
frame.Lancer2 = new Lancer(int.Parse(Console.ReadLine()));
p.AddFrame(frame);
}
manager.AddPartie(p);
}
}
}

@ -0,0 +1,109 @@
using BowlingLib.Model;
using BowlingMaping;
using Business;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace BowlingApp
{
public class Match
{
public static void JeuxEnEquipe(Saissiseur saissiseur,Afficheur afficheur)
{
afficheur.InviteNrb("Equipe");
int nbrE = saissiseur.CollecteNbr();
afficheur.InviteNrb("Joueur par Equipe");
int nbrJ = saissiseur.CollecteNbr();
List<Equipe> equipes = new List<Equipe>();
for (int i = 0; i < nbrE; i++)
{
afficheur.InviteNom($"Equipe {i+1}");//Recuperer le nom de l'equipe
string Nom = saissiseur.CollecteNom();
Equipe equipe = new Equipe(Nom);
for (int j = 0; j < nbrJ; j++)
{
Console.WriteLine($"Equipe {i + 1}");
afficheur.InviteNom($"Joueur {j + 1}"); //Recuperer le nom des joueur de chaque Equipe
string nomJoueur = saissiseur.CollecteNom();
Joueur joueur = new Joueur(nomJoueur);
equipe.AjouterJoueur(joueur);
}
equipes.Add(equipe);
}
for (int i = 0; i < equipes.Count; i++)
{
for (int j = 0; j < equipes[i].Joueurs.Count; j++)
{
Joueur joueur = equipes[i].Joueurs[j];
Partie partie = new Partie(joueur);
Manager manager = new Manager(new EquipeDbDataManager(), new PartieDbDataManager(), new JoueurDbDataManager());
manager.AddJoueur(joueur);
equipes.ForEach(item => manager.AddEquipe(item));
Lancer(partie, saissiseur, afficheur);
manager.AddPartie(partie);
}
}
}
public static void JeuIndividuel(Saissiseur saissiseur, Afficheur afficheur)
{
afficheur.InviteNrb("Joueur");
int nbrj = saissiseur.CollecteNbr();
List<Joueur> joueurs = new List<Joueur>();
for (int j = 0; j < nbrj; j++)
{
afficheur.InviteNom($"Joueur {j + 1}");
string nomJoueur = saissiseur.CollecteNom();
Joueur joueur = new Joueur(nomJoueur);
joueurs.Add(joueur);
}
for (int i = 0; i < joueurs.Count; i++)
{
Joueur joueur = joueurs[i];
Partie partie = new Partie(joueur);
Manager manager = new Manager(new EquipeDbDataManager(), new PartieDbDataManager(), new JoueurDbDataManager());
manager.AddJoueur(joueur);
joueurs.ForEach(item => manager.AddJoueur(item));
Lancer(partie, saissiseur, afficheur);
manager.AddPartie(partie);
}
}
public static void JeuSolo(Saissiseur saissiseur, Afficheur afficheur)
{
afficheur.InviteNom("Joueur");
string Nom = saissiseur.CollecteNom();
Joueur joueur = new Joueur(Nom);
Partie partie = new Partie(joueur);
Manager manager = new Manager(new EquipeDbDataManager(), new PartieDbDataManager(), new JoueurDbDataManager());
manager.AddJoueur(joueur);
Lancer(partie, saissiseur, afficheur);
manager.AddPartie(partie);
}
private static void Lancer(Partie partie,Saissiseur saissiseur,Afficheur afficheur)
{
for (int i = 0; i < 10; i++)
{
afficheur.AfficheNumFrame(i + 1);
Frame frame = new Frame(i + 1);
afficheur.InviteQuilleTombe(1);
frame.Lancer1 = new Lancer(saissiseur.CollectQuilleTomber());
afficheur.InviteQuilleTombe(2);
frame.Lancer2 = new Lancer(saissiseur.CollectQuilleTomber());
partie.AddFrame(frame);
}
}
}
}

@ -1,4 +1,8 @@
using System;
using BowlingApp;
using BowlingLib.Model;
using BowlingMaping;
using Business;
using System;
namespace HelloWorldApp
{
@ -6,7 +10,26 @@ namespace HelloWorldApp
{
static void Main(string[] args)
{
Console.WriteLine("Hello World!");
int choix=0;
while (choix <= 3)
{
Afficheur afficheur = new Afficheur();
Saissiseur saissiseur = new Saissiseur();
afficheur.AfficherMenu();
choix = saissiseur.CollecterReponseMenu();
switch (choix)
{
case 1:
Match.JeuSolo(saissiseur, afficheur);
break;
case 2:
Match.JeuIndividuel(saissiseur, afficheur);
break;
case 3:
Match.JeuxEnEquipe(saissiseur, afficheur);
break;
}
}
}
}
}

@ -0,0 +1,56 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace BowlingApp
{
public class Saissiseur
{
public int CollecterReponseMenu()
{
while (true)
{
try
{
int retour = int.Parse(Console.ReadLine());
return retour;
}
catch (Exception e)
{
Afficheur.AfficherErreur("de Saisie veuillez recommencer");
}
}
}
public string CollecteNom()
{
string nom = Console.ReadLine();
return nom;
}
public int CollecteNbr()
{
return CollectQuilleTomber();
}
public int CollectQuilleTomber()
{
while (true)
{
try
{
int nbr = int.Parse(Console.ReadLine());
return nbr;
}
catch (Exception e)
{
Afficheur.AfficherErreur("de Saisie veuillez recommencer");
}
}
}
}
}

@ -17,7 +17,7 @@ namespace BowlingEF.Context
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
{
optionsBuilder.UseSqlite("Data Source=bowling.db");
optionsBuilder.UseSqlite("Data Source=C:\\Users\\DELL\\BowlingScoreApp\\Sources\\BowlingApp\\bowling.db");
}
}

@ -97,8 +97,11 @@ namespace BowlingMaping
using (var context = new BowlingContext())
{
JoueurEntity entity = context.Joueurs?.Find(_joueur.Id);
entity.Pseudo = _joueur.Pseudo;
result = context.SaveChanges() == 1;
if (entity!=null)
{
entity.Pseudo = _joueur.Pseudo;
result = context.SaveChanges() == 1;
}
}
return result;
}

@ -35,11 +35,11 @@ namespace BowlingStub
public void Load()
{
for (int i = 0; i < nbrJ; i++)
for (int i = 0; i < nbrE; i++)
{
this.Add(new Equipe("Equipe " + i + 1));
for (int k = 0; k < nbrE; k++)
for (int k = 0; k < nbrJ; k++)
{
listEquipes.ElementAt(i).AjouterJoueur(new Joueur("Joueur " + i + 1 + "-" + k + 1));

@ -45,6 +45,16 @@ namespace Business
Equipes = new ReadOnlyCollection<Equipe>(equipes);
}
public Manager(IDataManager<Equipe> equipeDataManager, IDataManager<Partie> partieDataManager, IDataManager<Joueur> joueurManager)
{
this.equipeDataManager = equipeDataManager;
Equipes = new ReadOnlyCollection<Equipe>(equipes);
this.partieDataManager = partieDataManager;
Parties = new ReadOnlyCollection<Partie>(parties);
this.joueurDataManager = joueurManager;
Joueurs = new ReadOnlyCollection<Joueur>(joueurs);
}
/// <summary>
/// Ajoute un joueur à la liste des joueurs
/// </summary>

@ -17,7 +17,7 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Business", "Business\Busine
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "BowlingEF", "BowlingEF\BowlingEF.csproj", "{1E42224B-45E4-433C-9D20-0A61023790ED}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "BowlingMaping", "BowlingMaping\BowlingMaping.csproj", "{874DDEF3-1FDA-4ECE-826F-F67143823544}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "BowlingMaping", "BowlingMaping\BowlingMaping.csproj", "{874DDEF3-1FDA-4ECE-826F-F67143823544}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution

@ -0,0 +1,24 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net6.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
<IsPackable>false</IsPackable>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.1.0" />
<PackageReference Include="xunit" Version="2.4.1" />
<PackageReference Include="xunit.runner.visualstudio" Version="2.4.3">
<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>
</Project>

@ -0,0 +1,11 @@
namespace BowlingEFunitTest
{
public class UnitTest1
{
[Fact]
public void Test1()
{
}
}
}

@ -0,0 +1,12 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace BowlingEFunitTest
{
internal class unittestEfjoueur
{
}
}

@ -1,13 +0,0 @@
using System;
/// <summary>
///TEST EF POR LES JOUEURS
/// </summary>
public class testEFjoueur
{
public testEFjoueur()
{
}
}
Loading…
Cancel
Save