Exemple #1
0
int main()
{
	Matrice A;
	Element elem1(3,0,0);
	Element elem2(2,1,1);
	Element elem3(1,0,4);
	A.ajouterElement(elem1);
	A.ajouterElement(elem2);
	A.ajouterElement(elem3);
	A.afficher();
	A.afficheCreuse();
	return 0;
}
void launchTestsAndExitIfOk()
{
    Tests sessionDeTests("pCiscrea");

    /* 	Test des calculs de propulsion vectorielle	*/

    // Contrôle de la consigne
    AUV auv_ciscrea_test;

    auv_ciscrea_test.setVx(3);
    auv_ciscrea_test.setVy(5);
    auv_ciscrea_test.setVz(-10);
    auv_ciscrea_test.setRz(-31);
    Matrice *vecteurConsigne = auv_ciscrea_test.getVecteurConsigneAUV();

    sessionDeTests.tester((*vecteurConsigne)[0][0] == 3, "enregistrement consigne Vx");
    sessionDeTests.tester((*vecteurConsigne)[1][0] == 5, "enregistrement consigne Vy");
    sessionDeTests.tester((*vecteurConsigne)[2][0] == -10, "enregistrement consigne Vz");
    sessionDeTests.tester((*vecteurConsigne)[3][0] == 0, "enregistrement consigne Rx");
    sessionDeTests.tester((*vecteurConsigne)[4][0] == 0, "enregistrement consigne Ry");
    sessionDeTests.tester((*vecteurConsigne)[5][0] == -31, "enregistrement consigne Rz");

    // Contrôle des forces des propulseurs (non nulles en Vy et Vz seulement)
    auv_ciscrea_test.setVx(0);
    auv_ciscrea_test.setVy(5);
    auv_ciscrea_test.setVz(36);
    auv_ciscrea_test.setRz(0);
    vecteurConsigne = auv_ciscrea_test.getVecteurConsigneAUV();
    Matrice *forcesPropulseurs = auv_ciscrea_test.getForcesPropulseurs();

    sessionDeTests.tester((*forcesPropulseurs)[0][0] != 0, "Vy & Vz != 0 : controle force non nulle appliquee en F1");	// F1
    sessionDeTests.tester((*forcesPropulseurs)[1][0] != 0, "Vy & Vz != 0 : controle force non nulle appliquee en F2");	// F2
    sessionDeTests.tester((*forcesPropulseurs)[2][0] != 0, "Vy & Vz != 0 : controle force non nulle appliquee en F3");	// F3
    sessionDeTests.tester((*forcesPropulseurs)[3][0] != 0, "Vy & Vz != 0 : controle force non nulle appliquee en F4");	// F4
    sessionDeTests.tester((*forcesPropulseurs)[4][0] != 0, "Vy & Vz != 0 : controle force non nulle appliquee en F5");	// F5
    sessionDeTests.tester(round((*forcesPropulseurs)[5][0]) == round((*forcesPropulseurs)[4][0]), "Vy & Vz != 0 : controle non force F5 = F6");	// F6

    // Contrôle des forces des propulseurs (non nulles en Vz seulement)
    auv_ciscrea_test.setVx(0);
    auv_ciscrea_test.setVy(0);
    auv_ciscrea_test.setVz(12);
    auv_ciscrea_test.setRz(0);
    vecteurConsigne = auv_ciscrea_test.getVecteurConsigneAUV();
    forcesPropulseurs = auv_ciscrea_test.getForcesPropulseurs();

    sessionDeTests.tester((*forcesPropulseurs)[0][0] == 0, "Vz != 0 : controle force nulle appliquee en F1");	// F1
    sessionDeTests.tester((*forcesPropulseurs)[1][0] == 0, "Vz != 0 : controle force nulle appliquee en F2");	// F2
    sessionDeTests.tester((*forcesPropulseurs)[2][0] == 0, "Vz != 0 : controle force nulle appliquee en F3");	// F3
    sessionDeTests.tester((*forcesPropulseurs)[3][0] == 0, "Vz != 0 : controle force nulle appliquee en F4");	// F4
    sessionDeTests.tester((*forcesPropulseurs)[4][0] != 0, "Vz != 0 : controle force non nulle appliquee en F5");	// F5
    sessionDeTests.tester(round((*forcesPropulseurs)[5][0]) == round((*forcesPropulseurs)[4][0]), "Vz != 0 : controle force non nulle F5 = F6");	// F6

    // Contrôle des forces des propulseurs (non nulles en Vz seulement)
    auv_ciscrea_test.setVx(-29);
    auv_ciscrea_test.setVy(0);
    auv_ciscrea_test.setVz(0);
    auv_ciscrea_test.setRz(0);
    vecteurConsigne = auv_ciscrea_test.getVecteurConsigneAUV();
    forcesPropulseurs = auv_ciscrea_test.getForcesPropulseurs();
    forcesPropulseurs->afficher();
    sessionDeTests.tester((*forcesPropulseurs)[0][0] != 0, "Vx != 0 : controle force non nulle appliquee en F1");	// F1
    sessionDeTests.tester((*forcesPropulseurs)[1][0] != 0, "Vx != 0 : controle force non nulle appliquee en F2");	// F2
    sessionDeTests.tester((*forcesPropulseurs)[2][0] != 0, "Vx != 0 : controle force non nulle appliquee en F3");	// F3
    sessionDeTests.tester((*forcesPropulseurs)[3][0] != 0, "Vx != 0 : controle force non nulle appliquee en F4");	// F4
    sessionDeTests.tester((*forcesPropulseurs)[4][0] == 0, "Vx != 0 : controle force nulle appliquee en F5");	// F5
    sessionDeTests.tester(round((*forcesPropulseurs)[5][0]) == round((*forcesPropulseurs)[4][0]), "Vx != 0 : controle force nulle F5 = F6");	// F6

    sessionDeTests.afficherConclusionTests();
}