From 147f5b5d8c6195da40bfd0b07c471c5b9679fafb Mon Sep 17 00:00:00 2001
From: Lou <louberg22300@gmail.com>
Date: Fri, 8 Sep 2023 11:35:54 +0200
Subject: [PATCH] tests done for student class

---
 bin/main/Student.class         | Bin 1560 -> 3316 bytes
 bin/test/StudentTest.class     | Bin 4393 -> 4253 bytes
 src/main/java/Student.java     |  29 +++++++++++++++++++++--------
 src/test/java/StudentTest.java |  14 +++++++-------
 4 files changed, 28 insertions(+), 15 deletions(-)

diff --git a/bin/main/Student.class b/bin/main/Student.class
index 9bd99ba6fac981c01edaf7849f0708ae815450ba..e6a1fb849f227ed42497e9756b585585b8b16180 100644
GIT binary patch
literal 3316
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
U8Rj!EFo0^)1q_QAmM};H0E6`BxBvhE

delta 723
zcmew&IfIAm)W2Q(7#JAL8Jsq9^)OEU!l*vki%DVfNhW(^Mh2e5vecr)^i=nv#FSJ<
z22Kr4A28FJk%6b6C^N4lD7CmWr=*yXfi1PLG%=@m@*PGAE-nUU27Mj|0|vv%KUkI7
zj2TSX8B8WCvWYV5Fz8OUWK%Wc4K7Jc&h||#2uV!JNo8c<$Ve>CaLxzW!K|U_$;DvI
zV9Uc`#bC|Iz*Ypdf{}sIb8-Wl%w!IZ_2Kpm3=GT+3=E7L85kIt7^E2(7}yvX85kIp
z7-Se27!)9q46+Pz3?RVBpa_*`WKd#IW?*7qWKdyHWng6BV_;y=VPFL7Wn!G{$SG6L
z1l7jKpvIuiz{J1>wn76<=?1VU!eTS9#XJy$;3jA?Xkl1_uG0ZkXFb@>j11Zgf>5p6
zAdiADx@SF+bTY#2)M3ztYMjBq1P%yGE$w9ttSoD^k1_CRZDY{W-o~J}l!29bjrIWs
zMqjNh3_?0v7=*Sl7|mi}W!7DzwS_@MXA6VKHU^_L;BW@{QjCF>fq@~Eft?|YL4qNI
zL6#wkL6;$VvL26ky%~c!1IT_E1`7r`1||ke1_lOh1{QWc#y<=q?BLL~Vz7ofDwu(Z
zfr){EK^$c7HU=9T0eR^Rkd@mQY!YmwK{i4nln?Co6b254R0dIoG_YUAAX=e*<zV1v
Quw$?X1v(>x12{q)0WDEn?*IS*

diff --git a/bin/test/StudentTest.class b/bin/test/StudentTest.class
index 5d18d0c4c758c0c9c783e9b710462d36cfe16efa..cb647cbfce037e7fde315c93e603f110224ef089 100644
GIT binary patch
delta 1369
zcmZ3fG*^-9)W2Q(7#JAL8P0Cx+QT?mm`TM`kCA~tpeR4RC^0uTu_QA;Pr-<j!GOVt
zoxzZifz!PxF(ox5wYY?b!I;5>k%6tGJT<SRl97Sk2P|dH#lXX0#=~IFU@^IYNte-T
z@;W9d2?GWj9tK;GdghYUJdknrJPZyDCX*j9St_~kFt{?fF*0yuBo=2l=clAHGB9gs
zdU7#%FnF;ucrr4`PcCE?<0~#sEdn{Gn1{ie!Dn(jvm>V;LjXI2KO=+I<U&^2$rG4)
zrFj?v8GINSI5Ue~3riDoLh`v7{1}3H7(y6)Cck5r<Mv<(2WgLBWH6t+k4<ZG9t#hT
zH5Wq^Lkv4ZG$VuJ<U&@_$$2b%%z+HClj~XRxT6^2LAql(7!oI+V9{br;bBN+NSpkF
zMTNtIAp>Mq=42IC7q)DMTy}<>$$6}LY=I1!91QuB7qP0d74a|>Gn7m|&#KJf!B7TL
zT|W62tA$J@Lp3`?6(a**R$^JAerZW&j=oPOC`@Y@YA5@#IdIl9G_o@^K)fzGc?}y6
zb09<0<lSsRDy=*WZ4B*<3_OWtsYQwDso+p&WZ=}$ghl{6L+4~ec43YVhF%^95r)3W
zKJ2Q>lNlLAgG&<gQWA?&{7Xv;N=t$h^HP%XE4Ub#8K&|uOk<cnc?!EK+e{vYSq!r$
z?`PNIn8Yv_q<`MzkL)rWlNc88Ff3$PG+C5Gg>4BB!%~K2lkGXGg(fkq0O{c3Vwl9R
ziicq}L)zps96fBC8Md-BY?&O#sm{EOVf*9`&IdZ11Q@tLX=67J!yX1MMh2dOqRhOK
zpw!~hoRVUGR)$?*`2!4x*clE^p2DTcyp-Ya<O5vuSoU);9GjfPUCMHjkwJCxM^5p{
zvOMg(Dn9x7*`)>S45t|x<e;MW!`T=Z8FUyJ7`Pc27^)eV89=~!6N8wL?j{EPZ49O$
zrX`H21QN9diz*3OZep+lGi4B>G9Xcqw#hNPCQgnFTntPM+6)W~AX}WEwuCdVGB7eQ
zFsN=~klDuIyo14gHv><kkc5!bb_Sts49?pad^a&Dff+%QZ}aMVhhjA*18R)kCI*=u
z3}Gl{L>^#>0-F(cfFX);8v}?EO4!B_H#v^a+$IUDd4UW}U}wpLot3<UAswV6D;#VN
zn47naA#3t2K7IZIR0Ad}@{8IO?qDe0#Gt>4L4OBB#WsdIh(3s@^(F>8xTwrF2Dm6x
z?c^eU<CtbtL!p6H3iYM^CI+!>3@tkt!oYD62{9hT-_6hwDZ<dTouOwN14vi~q6{M3
z4-uZsC14yn5vv8W7+4ut7#J8Vb~8+h+{7Rjxs72;_%4PS3=G>D=J;%4m=8z07#1@y
z_-SurSgyT|VdV~nbX`z*%ogx<T*I)IfssL-L6Bh`!y*P|24;r!3=9lR3>z3WGB7X*
oF)%UgU|?q0$*`AUAHxv_Muwvd#~BzHxEL52PB5HeIKv<b08~CpIRF3v

