use of domaine.Enchere in project Synthese_2BIN by TheYoungSensei.
the class Test method main.
public static void main(String[] args) {
Utilisateur vendeur = new Utilisateur("Leconte", "Emmeline", "emmeline.leconte@ipl.be");
Utilisateur vendeur2 = new Utilisateur("Dupont", "Annick", "annick.dupont@ipl.be");
Utilisateur acheteur = new Utilisateur("Damas", "Christophe", "Christophe.Damas@ipl.be");
Utilisateur acheteur2 = new Utilisateur("Frank", "Bernard", "Bernard.Frank@ipl.be");
Objet objetVendu1 = new Objet("biblioth�que", vendeur);
Enchere enchere1_1 = new Enchere(50, LocalDateTime.of(2015, 2, 7, 13, 48), objetVendu1, acheteur);
Enchere enchere1_2 = new Enchere(75, LocalDateTime.of(2015, 2, 8, 13, 48), objetVendu1, acheteur2);
try {
new Enchere(100, LocalDateTime.of(2015, 2, 8, 13, 48), objetVendu1, acheteur);
} catch (IllegalArgumentException e1) {
// c'est normal.
}
List<Enchere> encheres = objetVendu1.encheres(LocalDateTime.of(2015, 2, 8, 13, 48));
for (Enchere e : encheres) {
System.out.println("Encherisseur : " + e.getEnchereur().getPrenom() + " " + e.getEnchereur().getNom());
System.out.println("Montant de l'ench�re : " + e.getPrix());
}
Objet objetVendu2 = new Objet("bureau", vendeur);
acheteur.ajouterObjetAchete(objetVendu1);
Enchere enchere2 = new Enchere(150, LocalDateTime.of(2015, 2, 8, 13, 50), objetVendu2, acheteur);
acheteur.ajouterObjetAchete(objetVendu2);
Objet objetVendu3 = new Objet("table", vendeur2);
Enchere enchere3 = new Enchere(100, LocalDateTime.of(2015, 2, 9, 13, 50), objetVendu3, acheteur);
acheteur.ajouterObjetAchete(objetVendu3);
SortedSet<Objet> objAch = acheteur.objetsAchetes(vendeur);
for (Objet o : objAch) {
System.out.println(o.getNum() + " " + o.getDescription() + " " + o.prixDeVente());
}
}
use of domaine.Enchere in project Synthese_2BIN by TheYoungSensei.
the class GestionEncheres method accepter.
public boolean accepter(Objet objet) throws ObjetInexistantException, EnchereInexistanteException {
Objet oSt = rechercherObjet(objet);
Enchere enchere = oSt.meilleureEnchere();
if (enchere == null)
throw new EnchereInexistanteException();
Utilisateur encherisseur = utilisateurs.get(enchere.getEncherisseur().getNum());
if (!encherisseur.ajouterObjetAchete(oSt))
return false;
objetsEnVente.remove(oSt);
objetsVendus.add(oSt);
return true;
}
use of domaine.Enchere in project Synthese_2BIN by TheYoungSensei.
the class GestionEncheres method encherir.
public Enchere encherir(Objet objet, Utilisateur encherisseur, double montant, LocalDateTime date) throws ObjetInexistantException, UtilisateurInexistantException {
checkPositive(montant);
checkObject(date);
Utilisateur uSt = rechercherUtilisateur(encherisseur);
Objet oSt = rechercherObjet(objet);
try {
LocalDate dateEnchere = date.toLocalDate();
SortedSet<Enchere> encheresDuJour = encheres.get(dateEnchere);
if (encheresDuJour != null) {
// s'ajoutera pas dans la map à cause du equals/hashCode
for (Enchere e : encheresDuJour) {
if (e.getLocalDateTime().equals(date) && e.getEncherisseur().equals(uSt))
return null;
}
}
Enchere enchere = new Enchere(oSt, date, montant, uSt);
if (encheresDuJour == null) {
encheresDuJour = new TreeSet<>(comp);
encheres.put(dateEnchere, encheresDuJour);
}
encheresDuJour.add(enchere);
// enchere immuable
return enchere;
} catch (IllegalArgumentException e) {
// Exception lancée par le constructeur d'enchère
return null;
}
}
use of domaine.Enchere in project Synthese_2BIN by TheYoungSensei.
the class TestEnchere method main.
public static void main(String[] args) throws UtilisateurInexistantException, ObjetInexistantException, EnchereInexistanteException {
GestionEncheres instance = GestionEncheres.getInstance();
Utilisateur user1 = instance.inscrire("Leconte", "Emmeline", "emmeline.leconte@ipl.be");
instance.inscrire("Dupont", "Annick", "annick.dupont@ipl.be");
Utilisateur user2 = instance.inscrire("Damas", "Christophe", "Christophe.Damas@ipl.be");
Utilisateur user3 = instance.inscrire("Frank", "Bernard", "Bernard.Frank@ipl.be");
Objet ob1 = instance.mettreEnVente("bibliothèque", user1);
Enchere ench1 = instance.encherir(ob1, user2, 50, LocalDateTime.of(2015, 2, 7, 13, 48));
System.out.println(ench1.getObjet().ajouterEnchere(new Enchere(ench1.getObjet(), LocalDateTime.of(2015, 2, 8, 13, 48), 150, user3)) + " (TRUE attendu)");
System.out.println(ench1.getObjet().encheres().size() + " devrait être 1");
instance.encherir(ob1, user3, 200, LocalDateTime.of(2015, 2, 9, 13, 48));
Enchere en = instance.encherir(ob1, user2, 200, LocalDateTime.of(2015, 2, 9, 13, 50));
if (en != null)
System.out.println("KO car en doit etre NULL car en même montant");
en = instance.encherir(ob1, user2, 250, LocalDateTime.of(2015, 2, 9, 13, 48));
if (en != null)
System.out.println("KO car en doit etre NULL car en même temps");
List<Enchere> encheres = instance.listerEncheresDUnObjet(ob1);
for (Enchere e : encheres) {
System.out.print("Encherisseur : " + e.getEncherisseur().getPrenom() + " " + e.getEncherisseur().getNom());
System.out.println(" Montant de l'enchère : " + e.getMontant());
}
Objet ob2 = instance.mettreEnVente("bureau", user1);
instance.encherir(ob2, user2, 150, LocalDateTime.of(2015, 2, 8, 13, 50));
System.out.println(instance.accepter(ob2) + " = TRUE car objet vendu");
Objet ob3 = instance.mettreEnVente("table", user1);
instance.encherir(ob3, user2, 100, LocalDateTime.of(2015, 2, 9, 13, 50));
System.out.println(instance.accepter(ob3) + " = TRUE car objet vendu");
System.out.println(instance.fournirObjetsAchetes(user2).size() + " devrait etre 2");
}
use of domaine.Enchere in project Synthese_2BIN by TheYoungSensei.
the class GestionEncheresTest method testMettreEnVente2.
@Test
public void testMettreEnVente2() throws UtilisateurInexistantException, ObjetInexistantException {
Enchere e2 = new Enchere(o2, LocalDateTime.of(2017, 3, 15, 12, 25), 200, u3);
assertFalse(instance.listerEncheresDUnObjet(o2).contains(e2));
}
Aggregations