IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C++ Discussion :

CPPUnit test en 3D


Sujet :

C++

  1. #1
    Membre du Club
    Inscrit en
    Mai 2008
    Messages
    112
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 112
    Points : 44
    Points
    44
    Par défaut CPPUnit test en 3D
    Salut, chers developpeurs!
    Je viens à vous pour essayer d'avoir une solution à mon problème.
    En fait je suis en train de faire des Unittest en 3D.
    Voici en fait la partie de mon code qui me fait probleme:

    // La fonction à tester
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    void enlarge(EmptiableMinMaxBox3D& boxToEnlarge, const std::vector<mat::Point3>& points)
    {
       if(points.empty())
          return;
     
       if(boxToEnlarge.is_empty())
          boxToEnlarge.set_box(MinMaxBox3D(points.front(), points.front()));
     
       for( std::vector<mat::Point3>::const_iterator iter = points.begin()+1; iter != points.end(); ++iter )
          boxToEnlarge.get_box()+= *iter;
    }
    // Voici ce que j'ecrit pour le tester
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    void EmptyableMinMaxBox3DTest::test_enlarge5()
    {
       std::vector <mat::Point3> myPoint;
       Point3 p1(2.0, -2.5, -1.5);
       myPoint.push_back(p1);
       Point3 minPoint(2.0, 1.5, -3.5);
       Point3 maxPoint(5.0, 3.0, -2.5);
       EmptiableMinMaxBox3D boxToEnlarge(MinMaxBox3D(minPoint, maxPoint));
       enlarge(boxToEnlarge,myPoint);
       CPPUNIT_ASSERT_DOUBLES_EQUAL(boxToEnlarge.get_box().get_min()[0], myPoint[0], 0.0);
       //CPPUNIT_ASSERT_DOUBLES_EQUAL(boxToEnlarge.get_box().get_min()[1], myPoint[1], 0.0);
      // CPPUNIT_ASSERT_DOUBLES_EQUAL(boxToEnlarge.get_box().get_min()[2], myPoint[2], 0.0);
       //CPPUNIT_ASSERT_DOUBLES_EQUAL(boxToEnlarge.get_box().get_max()[0], maxPoint[0], 0.0);
       //CPPUNIT_ASSERT_DOUBLES_EQUAL(boxToEnlarge.get_box().get_max()[1], maxPoint[1], 0.0); 
       //CPPUNIT_ASSERT_DOUBLES_EQUAL(boxToEnlarge.get_box().get_max()[2], maxPoint[2], 0.0);  
    }
    // Et l'erreur que je lis
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    error C2664: 'CppUnit::assertDoubleEquals' : cannot convert parameter 2 from 'mat::Point3' to 'double'
    Que dois-je faire pour pallier à cette erreur. Je suis aussi noviste dans le C++

  2. #2
    Membre expérimenté

    Profil pro
    Inscrit en
    Juin 2006
    Messages
    1 294
    Détails du profil
    Informations personnelles :
    Localisation : Royaume-Uni

    Informations forums :
    Inscription : Juin 2006
    Messages : 1 294
    Points : 1 543
    Points
    1 543
    Par défaut
    Salut,

    myPoint[0][0] ?

    MAT.

  3. #3
    Rédacteur
    Avatar de 3DArchi
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    7 634
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 7 634
    Points : 13 017
    Points
    13 017
    Par défaut
    Ben le compilateur est assez explicite, non? Il ne sais pas convertir un mat:oint3 en double...
    A vue de nez, je dirais que tu as voulu accéder à une des coordonnées du point mais tu accèdes au point :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    std::vector <mat::Point3> myPoint;
    ...
    CPPUNIT_ASSERT_DOUBLES_EQUAL(boxToEnlarge.get_box().get_min()[0], myPoint[0], 0.0);
    myPoint[0] te retourne le premier point de ton vecteur (soit la copie de p1). Il te faut peut-être la coordonnée ? myPoint[0].x ou myPoint[0][0] (je ne connais pas l'interface de ta classe mat:oint3).

Discussions similaires

  1. Protocole du CppUnit-test sur un browser (xsl)
    Par merlinerick dans le forum Autres éditeurs
    Réponses: 2
    Dernier message: 24/06/2009, 09h53
  2. Cppunit-Test ( Corriger l'erreur )
    Par merlinerick dans le forum Bibliothèques
    Réponses: 1
    Dernier message: 30/04/2009, 00h24
  3. resultat de test avec CppUnit
    Par stranger dans le forum Bibliothèques
    Réponses: 4
    Dernier message: 23/04/2007, 11h35
  4. Unit Test : CppUnit
    Par kanonji dans le forum Bibliothèques
    Réponses: 4
    Dernier message: 01/02/2007, 16h03
  5. [Cppunit] test de methodes privees
    Par Patriarch24 dans le forum Bibliothèques
    Réponses: 7
    Dernier message: 06/03/2006, 14h59

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo