#include #include "Polynome.h" TEST(Corrige_Creation, AvecCoefsNonNuls) { Polynome p1{ {1.2, 3, 4, 5} }; Polynome p2{ {{0,1.2}, {1,3}, {2,4}, {3,5}} }; EXPECT_EQ(p1, p2); } TEST(Corrige_Creation, AvecCoefsNuls) { Polynome p1{ {{0,1}, {1,0}, {2,3}, {3,4}, {2000,0}} }; Polynome p2{ {{0,1}, {2,3}, {3,4}, } }; EXPECT_EQ(p1, p2); } TEST(Corrige_Somme, SommeSansRienDeParticulier) { Polynome p1{ {1, 0, 2, 1} }; Polynome p2{ {1, 2, 0, 1} }; Polynome somme_ref{ {2, 2, 2, 2} }; EXPECT_EQ(p1 + p2, somme_ref); EXPECT_EQ(p2 + p1, somme_ref); } TEST(Corrige_Somme, SommeOuCoefsSAnnulent) { Polynome p1{ {1, 0, 2, 1} }; Polynome p2{ {1, 2, 0, -1} }; Polynome somme_ref{ {2, 2, 2} }; EXPECT_EQ(p1 + p2, somme_ref); EXPECT_EQ(p2 + p1, somme_ref); } TEST(Corrige_Somme, SommeAvecPolynomeNul) { Polynome p{ {1, 0, 2, 1} }; Polynome p_nul; EXPECT_EQ(p + p_nul, p); EXPECT_EQ(p_nul + p, p); } TEST(Corrige_Somme, SommeAvecConstante) { Polynome p{ {0, 0, 2, 1} }; double d{ 1.2 }; Polynome somme_ref{ {1.2, 0, 2, 1} }; EXPECT_EQ(p + d, somme_ref); EXPECT_EQ(d + p, somme_ref); } TEST(Corrige_Derivation, PolynomeInitialiseAvecVector) { Polynome p{ {1, 2, 3, 4} }; Polynome deriv_ref{ { 2, 6, 12 } }; EXPECT_EQ(p.derive(), deriv_ref); } TEST(Corrige_Derivation, PolynomeInitialiseAvecMap) { Polynome p{ {{0,1}, {1,2}, {2000,3}} }; Polynome deriv_ref{ { {0,2}, {1999,6000}} }; EXPECT_EQ(p.derive(), deriv_ref); } TEST(Corrige_Derivation, PolynomeNul) { Polynome p_nul; EXPECT_EQ(p_nul.derive(), p_nul); } TEST(Corrige_Degre, degre1) { Polynome p{ {1, 2, 1} }; EXPECT_EQ(p.degre(), 2); } TEST(Corrige_Degre, degre2) { Polynome p{ { {0,1}, {2000, 2} } }; EXPECT_EQ(p.degre(), 2000); } TEST(Corrige_Degre, degre3) { Polynome p{ {1, 2, 3, 4, 0} }; EXPECT_EQ(p.degre(), 3); } TEST(Corrige_Degre, degre4) { Polynome p{ {{0,1}, {1,2}, {2,3}, {3,4}, {2000,0}} }; EXPECT_EQ(p.degre(), 3); } TEST(Corrige_Degre, degre5) { Polynome p1{ {1, 0, 2, 1} }; Polynome p2{ {1, 2, 0, -1} }; EXPECT_EQ((p1+p2).degre(), 2); } TEST(Corrige_Degre, degre6) { Polynome p; EXPECT_EQ(p.degre(), -1); } TEST(Corrige_Degre, degre7) { Polynome p{ 0 }; EXPECT_EQ(p.degre(), -1); }