From 26efaacb9de1442a74735b0d4d9699c4505883dc Mon Sep 17 00:00:00 2001
From: MASSY FERNANDEZ Neva Aracely
 <neva-aracely.massy-fernandez@imt-atlantique.net>
Date: Tue, 13 May 2025 13:24:50 +0200
Subject: [PATCH] add: ConsultItemBookTest, ConsultItem, to String

---
 .../opinion/Book.class                        | Bin 2913 -> 3238 bytes
 .../opinion/SocialNetwork.class               | Bin 6358 -> 6779 bytes
 src/opinion/Book.java                         |   8 +++++++-
 src/opinion/SocialNetwork.java                |  19 +++++++++++++++---
 src/tests/ConsultItemBookTest.java            |  19 ++++++++++++++++++
 5 files changed, 42 insertions(+), 4 deletions(-)
 create mode 100644 src/tests/ConsultItemBookTest.java

diff --git a/out/production/infrastructureLogicielleClient/opinion/Book.class b/out/production/infrastructureLogicielleClient/opinion/Book.class
index f0972e96f383f2128c50e18372491c4e3843f9c3..dbdc2cd776a1d7fb9146f3653746c2aa23291368 100644
GIT binary patch
delta 1151
zcmaDTwoH=i)W2Q(7#J8_80K%}>SR{sV&G=T;9<yQ2xDa6OHVCvEK4m)Oi%SqEXo#Q
zU|`7RVaQ>~ojjLWhRH``@>yn;$@iIsecUvCvJ%S@^>Y&Q()EK&iZb)kt+^O18S;4;
z3K*0b8Mx9@OPup_b5rw5gcukZia>@GGcx#SU~2Q6e2__P^JnHnMkUsg{F1~RMh1?O
ze2AHh3@jz76(x)e?8*71c_pbulgn83SSBzscuZcwYGA?T4{~cxjzV63Nvf3sBUeyr
zS!QZ^F$cpWMg~qsMm+^aPDV~fel~_FTntkgrm-_j2RUTM<d>|M8D~%4%cjLLmytnk
z@&Puv$(-zZnk5Xv3=9lR3^EL|V49DCpMjB~6wEGT;ACKAU}Y$0U}UJ6oWO3zSUGt*
zyE1<j0|SEz11kdqgDOKcL(Sxq?8fyK3=9nV42%qn3=9mcT3Z+dHh_(&WME)m0}HA!
zfVA;|*{mRK3=9m63<(U%Aj8o#i=b=P#i}_Op}8K(YH@VkW>|HnF+^dpT51iNyX~=R
zu4Qn9YR+U}VqjsI{EI`;7vxz!24)5Z22TcV1}_F-25+!tEd~|_1_nu}r$MYb24Mz9
z25tsEhI$5J1||k!1~!HU24Mzf21bTP1|N{olQTHu87n8B;8YI<1so{6<ryRyni!hF
zA@2t_&5xl4Y#IZDA44lc8v_#qhy{vQW`=eK1_mAm=06Oa><k8azZjSp7(uBXY`zPZ
ze?7>>QVeVi3=EMBJPc6`d<@YHnhY@v1`M$b#td;_*DEkEGiWlfgKY-+%?@faAA<oy
z2SXbJBiI&R24<eW44h2t3<kd#WEdD3I^mIXhJh9A<Z!KR4AENK7~-_HF(hhjV@T1e
z-^P%>iy@1F!H30GYYPL{HU@1!-JJ~jj0`gwv~_nfm@+aPV6e1e(Uy^9*~VZEB7#9g
z-Y$kh1_qxNCdTFeFKL6Ko0$RR6*&fW1_p*S1}TPg1{sD71`CEv27iVuh9HJ)hERqa
zuy;U_VZk5;_D&KgUc#aNkz%lA=mLkN41+a8H-jt#6WC|`3{3wRRM;8h8Nq%tU|?qG
q0jH5(hCT)c20jKRhRF<!4E<noBEw7u1_mw$Muu4oa~S3^NCE)w-@$qS

delta 818
zcmZ1``B04O)W2Q(7#J8_7$$Gz>SX2;Vqjp%;9<yQ$eO%^S%%45WAZyT*~vfIggAmr
ziZb)ktvxr_u_Q4n@ujDhIF_XrC8nqPCKhEgGO(89mn7yeGH{gSLsU*?V$)-3V`MOx
zY{F(B$j`>m!Nt(Y(8bQs4KluG@*K9yjQx`f*tJ+DGBU_bW@Hzie4mYd@*Z|Q&1?o?
z1_lNu1{nrfFwMun&%nr#17_zka56A5urlN^Ff!y%7UnQxEST)Yq0C>%z`$U_z{<eD
zpvq9hP&~PY!<aFD@&*pE`T_<91~vvp1_lNd29PQqFq;*mih+TFks*OW8Dtg%1A{&T
zBScPX3xmi8uyqK{x>z+QW7RB<q&XgJq#0J-X$(<Vtd?4XX0<(5%_R(uAkCAPaBBI2
zoXN+)%)r3l$-vFv#URY!4c4Q@z{0@5APMy=h*ioU%)rRN&A`V{#vshV#30PT#!${6
z%)rdR$WX!H12$2bE1t1nay6HFC@8!@p(@WH$xz8q1rA?7xM_Y2)nL;Y82lJ&7-|`q
z7(gsg>@hRcF)%RjFfjjN;ACeo(EG)}#K6c<&kzPS|2vmIW5Hy1ZuxqU`3elo44Mq=
zVDmvfu!EY<$6&zFz);J;2sVqCftlwo11A$ZgTXHb83sm%MtI0OFtC8bSWIghL$ua5
zhB&Ql42fFX7*cjIq%$xeMFm(@8aQAei9lZrY8Nv@6FAJ98Cn<^7&sUh8QK{b8Cn^7
T85kJ27#JD)7$z`GVvqy?U#obC

diff --git a/out/production/infrastructureLogicielleClient/opinion/SocialNetwork.class b/out/production/infrastructureLogicielleClient/opinion/SocialNetwork.class
index 37acf0e72b0dad6549446276e819536d633cdb5d..f72caf53502252cc68a317e97eb5f24e42b6d421 100644
GIT binary patch
delta 2007
zcmca+_}hf*)W2Q(7#J8_7@0P5U1P83U|7S*ARUrfl9Q^CS*(y(nv<iDU!+iypRZ7y
zkzZ7z$HidGu#SgeJ%b@519wTjPkwo7k#k~kDi=cl!$uy4O(1cO^wbit5g^4|co?=a
zY-42LNY2kINzBYEW@M1o@X1OnOVrOv%uCmI&PXf@PAx1=%}Y+T=F*G;8PvzluygZc
z_K8f4cQ%)DNik~krR5jpCYF?>rhv_5WDxVoPfpAUODxJvOv*_OsVqnh0WlaEv?ed%
z)|uSTy;=GzBLf>Fqn-jI7e5=rcP@q>3_sZ!e(^9&V)#8dmgh3#zsZKYnoNuglVf;|
z{dX|1F)%UkG4L}mGVEetU|?d{&A`Nv#*hwXi!z9TX-Oz8grsf{0~13VLpuWlg8%~~
z11kd?10%!U$@h58823#U<&&4*&%nUI!@$VEz@W--fZ-qm0|O(&AqH8nDt|t)dQj+t
z^e`~!Ga%Hm!qpyzsAXVa&|zQ%o5RGs2J9MyPAepxOmLk?;5v<<IytnqFbHg8kV4Y0
z1UAwY$p8+x0kI5LU}v)NyD;vX?9DH&4sxIZ12cm(gD}HUhI9sI1_lOWsCp3V7{hS}
zMuroUd-)|9_fB5U@5s1s@=JdCAdo&S1{MYe1_QWi0|tm{kl0Cv;|xp;ObmJqrx;E%
zFf*KBU|`^6VEMzq$H>Xe$#8~&fq{jAk-?6EiJ^ia3hbyTfrxBS2uLxoF)%O`F~~3!
zGZ-+GFgP%jGB`1mGq^HTfIS7WR)#?h>|Bro+~E#zhdaQX0pb9VwLA>We;7E}8I&!5
zF)%SOGR$VMVqjv}J6TpRlyTqWVnOvNm}g8FxEanew1d6n0you#;T$*+m>8VEo?!xe
zMv#FO?3q6d?CcE6av-A-o?>J;&yWnZ<cnYm<G#s}LfZZ?OBfh};YJ6;9UKgGFi7?S
z!*OVcu`n?4iGc$Pl$h-p;ushiE;3vKn|xX5HRHa?`-OueK_&+=a4<|^5Cl7)gMoqJ
z7Tk_oa64|n?YIT@5-6^3F<fRi4)*XZhARxm8Cb!3uQG@+urZvNoGl_*5AqcU12cmi
zLnT8U10%yVhU*~v85kG}85kHqb}?>5OTA~o@dR=bC~rXW2#5ts9*l5@Fv1<e2zLl0
z!wslI7#VId)E@^Y2S$cl3}OuI;IM$X<~9Q(!(E1ZP}hLM29$7^xYwaM=Q7wic3^X0
znF&-Nz?{PbcMcQWIZO=q86JSbMS+2d;UU;P$N@2jfsvt~!4RBo7m0>5?wkBe6cNRG
z3<B`f=?0Am0R}UMN8ofM#9+ekm_dvIl8yuzn0fy(@USx&GqN)%|6)*MU}Sg#@zmrJ
zu>*|zCYy?fCxfCmhJllzia`Jz#heTb4C|pLgIF-HtcQDLJ=`nnVP0Wa5A}%|LnXsg
zhSLme4ABfB49^(a8Q2+4OnxseixSx&KR#!8!NAP0mw|zig@G9yfN9#t82GfeF&J%Q
zux44zz`L8lE>dXqb_S>Y5W%&+yBXLcw=;11L5e0hD;7zXoeWBh3^N(DK`aeMh64-%
zR;-e&+ZZ-%V_2)RjbZal23}ndzkd5RhK%s#|1aup02dIT;y{golYxOznt`8DhCz~1
zo<WgOfkBf|iNS+WnIW7}g&~nqjUk0m102UD46F<u43gj=0;S|Mco3z5gM*Plk-?SW
zCAe(TWUys8#lX+N%<u|YpldSJgM?l~GoJ_pD?jHy1_^csV|H*R*F(+ZkXq#p11G~<
zhIgQpz`($u4XzCs7|^o>qaoORkZOaG;XT6#1_lOZhL7Ns`ibE)I43bOh<;;WWcb4H
Thk=2Ci-D2hFT;OEMg~a$G=zrd

delta 1673
zcmexua?OzI)W2Q(7#J8_7(Q*}y2j4T&ah^4CdWi3#`Bwhb4f8y&f(cC{gjb`jge7L
zfsu=!jo~>L!wZI&><q7X7$z~io@~W?nep9ZK0ZxWh7XJka+3x5<R(Y)2??)eU}Ion
z;A7xtU}RX!z`(%7ux@fapQ1E`y`F)Ip^c%Pfq_AQfsuigfsKKYVZ-Fzd}j3<85kI(
z7}yvX7!(*-7!(=!8I%~L7?c_08B`cl7*rWHF)%RjFfcMOFsL$YX4t~Oz`)3`l|dGy
zpMilvpMeo9$Evl3L3j<=T9APt<3W-L&8%?E+u)jY7#JDqK_)XXqieN7vX=?2bvs<E
z5!7A|tt|`!+Zd$K^}8bJ=YZ>vWw3&}dolwP0}BHKgYo3|{1&kwCyOz#GB7asGe|Q8
zFz7G@GUzb`GZ-?2fXz{0U}lhJ5N6oHkj}si(gih<fx(zzC&MlVMuy$sP-6bWz`@R-
zton<AiGh(Jk|BzLiDAR!76C`bjgyZF$OnOfLkn!L0o()ws0j=V1`K-`b}=w9Ffr&c
z>}A-;zzjB(lY!+A10N$NHz&h>1_lNe21W)u1}26IhA5C%CYuXJFm9YYK~UZhX1EN4
z8rY#A@43URafe&u4z*_Y<OhP1j2kBZ5)5VBI5|K_Jql)m2?IC70fu(4LtWq|xG)?9
zdzFd73G6&3u=4~NSi#Qw!@$nYpezUSIl`HY42Kw!!C`PwD1~w3WHVuHf0!i<48d@t
zgW-+~hB^);dzfJtGz?f6nE1rN-Up>|JBBz0MusB{N5Lj<5Pr?Laq=9I;ChhBK@1!W
zQy2un&gWoYV7LXh;}+bGTW~vWfxQHZ(OV417<Pd@e2d{Y!!B@IxW#aSL5zV7>`f5{
zZc$EtPJT{4AxIpn!F<ZWz|3IBP{~kN&%nrVlHnA{Q49<Wg$xV~AO|pl(iRf~h=gQ{
zv)~j3awjM!L2?v`1xZIB79<sbSfBt0xsDO;I!1=mP}easoMG4n&bN#VXBos8*z3Uo
z1ar<g21bSp3>TrU0R<Q+i!*VrL(8L=!OpP*8wAT}puz*@942^RF~I|iiQy8%WpH3I
zF<b#V2NdPPFstV<Ff#Nr7=n{$y;wNo#>v;k5b>_ZAOKIEZqV2fU@&923Qk-?3?>ZM
z7{nMLiA#WinfD(94?BY~BRhlgF9tORMuzJUPfZRKKft(gvXDf0GAQ0-7&sZK7zDua
z&dI>QupVkMhz0Y?dbn5C!@aT|?v?dWub44ZGTdO;$H2xA%@D$HlcAk~oniOnGZM1(
zAWtIu@fO2v24;p03=9l5;9SeVz_FWwJ#sq(CrAt_&Kae_fei8$C{e)ToCE9%MsT!2
zvNfcvzQe%DaF^j8DEt^07_`A9E&~IjHz*Auo2mjf6;d`cGTdi)z`(%3%<vE#!H*ao
fgA*Vl!!rg(h9?Yf7#JA17#JDeGQ4N_$RG&-Otl^2

diff --git a/src/opinion/Book.java b/src/opinion/Book.java
index 88f4112..03c83d6 100644
--- a/src/opinion/Book.java
+++ b/src/opinion/Book.java
@@ -99,6 +99,12 @@ public class Book {
      * @return the book's details
      */
     public String toString() {
-        return "Book : " + getTitle() + "\nKind : " + getKind() + "\nAuthor : " + getAuthor() + "\nNumber of pages : " + getNbPages();
+        String text = "Book : " + getTitle() + "\nKind : " + getKind() + "\nAuthor : " + getAuthor() + "\nNumber of pages : " + getNbPages()+"\nOverall note: "+getAverageMark() +"\nReviews";
+        int counter = 1;
+        for (Review r : reviews) {
+            text += counter + ". " + r.getReviewerLogin() + "\t" + r.getMark() + "\t" + r.getComment();
+            counter++;
+        }
+        return text;
     }
 }
diff --git a/src/opinion/SocialNetwork.java b/src/opinion/SocialNetwork.java
index 239e01b..7a1c9b6 100644
--- a/src/opinion/SocialNetwork.java
+++ b/src/opinion/SocialNetwork.java
@@ -277,10 +277,23 @@ public class SocialNetwork implements ISocialNetwork {
         return targetBook.getAverageMark();
     }
 
+    
     @Override
-    public LinkedList<String> consultItems(String title)
-            throws BadEntryException {
-        return new LinkedList<String>();
+    public LinkedList<String> consultItems(String title) throws BadEntryException {
+        if (title == null || title.trim().length() <= 1) {
+            throw new BadEntryException("Title is null or too short.");
+        }
+
+        String formattedTitle = title.trim().toLowerCase();
+        LinkedList<String> result = new LinkedList<>();
+
+        for (Book b : listBook) {
+            if (b.getTitle().toLowerCase().contains(formattedTitle)) {
+                result.add(b.toString());
+            }
+        }
+
+        return result;
     }
 
     /**
diff --git a/src/tests/ConsultItemBookTest.java b/src/tests/ConsultItemBookTest.java
new file mode 100644
index 0000000..a0b8e5d
--- /dev/null
+++ b/src/tests/ConsultItemBookTest.java
@@ -0,0 +1,19 @@
+package tests;
+
+public class ConsultItemBookTest {
+
+    private static int nbTests = 0;
+    private static int nbErrors = 0;
+    private static void displaySuccess(String message) {
+        System.out.println("Test passed: " + message);
+    }
+
+    private static void displayError(String message) {
+        System.out.println("Test failed: " + message);
+        nbErrors++;
+    }
+    public static void testConsultItemBook() {
+        nbTests++;
+
+    }
+}
-- 
GitLab