I have a problem with the result of this test, with Forme::prochainId()
:
TEST_CASE("Compteur", "[Forme]") {
// Pour être correct, ce test doit etre le premier sur Forme
REQUIRE(0 == Forme::prochainId());
Forme f1;
REQUIRE(0 == f1.getId());
REQUIRE(1 == Forme::prochainId());
// Verification que la valeur n'est pas decrementee accidentellement.
Forme *p = new Forme;
REQUIRE(1 == p->getId());
delete p;
REQUIRE(2 == Forme::prochainId());
}
This is the class Form and inside you can take a look at the prochainId() method:
#include "Forme.hpp"
int Forme::id = -1;
Forme::Forme(){
id = id + 1;
std::cout<<"COUCOU, je suis le constructeur de la classe Forme"<<std::endl;
}
Forme::Forme(Point p , COULEURS c){
point = p;
couleur = c;
}
Point & Forme::getPoint() {
return point;
}
COULEURS & Forme::getCouleur(){
return couleur;
}
void Forme::setCouleur(COULEURS c){
couleur = c;
}
void Forme::setX(int x){
point.setX(x);
}
void Forme::setY(int y){
point.setY(y);
}
int& Forme::prochainId(){
id = id + 1;
return id;
}
int& Forme::getId(){
return id;
}
The erros is as in the picture :
How should I declare the prochainId() method so the test can work?
Thank you!
Aucun commentaire:
Enregistrer un commentaire