delta 1585
zcmbQMxKfGh)W2Q(7#JAL87^$(+QaCr;FDjJuAfz!msz5pRa%f)l3JvnSdgjjl3ARX
zl#`lb&B(x7mY7qT%E%xO6H_S7E6L1J2rem2NzE%!$ShV!&QD2AnS6v%&C`&Pfj^)q
zKfNe1H#e~)Ge1wkh?BvX!IYiBgpq;My(lpyH6*pTgonY5!JLtSt)x6PucVTZf!zlz
zWzEIF!(hq7V8viP*_cU}(ROkolaz!pgFO#}14un{NopR*I42$kX9n}hlbI})+<6#0
z7(5vnI5HB8Go15NQW+VTH8efB7`z#L*%^Eo8RRFwXA$EoE>0~1Ij5M1!H>azvJkT)
zXCOl`J3|m7gVyBtEV7d;nfWC{82lL-I5Ue~3riDoLh`v70vW=17{VF+Cog1{<Mw8V
z0%?wBWH6sx$fhOXpOlrFT;d2e*_w+XmLZ;<A&!wjaq@j;MGhW@5QYRs21}62$?+_L
z+_4NvAfpmE7*ZxzvuLrU^DtyEWKLeqqQc?LkPR|8XYzFx7q&cx0(OS{$%?FcY#|Ie
z91KO1Ls`|?N_iN{7|JI%u_|+TGgN|9S502aY9Uj@P{+<t%gDf&l~|UjUs{rxqwkXm
z3f_8#hRKX<4xCL4E$j@<pisEaEIK)!jfXjep>=W|TabMR4?`zI7b62tVp(cYVtOh#
z0vH)MH8i1d!Oqab$iNB~W^)i>00S<DZiWdw3?d8@C;w+tWtqmvAUb(HhbR{p12e-6
z9)_6=vnIQ<tFq1EVVKJ>Z*md4md;d$1t9ec85zVie88^ENz6;v4=T;e10^tP%`i@e
zsSJyG7?v<BoqU2_g>5+x!wQC#lRvRn3r%HM4Kj#}i(x9mS{{aV44ISbIeOT(G3;Px
z*gjd1Q=NGy!>-BJoDX!i3NUbi(#}2}hW!j&j0`*lMVWaeL8-;1IVHvXtPFd>@`o9Y
zvNIf+?9QdhzJlQxBf|`h$p<*)CTDXxPuAsNpM0Ooh~*Fm!^z2_+@&mM7#UP2ALNvs
zyqcSf<s2h}9GG*B`(^?^0~3P|10#cOF@qk1J_7>-Hv<DhH3Ks^fSflmhzS{NVldjq
zU;$#<z?e!PQ9H1xl90_N21hVc1|cc~5(R0S%*Jct?ZUvtz{H@<z`%fFoh#J3a0XTe
zMg|53)lCdC+Zfz-FnH}|;E5EH5R%%?AheCaZ5u<tCI%%iBXn{NuYO1be)BS*=IL!>
zklDcyiDFpH0ftzxVTlJAVi~tFfGDBlZ48N%zww&8rs6j^kbw#8P<gOJ({?aqfwbm^
zgAD|83%4=kPR``huP?@LQY8a3*d$O0Z(}Ig!BDY@!DthM(GG^{Z48YN10kYzn;0D7
zqB1bGb_lf_85kIt7*rS-7=##D7#J9g8N?V&CiC&jrncdCLn$<v>^CupZDVNP!4L_K
z-WZ7OApUNK?nn`a-t7$i+ZaH?G7x1D;YkqT$?g2caZ~WyG>d^1>@<tr3{xXFF^ENO
zW0)Ski(xhc!*+)GKARX8!O<>;Wef~{+S?dbX>Vg#vx6Z^7ZjlU0=|yx88$F5GN>~M
zGHhg6%D~LP%&-aU@y!fdz+Pu!*v-Jqu!rFQ!$F4Q42%pX7)~)TFmN$2GMr{O%W$4S
F5&-Ohcb@<N

diff --git a/src/main/java/Student.java b/src/main/java/Student.java
index 3f018e1..79ebee8 100644
--- a/src/main/java/Student.java
+++ b/src/main/java/Student.java
@@ -30,7 +30,8 @@ public class Student {
    * @param grade the grade of the added result
    */
   public void addResult(String teachingUnitName, Grade grade){
-    // TODO : add code
+    TeachingUnitResult oneTeachingUnitResult = new TeachingUnitResult(teachingUnitName, grade);
+    this.results.add(oneTeachingUnitResult);
   }
 
   /**
@@ -39,8 +40,7 @@ public class Student {
    */
   @Override
   public String toString() {
-    // TODO : change code
-    return null;
+    return this.firstName + " " + this.lastName;
   }
 
 
@@ -50,8 +50,11 @@ public class Student {
    * @return the grades of the student
    */
   public List<Grade> getGrades(){
-    // TODO : change code
-    return null;
+    List<Grade> listOfGrades = new ArrayList<>();
+    for (TeachingUnitResult oneResult : this.results ) {
+      listOfGrades.add(oneResult.getGrade());
+    }
+    return listOfGrades;
   }
 
   /**
@@ -60,8 +63,14 @@ public class Student {
    * @return the average grade of the student
    */
   public Grade averageGrade() {
-    // TODO : change code
-    return null;
+    Double sumOfGrades = 0.0;
+    int nbOfGrades = 0;
+    for (Grade oneGrade : this.getGrades()) {
+      sumOfGrades += oneGrade.getValue();
+      nbOfGrades += 1;
+    }
+    Grade averageGrade = new Grade(sumOfGrades / nbOfGrades);
+    return averageGrade;
   }
 
   /**
@@ -69,7 +78,11 @@ public class Student {
    * the average grade of the student.
    */
   public void printResults(){
-    // TODO : add code
+    System.out.println(this.toString());
+    for (TeachingUnitResult oneUE : this.results) {
+      System.out.println(oneUE.toString());
+    }
+    System.out.println("Note moyenne : " + this.averageGrade().toString());
   }
 
 
diff --git a/src/test/java/StudentTest.java b/src/test/java/StudentTest.java
index 6adbde7..e5069bc 100644
--- a/src/test/java/StudentTest.java
+++ b/src/test/java/StudentTest.java
@@ -11,7 +11,7 @@ class StudentTest {
   private static final Student jeanMichelBruitage = new Student("Jean-Michel", "Bruitage");
   private static final Student davidGoodenough = new Student("David", "Goodenough");
 
-  @Disabled("Disabled until Student is coded")
+  //@Disabled("Disabled until Student is coded")
   @BeforeAll
   static void addResultsToStudents(){
     arnaudLabourel.addResult("Programmation 2", GradeTest.twenty);
@@ -22,14 +22,14 @@ class StudentTest {
     jeanMichelBruitage.addResult("Structures discrètes", GradeTest.twenty);
   }
 
-  @Disabled("Disabled until Student is coded")
+  //@Disabled("Disabled until Student is coded")
   @Test
   void testHashCode(){
     assertThat(jeanMichelBruitage.hashCode()).isEqualTo(new Student("Jean-Michel", "Bruitage").hashCode())
             .isNotEqualTo(davidGoodenough.hashCode());
   }
 
-  @Disabled("Disabled until Student is coded")
+  //@Disabled("Disabled until Student is coded")
   @Test
   void testEquals(){
     assertThat(jeanMichelBruitage).isEqualTo(new Student("Jean-Michel", "Bruitage"))
@@ -38,14 +38,14 @@ class StudentTest {
             .isNotEqualTo("Jean-Michel Bruitage");
   }
 
-  @Disabled("Disabled until Student is coded")
+  //@Disabled("Disabled until Student is coded")
   @Test
   void testToString() {
     assertThat(jeanMichelBruitage.toString()).isEqualTo("Jean-Michel Bruitage");
     assertThat(davidGoodenough.toString()).isEqualTo("David Goodenough");
   }
 
-  @Disabled("Disabled until Student is coded")
+  //@Disabled("Disabled until Student is coded")
   @Test
   void testGetGrades() {
     assertThat(arnaudLabourel.getGrades()).isEqualTo(List.of(GradeTest.twenty, GradeTest.twenty));
@@ -53,7 +53,7 @@ class StudentTest {
     assertThat(jeanMichelBruitage.getGrades()).isEqualTo(List.of(GradeTest.ten, GradeTest.twenty));
   }
 
-  @Disabled("Disabled until Student is coded")
+  //@Disabled("Disabled until Student is coded")
   @Test
   void testGetAverageGrade() {
     assertThat(arnaudLabourel.averageGrade()).isEqualTo(GradeTest.twenty);
@@ -61,7 +61,7 @@ class StudentTest {
     assertThat(jeanMichelBruitage.averageGrade()).isEqualTo(new Grade(15));
   }
 
-  @Disabled("Disabled until Student is coded")
+  //@Disabled("Disabled until Student is coded")
   @Test
   void testPrintResults() {
     StandardOutputSandbox standardOutputSandbox = new StandardOutputSandbox(arnaudLabourel::printResults);
-- 
GitLab