#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); }