From 654305f2cdf93a9e3a2e62da968edeae3aaec951 Mon Sep 17 00:00:00 2001 From: KevinSchoenmayer Date: Tue, 6 Jan 2026 20:05:43 +0100 Subject: [PATCH] Small fix for listing tasks --- .gradle/8.14/checksums/checksums.lock | Bin 17 -> 17 bytes .gradle/8.14/checksums/md5-checksums.bin | Bin 19097 -> 19197 bytes .gradle/8.14/checksums/sha1-checksums.bin | Bin 20009 -> 20279 bytes .../executionHistory/executionHistory.bin | Bin 115270 -> 115270 bytes .../executionHistory/executionHistory.lock | Bin 17 -> 17 bytes .gradle/8.14/fileHashes/fileHashes.bin | Bin 23797 -> 23797 bytes .gradle/8.14/fileHashes/fileHashes.lock | Bin 17 -> 17 bytes .../8.14/fileHashes/resourceHashesCache.bin | Bin 21353 -> 21591 bytes .../buildOutputCleanup.lock | Bin 17 -> 17 bytes .gradle/file-system.probe | Bin 8 -> 8 bytes .../hhn/temp/project/AssignmentManager.class | Bin 4242 -> 4228 bytes .../test/hhn/temp/project/GoodCasesTest.class | Bin 9791 -> 9788 bytes build/jacoco/test.exec | Bin 53978 -> 53745 bytes .../hhn.temp.project.BadCasesTest.html | 16 +-- .../hhn.temp.project.GoodCasesTest.html | 92 +++++++----------- build/reports/tests/test/index.html | 32 +++--- .../tests/test/packages/hhn.temp.project.html | 26 +++-- .../TEST-hhn.temp.project.BadCasesTest.xml | 14 +-- .../TEST-hhn.temp.project.GoodCasesTest.xml | 67 ++++++------- build/test-results/test/binary/results.bin | Bin 7182 -> 6258 bytes .../compileJava/previous-compilation-data.bin | Bin 918 -> 919 bytes .../stash-dir/GoodCasesTest.class.uniqueId0 | Bin 9791 -> 9791 bytes .../previous-compilation-data.bin | Bin 2054 -> 2054 bytes .../hhn/temp/project/AssignmentManager.java | 4 +- src/main/java/hhn/temp/project/Main.java | 1 + .../java/hhn/temp/project/UserCommands.java | 81 ++++++++++++--- test/hhn/temp/project/GoodCasesTest.java | 2 +- 27 files changed, 175 insertions(+), 160 deletions(-) diff --git a/.gradle/8.14/checksums/checksums.lock b/.gradle/8.14/checksums/checksums.lock index d7e7c6066353735c75e1b76965746146b7128615..11da43c95a1761d66e1146b97885e2d96f0a8875 100644 GIT binary patch literal 17 UcmZP$)7bd`{pL^o3=m)s06;tilmGw# literal 17 UcmZP$)7bd`{pL^o3=m)f06;MXi2wiq diff --git a/.gradle/8.14/checksums/md5-checksums.bin b/.gradle/8.14/checksums/md5-checksums.bin index d18866f890603823195f8656efd78137a989e658..4a50efdadb59e0b28c71328733dd2c7a36fdc058 100644 GIT binary patch delta 187 zcmbO^mGSRX#tkMCjC_+#C2k0)PgokWcKg|@3}E1OdNQkIfJ*woh((I>#>b(8GykIj z1_s8&jfy|SHyZ2^+wABO!IWYQRH_NYiXbe||0YK3)wByj$9M0n)jgVY9jJcxl#NHM pAm*{X0n&P?I&OV_pPsPcsifP~oLQ~D--;nRj%q`6@Ckx+005P1LA3w? delta 45 wcmex6m2u`&#tkMCj69P~C2mYsmGt2G4+RVijD{N(e~521cpES8*RJ{J{7YgNqeS#Iuj@qBBxd{Uq){8sVof!2FBS_HXgBp zn8fyG@?knp8rt5z`(R|qv8+ojRqN_ Kn;kt~umS+X0vU4v diff --git a/.gradle/8.14/executionHistory/executionHistory.bin b/.gradle/8.14/executionHistory/executionHistory.bin index 1822e65ec1bc1b0233e5ecaa6851e4e55440e9b2..a4fe63d66018c45b9af74d351b9938f67a6f05a8 100644 GIT binary patch delta 2354 zcmc&!X;@QN8qR?LvR`D80Tin2vIvO*9AKmZ9V9ToKmkE&APHMGmV~teW1uXSWv+Sw zl^wNFArcnZi=}{w0-_zXqoPzX2BCsgSuDK?*5?_RnZNz_-S>U(`OdezXMig=z?I|2 zg*emk2@E`WZ#bPwi6c{($;spxI)f6Gn2Lw;ht@388)}T)1n&2P(}Vnm!6r!17_ul2 zO$R58wd_ZpRXnyFZ~9XE8@Sky2^rr}ED!cpGLzliY)0#iJ}t1J8cIXAreBmgA@UiF zzuhdZPvQ*1B}+7TJUU2ie61jb;C5Ge@^csAo&cxP3fPyjT@7-2FO9W{_%u|`tW%FK z*e?ZVu}$IP7?SgMU*k!|2R&2WHJYBc6i)jJn+NLKaokTpffp&7VHH6mB_v>=C^r?^ zdM(ukv+D6xpWJ23z810S6c)CQwUFr-f51o3XiyTB#M;VCNTQ)wyv&^VKp4=BWqKr- z1#LH$k4A6^Z7<=n7{c`^12`ao5`Tb6r;`}ugx|BiP(0!iJf`xi3pcegJo!|AyF`7N z3J=f>{6&(Bj$x%SkTm0DKp9r;$uu*GHprdLL!na-StKVQYzmpH`1eIwCngHLqlXlC(IXo~2y=kLe*;v4OZJ!T3TrUi|`EU;~t--3Z7)lD5yOm=0*&*QXfsES3J`+b=}Z3w7F2CobuBF@ zq0rEj?n;T{XQp8h_DzLGS6xx)VT$4wYpq?FwK$#k)`337DD*Z{)spS*`H2gyZu0iL z>^$5U%z48r1pHrPmn|NryQgjZV(;Oios zdU)TC`xiy~Y}0-u?yPMUW=nx9>x1J0NDbP^3Vddd%0nYo%T~Ye^%MlWvwb|SlaAQe z07pMJbVVS6n`_*!IHd+TCfQr<3!|afj($gO-{5sd`+icO< zcO{*zLFR-?efY$3w)E30ivqos?+cyTi6k68g~T9nqQY5}sF=v;nD|I~JRzD5k=3{z zhj%F+Gx^7!H?oC6oObO^P@8@}XwrZ-t_bqD0vy^j$L;!Qf(F&fU6X=(erJYJRrSAZR4VSbc>(bMiYOeJ{l=iF5`g0 zxY2iPquFeKhN)wXNU!t9LG1JF^?`#)ho#nK3wuygbUp5S;J?do?OGMH zYH#ite{4q#BDD*cBUN1RsrHf4lLNm_>Gp4vyBAPDIhwqDUwo5SwMZ5b6l*s1*va?{ zIr*a__DTUqT_T6Y*^$a@V51or%`+7F{`^DOtR2%2tUbITp=e&fRzrQQ(B0g7Y_3J~ zNOLF0s`oldA*$VA_wGl@GD`|`QcZexxTXN_g$t6Oa3uuvn)PY+{wo(^1P(?t>Xq(Q z3nVKCu(iiM6(Ut`cylUMZ2IsXD;?sa+Hp<#h{{*s3unXbSkav`p1LPi(^D_Ky%Dp{ zp4UT<3w;?}hyBSc(ql#F`R+;WMHI?;KGr(=&(VJHqz?1Rd){ z58l@Mx~kcM%Ov|i&u9sSJ8cLqAk}?93n|J2>KTK$e23iT^7^8*U*yl-Qkz;A^1h>-uJS&mC z7O&pheJWDX?gu#uh))2gCOl=)DtDOa&liT9Vm9@Rhnixwc%693eWJM$ma+BlgXb>$md1Fr)2 j`FNkBOY5RsakbRR;=Y@)^wP*eY7$-6q delta 2258 zcmc&zdpy+n8lJCPx%R_Iq1+-h8ZnG)j*`u?Qtp>Q?JyHF#>`;GU6VzWT*lYOPpw2I zDl`~{E@DHco0UyU&Qi2ieCQypICaL@?ejV8IscwNf6w#0@Avn<&+~Sst?5i#QyUpz z7atW$NZ_)mj2LnVg~kq}$Hb7iR4$Vdf$Yrh3wmjW2(+G88U6Uw%dSCc6(kY{%*Z2J z`i~QdUtdj&Thvz!``Wigl;=?+1&@TyA?z*4+uqXJ4_>sJ$ApMc=Uy!nUJp!M}0T1&HrubV_q7Xg_}YfKR%oYM`X``I{ml_0*0~dvw;(j znxH8IC-X^M1p^pX#E+8l7G(gvqp492tcVCQlM;;&VUVMvF-Qa5BC5+u`}@AbO-;%D zb2>Sa{sMp4$mKfc- zC_GwA1v0Q4ekJ|>YPV?{*R)sS94^+pWIMawp9{BUPl9eXPnrD243GPh#b4$q9E!MCW;|xKzvj^ znlXLkxogVrb~Epx&_4!_##+Nbl09U`nZt-e@6FYsip;w9v1EmJ^@b0E6jetg51&9} z00y(^CQOM~5A#UMf67HC(W5SViBxV3nMLNX=%Jw;Y63Hi9vflJi4LPhB36gCn8@X( zW=Fbhxa^u8s=Xky3c_@t?j)cMr)rd-aM(RU(BoG?B{Ukh{NDy?z{P8N@cuYK-8OJ$&cUYT?o00(-J>CcK2o4=*~v73s3I#_ zk=w*Ed1SgT&PF!E+r(do;d{@=s|MzIutctNmePpJ^Fe>-NypQ!Q?30Mvi*j|huW_C zxFo6fciw{fA^Kh&Bl!m9>xy&#oJ2Z+&W=1B&(SyT7B9Vq$W3~$dl%eP7-|H5Tr&6l93To6n1?sWL%FLjz zN&sn<>y0kwftT!GijC2$L~!`8c0VEuKc^Kp4st-Noa)LPeK`gX)s;8;h5B+Q32S(Q z%f+p|BVjvi@hsS;*jPQ7KOoL_fjY=#aXD-*2Omsh;%SsP3^EN!hJ!y{i<5iK9Xs={ zZJcH06#!00QKPvGPV|x#gCtisu>$nK!ZZXjfASt>bx5 z;`KA+m0koJVq56w-s@%Bys(&E{*Ofg)61=h;rj^+5HY0RnetkH`| z^?@Y{U3VMcaGEzR<`yyRxJBgc)0R08Kdo zxEp56zIlP8$!{+>)oSAB_-*`hflwb+$pA;}<}>==&1%!%G`;Zv#Zl%A8GmDmQf13Gmd#*i%KnEHTZ5W^`REu+%DWy=GuV zVgzn=aLFo-Yt&sPf7k*pp=E7gJ(_zGsPkU;__Vy*yG^Kn($f9%D__@TQQcPYMyxTU zcJD)R?f9RGy>hL%voaVAhB)-!vj?;K#gDJbUg0e1pJ;3pOj0}UvrzVOW?3f5UQUOK zbc#i|Czi+F7gA({qobvnU^~{d?^tE3pssv(M$_Ax&vS7_;>MDBH70l$%GwU>Rt{u| zDv4tku}e%dTI&XgS{?RjPBuH&vBUhRdkCo}^%9D3_CKaICv=MFq%$R-174~8quF0w eZCNClc0^Pqc!6Kc8K_X2Gv8Gsw>0f8*1rM!QVXU4 diff --git a/.gradle/8.14/executionHistory/executionHistory.lock b/.gradle/8.14/executionHistory/executionHistory.lock index 7ce4ac521bd603e3d0a49596fb78897de20e3d0f..06029f9a86d1458f22b5cf952687020da5236e0a 100644 GIT binary patch literal 17 UcmZSnb#-Tx%i?)c7$D##07HQW00000 literal 17 UcmZSnb#-Tx%i?)c7$9IX07F{^+5i9m diff --git a/.gradle/8.14/fileHashes/fileHashes.bin b/.gradle/8.14/fileHashes/fileHashes.bin index e5f38381ce989406689dbf4c4189dbf1d69e14c9..701d2de4f5904af351fd1ac519976bdae4aba476 100644 GIT binary patch delta 1049 zcmeymlkw|L#tr%23TO0w>3!WG!?k(U+=HuHY^4|&7-vtJvzCnk40xY!?)TzlcN;k8bq@7z8xa>mxL#U4bKuI9r00jh^4ri{5 zs)tKe-?WD0Y1k}!Edz1x+ucBwpa9|AgQ=z0xvF)E?aeLw7}e*Pvs>(pFsmcEXq!jK~u>RzF$Fxbt+;~%{-=`H&$#piugB8J|F0!pt3jn^_4l^(o_D_RIT}bItx`1 zpZes9!NTG%Wn`90`Kjm6RQPqGbJ10(nnROggQOIW8+TcDY?-yRzxpfZvU7qDV3H79 z1lTrD4@zfao^#{rWX4D-1=mOanIF7f=c>h3*OkU2av!XEK|umUHN&IH){!njYdSnN z*T$@V+ApgWAXRp(4XkMOnadDGws(OvS`=is^06%y<6oz_@Zz6m2=@l2O<>mE`1a6b#hA&=8)vPZygf#r Pf8(qT5EED)flL4Z55R0A delta 1078 zcmeymlkw|L#tr%23ZJf5ShD7ZYDCK9gdYzJSvA&xrvHc;9dC_vT?#FwveE zzFcPagpz=7`DJS=i)i5M!~u)a13kQVL21HuX!VDT+Kz7hmdK|Ck42dWjmu4CZN* zpZmHQ<^#1*-xK&ig@YfQa?AwdcS4%&l1=^FHi_? z{$QJQYcW{W6!9|w%ba3Z|A%j8V$>&u^_@yHWab=3mVc zBrQP246878)UMf*f4J$;+2anq&(+?a%Y^Dk04Zl+kl_OoXwEX2J!7+*n1@s}qw1P4 z7U?Arzfb3s1M6V8bPH39=jz}I@6&B=on~hU-W6H84Qffw=ylgApbPF-~4%vSnbI!k2~aH?=c4wWf3((1>vJszg;JuzvFSKo_r{?YBNma%QSr z|Lk4PHKBfOR7Lz+m=4pGY}{Gb{ppv|oQYqjms~#r)sZ|oHb_e0(WS6`4;?huD|VU$ zu6!8o3zLL6OnBqw=|Smi%u}WaPG*dhQphiV)%f5=l16pxhIPNhFP{ae?o8{4rU-_k zldU6Nf-VVvK5MA&av|*e=f^=gaSdQ2r$r?~j5M2p>B7_70~ViSUG}K1J>KFf|36@w z0_BJjA&3sfpTKkv&JiV(e*+z{CCjMjoT+rv^|&27YHxj$fvN_@A`s{-*=!nR$0#u^ z^J2=a$%Y!5^-iDe?F&8!RyCb7XL5J6l!R%}ev{W{J~4DH?tZ>hV2ux4a&NSh*YZAD z`{fenHZIXi{ZrmG1ClwWb0$N~XWR*-(NfD4->pifQ8_W{&feV%Dz?i*jZ2=a7&Do9 WTJf*R+hg?krxpK$n85M~WC8%EOj7g! diff --git a/.gradle/8.14/fileHashes/fileHashes.lock b/.gradle/8.14/fileHashes/fileHashes.lock index f44e5128370e78342b7f6399052f727d982933ae..abe2b18edaffddec8a9f9c40fe914d17910786f6 100644 GIT binary patch literal 17 VcmZQJ+4?|x>8n?D3}C?G002BP1v3Bu literal 17 VcmZQJ+4?|x>8n?D3}C=~8UQ@I1-$?O diff --git a/.gradle/8.14/fileHashes/resourceHashesCache.bin b/.gradle/8.14/fileHashes/resourceHashesCache.bin index 77cc7861618c8437e3dff92e1e3639ce5db3655d..2b554be4dba250107efb726cdf32047556892150 100644 GIT binary patch delta 297 zcmaF4jPd#k#tkMCjM0-#B@PHoT`#@U;a~ki1~3RQo%~kfhrq7wyn8t}{a+3d4DOzM zSMr3wnOC1W_q*x}LIpogo-6f}f5x=5$E&1XLB-B*?v>ubC}4EMOCfP?#~Y~V+R3)E z8w4D6OkTg-C$kwM7$Q9RsjPy4o2RmS?@dn*sLIUEe`S@Jm^fx`RQw^n(V&5Uv!jOw z_hj`zKBLEx#TT|ZOn)}-q3*>^wGu0VI^>Ljgd`AyoFpi~``mNYiNtrIu@d)RSKj4# zHn}s<#7ON5_pC@i9!)mwEt)y|GiPIJJNNk24BP3P^?CkhCoC;5J3hJB*JSejKoI~3 C1Z6}3 delta 61 zcmV-D0K)&*r~&Dw0kAX}0aTMU7{HSa8Ss-88o-n78u7FC8?OPAy&b5NeI6LItsWWz T0tfN2A@~=uFenhSK}aYIDAgE* diff --git a/.gradle/buildOutputCleanup/buildOutputCleanup.lock b/.gradle/buildOutputCleanup/buildOutputCleanup.lock index ec28e3923087209e47938c12d33b7320195e2130..aae586f5a07429faa380e1bff761bed5cc124461 100644 GIT binary patch literal 17 VcmZQBa#cSO`uvX|0~j!Q001yw1U&!% literal 17 VcmZQBa#cSO`uvX|0~j!V2LLe)1nU3* diff --git a/.gradle/file-system.probe b/.gradle/file-system.probe index c1eb5ca47fc7877922123ccefb7da51e04c89df5..8809f1bddb103f415bc89326ade25838d672b2f5 100644 GIT binary patch literal 8 PcmZQzV4OW=^@ooD3O572 literal 8 PcmZQzV4OXryHFkg2nPa8 diff --git a/build/classes/java/main/hhn/temp/project/AssignmentManager.class b/build/classes/java/main/hhn/temp/project/AssignmentManager.class index 4749de0a6a0cf65e80fbf2801259276b6e2b96c8..02dca47d6a21f54b790781dd4a522c2d83cf4e3b 100644 GIT binary patch delta 985 zcmbV}%TE(g6vn^X8Cp7X`_Q2+3@=L&hM}bh6)A72m6QMtpg`3an%GnYOKgj-HM()7 z+?6ifNx}+9ZEB(`UAZ-GT$;GlKfvgnwh-yk#XWa!&Ue1wIcIjfPrT2I<5tLMpm4!W z;CQ%|-AH9)w<25HnS3fsKw?I|k)p}S+w#fW#&Ony<`?fesESsKIL!Bi3=oh(k&ehEHw8MEb-`5+nGOlH!-<$U%|COsPKS&`5K-GW{UKLV^s z!g3J(7M!CPz##igmg|E!PceiGY|W&RFneU`CZp_)sjq$*8zZqPU1@ zMuZT##D;_k@iKvn{SsY*gecn;7P;9x#RAs|V!S1aD->5TL14+H@(am(DK5h*#Tqxw zh-ngKU&JLvMVjI^%mj70d@`Gtpze>>eH8+HeE>|xn#wmHp5G2|Aym#vcA@QiC#T% z07YEC#$5_HJFg!=;zxN4&0j>HfK}tgo=P{`v?4+#yn?NS;l$~Y0><7O>Siu2Vv_xl z!o$r`*B?3-rTQ1ZrtPpr}wlXsZNb`4Yt%7dElMgb3Q!@B?&Z zVl>XmkA%d;jR^}Qq&6%tG0~+96ZI#!RDXfz-WDQVvY0cOnfILMJ!c*Up9PmMFVjisv-6}#Hrw|t3*svBsR7EdGA5IImbh$2q0gge$L|zK9GvcMx z&CZEWQg7W5M$9U4@!Rg!u4;&2jAI<vv!r+;xB5&&7dS4OhMdK0VfDa{ z0}1g~ULZ!AW0q27WzL(x62}$98Pr0qIGeqbBN>)Ct`TcZSz!tBU0E~?tZ>|hoxxTp zX7fdw%=@_QryQlm0Z1m#+G#+v>mVWQ6xZqW019NfnSpFk-lw`50JXZLpAET!&WV|SL|8pzdSU!@7FMGc&&E+Yjk0s zRe7nh($2JI&J&oyBLu}8=TyyrYCM_)GK8<8i!7!Zjt1RqNK~Oo3%aSd37g)2qy`rC U+FE_AReaS)DRNhm;=C*N4^aBhO8@`> diff --git a/build/classes/java/test/hhn/temp/project/GoodCasesTest.class b/build/classes/java/test/hhn/temp/project/GoodCasesTest.class index 1b0eb457e6f50cd5ce8c8e1227f25baddfabde1a..1a14beb6c965684465011406bcbc95fbf1bef653 100644 GIT binary patch delta 93 zcmdn*v&UzH3#Ta;13SZU9)=SPCm9(y(^E^r^NX@mix?SXG(0tZGBWb?OHy+S^b3me rvr>~w^dYj=n@czsi%nKh6<|Cz*+4;-n~UKN!(9dt;MyFa@SGI@RG1t( delta 90 zcmdnvv)^Zf3#SA(gE_--9)=SPCm9*Ilk@XR5;OCPy;CbEpJfzhjM`kuxmZlnje!XW r85o4LwlHvQV~CL6!4SQZ;TRLcWL*VWZXt#{40nODK>5v~3eQ;qo$VMm diff --git a/build/jacoco/test.exec b/build/jacoco/test.exec index 44afc2372dfaa6b35f8761650f90d299bb8eec9e..f1ab0a3b552a3bdc0b56d8bf8e3b87b485970c28 100644 GIT binary patch delta 296 zcmcb$l=uGXfS!B!5bz9hRyR0y_h%4nCh}|MNeA0Wc^i>0}Qg0eRs;rzhGo$U|@Kl+xP!} zyhz3zejo=3=DlaEI1u!7zVT)cYi5?s_4fZn86Rw}3w7h;sBE-((p2&8!Q`_GwfNru z=NGJ5q!g#WVap~4hshh)sZE|6#=ZG}vMx6Z$lT2a`PXon`<3 sz3h|yHfC}(a)aH*uzCN+S!|3Po1=Ct;bJu0{Qr9hM;0Z4UmE&u=k delta 451 zcmeyknEBRHW2uD1XRt|F`RTmmAYV!*=mD2%lZF%**DAD{}*L^wpljRjc@bJ zdY1DXn_2U(@iPA3e5WQ;l&PL^v->1wE-tM_%)Q3%S7pVY9~^Ayy7UCxHuTb0&VAoSm%2{QW=w=E#L>dANG`bbor;i8M3V zPA+6oQ$cYt&>)x85}?zIS@{K}%Svji&t-QqSWGrdG1~03E`!lf)G_1f?DD4#45~zU zT*Z)ydGgBjos-ixWN=*MX9xfWt;ptU8)mUFGHfo~zJ!a>e6!dgX)Z>w%|>VTvjPD7 Cu&9Ut diff --git a/build/reports/tests/test/classes/hhn.temp.project.BadCasesTest.html b/build/reports/tests/test/classes/hhn.temp.project.BadCasesTest.html index 2e827fd4..103c5272 100644 --- a/build/reports/tests/test/classes/hhn.temp.project.BadCasesTest.html +++ b/build/reports/tests/test/classes/hhn.temp.project.BadCasesTest.html @@ -41,7 +41,7 @@
-
0.016s
+
0.036s

duration

@@ -81,7 +81,7 @@ Assert Add Task is programmed defensively assertAddTaskOnlyAcceptsValidParameters() -0.002s +0.003s passed @@ -93,31 +93,31 @@ Assert non-existent commands are recognized as such assertInvalidCommandsDontCrash() -0.001s +0.004s passed Assert List isn't empty after adding a task assertListNowEmptyAfterAdd() -0.002s +0.015s passed Assert that added tasks can't be Null assertNewTasksAreNotNull() -0.002s +0.001s passed Assert that Remove Task is programmed defensively assertRemoveTaskOnlyAcceptsValidParameters() -0.001s +0.006s passed Assert that removing a non-existent worker throws an Exception assertRemovingNonExistentWorkerFails() -0.002s +0.001s passed @@ -143,7 +143,7 @@ Generated by -Gradle 8.14 at 06.01.2026, 19:34:44

+Gradle 8.14 at 06.01.2026, 20:04:07

diff --git a/build/reports/tests/test/classes/hhn.temp.project.GoodCasesTest.html b/build/reports/tests/test/classes/hhn.temp.project.GoodCasesTest.html index 853b19ce..8477a2f1 100644 --- a/build/reports/tests/test/classes/hhn.temp.project.GoodCasesTest.html +++ b/build/reports/tests/test/classes/hhn.temp.project.GoodCasesTest.html @@ -29,7 +29,7 @@
-
1
+
0

failures

@@ -41,7 +41,7 @@
-
0.085s
+
0.047s

duration

@@ -50,8 +50,8 @@ -
-
92%
+
+
100%

successful

@@ -61,9 +61,6 @@
-

Failed tests

-
- -

Assert that removing a worker removes the worker from the worker list

- -
org.opentest4j.AssertionFailedError: Expected java.lang.IllegalArgumentException to be thrown, but nothing was thrown.
-	at app//org.junit.jupiter.api.AssertionFailureBuilder.build(AssertionFailureBuilder.java:152)
-	at app//org.junit.jupiter.api.AssertThrows.assertThrows(AssertThrows.java:73)
-	at app//org.junit.jupiter.api.AssertThrows.assertThrows(AssertThrows.java:35)
-	at app//org.junit.jupiter.api.Assertions.assertThrows(Assertions.java:3111)
-	at app//hhn.temp.project.GoodCasesTest.assertRemoveWorkerActuallyRemoves(GoodCasesTest.java:153)
-	at java.base@17.0.2/java.lang.reflect.Method.invoke(Method.java:568)
-	at java.base@17.0.2/java.util.ArrayList.forEach(ArrayList.java:1511)
-	at java.base@17.0.2/java.util.ArrayList.forEach(ArrayList.java:1511)
-
-
-
-
-

Tests

@@ -103,19 +81,19 @@ - + - + - + @@ -127,25 +105,25 @@ - + - + - - - - + + + + - + @@ -175,7 +153,7 @@ - +
Check that every required surface command actually works assertCommandsAreRecognized()0.017s0.015s passed
Assert deleted Tasks no longer show up in the List assertDeletedTasksDisappear()0.001s0.003s passed
Check that editing is possible through UI assertEditingTasksIsPossibleThroughUi()0.014s0.008s passed
Check that every task command works assertFinishingTasksIsPossibleThroughUi()0.008s0.004s passed
Check Getters assertGettersWorkCorrectly()0.019s0.004s passed
Assert that removing a worker removes the worker from the worker listassertRemoveWorkerActuallyRemoves()0.012sfailedAssert that removing a worker removes the worker from the worker listassertRemoveWorkerActuallyRemoves()0.002spassed
Assert that removing Workers is possible through the UI assertRemovingWorkersIsPossibleThroughUI()0.005s0.003s passed
Assert that Worker can remove Task assertWorkerCanRemoveOwnTask()0.001s0s passed
@@ -192,13 +170,13 @@ Task edited General: help, ? - Show this help exit - Exit the program - listworkers - List all workers and select one - selecttask - Select a task by ID - createtask - Create a new task createworker - Create a new worker - listtasks - List all tasks - listunfinished - List unfinished tasks - listfinished - List finished tasks + createtask - Create a new task + selecttask - Select a task to work with + listworkers - List all workers + listtasks - List all tasks with status + listfinished - List only finished tasks + listunfinished - List only unfinished tasks When a task is selected: finish - Mark task as finished @@ -214,13 +192,13 @@ When a worker is selected: General: help, ? - Show this help exit - Exit the program - listworkers - List all workers and select one - selecttask - Select a task by ID - createtask - Create a new task createworker - Create a new worker - listtasks - List all tasks - listunfinished - List unfinished tasks - listfinished - List finished tasks + createtask - Create a new task + selecttask - Select a task to work with + listworkers - List all workers + listtasks - List all tasks with status + listfinished - List only finished tasks + listunfinished - List only unfinished tasks When a task is selected: finish - Mark task as finished @@ -233,7 +211,7 @@ When a worker is selected: remove - Remove the worker back - Return to main menu Enter worker name: -Created worker with ID: 1 +Created worker with ID: 1001 Enter task ID: Invalid input. Please enter a task ID or 'back': Invalid input. Please enter a task ID or 'back': @@ -245,13 +223,13 @@ Task marked as unfinished Task removed Unknown command. Type 'help' for available commands. Unknown command. Type 'help' for available commands. + Available workers: - 1: Alfred - 2: Balfred -Enter worker ID to select (or 'back'): -Worker 1 (Alfred) selected -Commands: remove, back -Worker removed + 1001: Alfred + 1002: Balfred + +Unknown command. Type 'help' for available commands. +Unknown command. Type 'help' for available commands. Unknown command. Type 'help' for available commands. Unknown command. Type 'help' for available commands. @@ -265,7 +243,7 @@ Unknown command. Type 'help' for available commands.
Generated by -Gradle 8.14 at 06.01.2026, 19:34:44

+Gradle 8.14 at 06.01.2026, 20:04:07

diff --git a/build/reports/tests/test/index.html b/build/reports/tests/test/index.html index f5786cff..1c5a0a0d 100644 --- a/build/reports/tests/test/index.html +++ b/build/reports/tests/test/index.html @@ -26,7 +26,7 @@
-
4
+
3

failures

@@ -38,7 +38,7 @@
-
1.063s
+
1.048s

duration

@@ -48,7 +48,7 @@
-
84%
+
88%

successful

@@ -82,10 +82,6 @@ DatabaseGoodCasesTest. Assert that the TestClass could be inserted into the database -
  • -GoodCasesTest. -Assert that removing a worker removes the worker from the worker list -
  • @@ -107,10 +103,10 @@ hhn.temp.project 25 -4 +3 0 -1.063s -84% +1.048s +88% @@ -136,7 +132,7 @@ 8 0 0 -0.016s +0.036s 100% @@ -146,7 +142,7 @@ 1 0 0 -0.070s +0.051s 100% @@ -156,18 +152,18 @@ 3 3 0 -0.892s +0.914s 0% - + hhn.temp.project.GoodCasesTest 13 -1 0 -0.085s -92% +0 +0.047s +100% @@ -180,7 +176,7 @@
    Generated by -Gradle 8.14 at 06.01.2026, 19:34:44

    +Gradle 8.14 at 06.01.2026, 20:04:07

    diff --git a/build/reports/tests/test/packages/hhn.temp.project.html b/build/reports/tests/test/packages/hhn.temp.project.html index b3490be6..fdde584e 100644 --- a/build/reports/tests/test/packages/hhn.temp.project.html +++ b/build/reports/tests/test/packages/hhn.temp.project.html @@ -28,7 +28,7 @@
    -
    4
    +
    3

    failures

    @@ -40,7 +40,7 @@
    -
    1.063s
    +
    1.048s

    duration

    @@ -50,7 +50,7 @@
    -
    84%
    +
    88%

    successful

    @@ -81,10 +81,6 @@ DatabaseGoodCasesTest. Assert that the TestClass could be inserted into the database -
  • -GoodCasesTest. -Assert that removing a worker removes the worker from the worker list -
  • @@ -107,7 +103,7 @@ 8 0 0 -0.016s +0.036s 100% @@ -117,7 +113,7 @@ 1 0 0 -0.070s +0.051s 100% @@ -127,18 +123,18 @@ 3 3 0 -0.892s +0.914s 0% - + GoodCasesTest 13 -1 0 -0.085s -92% +0 +0.047s +100%
    @@ -150,7 +146,7 @@ Generated by -Gradle 8.14 at 06.01.2026, 19:34:44

    +Gradle 8.14 at 06.01.2026, 20:04:07

    diff --git a/build/test-results/test/TEST-hhn.temp.project.BadCasesTest.xml b/build/test-results/test/TEST-hhn.temp.project.BadCasesTest.xml index 9f98525e..e73a1ac6 100644 --- a/build/test-results/test/TEST-hhn.temp.project.BadCasesTest.xml +++ b/build/test-results/test/TEST-hhn.temp.project.BadCasesTest.xml @@ -1,14 +1,14 @@ - + - - - - - + + + + + - + diff --git a/build/test-results/test/TEST-hhn.temp.project.GoodCasesTest.xml b/build/test-results/test/TEST-hhn.temp.project.GoodCasesTest.xml index 68e169e9..7a8b06b4 100644 --- a/build/test-results/test/TEST-hhn.temp.project.GoodCasesTest.xml +++ b/build/test-results/test/TEST-hhn.temp.project.GoodCasesTest.xml @@ -1,30 +1,19 @@ - + - - - + + + - - + + - + - - org.opentest4j.AssertionFailedError: Expected java.lang.IllegalArgumentException to be thrown, but nothing was thrown. - at app//org.junit.jupiter.api.AssertionFailureBuilder.build(AssertionFailureBuilder.java:152) - at app//org.junit.jupiter.api.AssertThrows.assertThrows(AssertThrows.java:73) - at app//org.junit.jupiter.api.AssertThrows.assertThrows(AssertThrows.java:35) - at app//org.junit.jupiter.api.Assertions.assertThrows(Assertions.java:3111) - at app//hhn.temp.project.GoodCasesTest.assertRemoveWorkerActuallyRemoves(GoodCasesTest.java:153) - at java.base@17.0.2/java.lang.reflect.Method.invoke(Method.java:568) - at java.base@17.0.2/java.util.ArrayList.forEach(ArrayList.java:1511) - at java.base@17.0.2/java.util.ArrayList.forEach(ArrayList.java:1511) - - + - + diff --git a/build/test-results/test/binary/results.bin b/build/test-results/test/binary/results.bin index 838d69a9b86c8c9741375d5376a0ed08b6a760d3..496ad193368b6c590f704714ecc02bae537d7e40 100644 GIT binary patch delta 420 zcmeCP_+&7_m3iZfw-Y_Wcs8*yFfh)Zvhj^P~bbCb&R8cOnZT|KyAO4nX03jC_;D1dO?jq53{DuuTpTFaXMQbFfbC6!7Bahsw-i zV4r+XAdH&@%Ae1`G1*=)fg9$C6%3q{R|%$bGeYH8GjL6o5ensIhVnNsa8Irg@&lT@ zg@I@Cd7)Y$YX<}Gjc>&mL?_FOI&(8XRZ1|3P0khdhne(NmO*^-aZwkbN<{{V z$pT_2Fc-d6Wssa)FXjW3QD=~vd_gRmhk*%dh$e&du;GGbEFyGsDcp2K)@T z5JfD8TZ~0fQE}l;x|Y(FE3qy_+_-n^#-+ZbFQEmY5!}q&bIyI|-nnz%&&0~{hq?Vt z$AiY{Ip3NKA?C?y)BT2d)Yy!?+lV;1B&EK!sm2CgpLIQVIGe1mOK2Q+FbCmte}>Sn zm>39rnw#7{$NoTJ$ny!J++jm-k3Y-pqsm!bJtVxbbg!UZUvMjrSWo+c+}kQWX`Cc1s)5eG|=3mi)`=aCOSL{5>+0`dbd6gekV z6x0W{aE>U8s2{e3MVs+asm{FCjFP13vTDhub*v&~O;a{3MN=oSQk9E2!_bUhOb>s3zl3IEBG3gs#q;aXR1}XgsWMjR9hk?a`gpSw-j4bMN1P4vS^hJZCQWwf8LS_j<4;VqG5|Zgo(psftCOx?;(Ogmq>2m}-VRUQ?2!@GvKLv0OaEIDGQj`Ua{-aRQsNnI{V<(Ft`vs0F10Q8UR=DIukR@n+ne oIJ+xOGdxU1=Uq+qItr}8R#1S==nPrR diff --git a/build/tmp/compileJava/previous-compilation-data.bin b/build/tmp/compileJava/previous-compilation-data.bin index f0c183506ecc382a41d602ca35153926523820a5..3f9b3a80f8329ca14b80100d5659d5d0a26f1344 100644 GIT binary patch delta 90 zcmV-g0Hyzy2bTwsRVu@cG+~fROL|5Wvgoyr<53Mw0S*9!VQFpA|1k$>wD>I+~&SwDv}!VP&NUl?*Iu}|ecJXMlX?Lx0s#rLsR8E!2O$>$00000!<8eh diff --git a/build/tmp/compileTestJava/compileTransaction/stash-dir/GoodCasesTest.class.uniqueId0 b/build/tmp/compileTestJava/compileTransaction/stash-dir/GoodCasesTest.class.uniqueId0 index 9a36c568179e17e9a3a7f15f8f25a3fa75f5520d..1b0eb457e6f50cd5ce8c8e1227f25baddfabde1a 100644 GIT binary patch delta 120 zcmdn*v)^Y!yqs(!gEB)CgE2!hgFQnFgEvDfLo`DhLpDP@Lpejo;Vw8YBF-pH5-E0Ubwh@+V&iy cMijE>wT|Oav-ATJ1jk+>xBvhE delta 70 zcmV-M0J;B$5QY$t*bq*pKjvTt^PnJCgYZ3K+M}`P>;Vutz@|Bl_iK?7^6QNPqzf9O c(); taskMap = new HashMap<>(); - int workerIdCounter = 1000; - int taskIdCounter = 0; + workerIdCounter = 1000; + taskIdCounter = 0; userInterface = new UserCommands(this); } public Map getTaskMap() { diff --git a/src/main/java/hhn/temp/project/Main.java b/src/main/java/hhn/temp/project/Main.java index e944ddbc..eedcea83 100644 --- a/src/main/java/hhn/temp/project/Main.java +++ b/src/main/java/hhn/temp/project/Main.java @@ -5,5 +5,6 @@ import java.util.Scanner; public class Main { public static void main(String[] args) { AssignmentManager manager = new AssignmentManager(); + manager.startCLI(); } } diff --git a/src/main/java/hhn/temp/project/UserCommands.java b/src/main/java/hhn/temp/project/UserCommands.java index 8bf59c63..3c034764 100644 --- a/src/main/java/hhn/temp/project/UserCommands.java +++ b/src/main/java/hhn/temp/project/UserCommands.java @@ -151,13 +151,13 @@ public class UserCommands implements Runnable { System.out.println("General:"); System.out.println(" help, ? - Show this help"); System.out.println(" exit - Exit the program"); - System.out.println(" listworkers - List all workers and select one"); - System.out.println(" selecttask - Select a task by ID"); - System.out.println(" createtask - Create a new task"); System.out.println(" createworker - Create a new worker"); - System.out.println(" listtasks - List all tasks"); - System.out.println(" listunfinished - List unfinished tasks"); - System.out.println(" listfinished - List finished tasks"); + System.out.println(" createtask - Create a new task"); + System.out.println(" selecttask - Select a task to work with"); + System.out.println(" listworkers - List all workers"); + System.out.println(" listtasks - List all tasks with status"); + System.out.println(" listfinished - List only finished tasks"); + System.out.println(" listunfinished - List only unfinished tasks"); System.out.println("\nWhen a task is selected:"); System.out.println(" finish - Mark task as finished"); @@ -185,16 +185,23 @@ public class UserCommands implements Runnable { case "selecttask": System.out.println("Enter task ID:"); - currentState = InputState.AWAITING_TASK_SELECTION; // Change to new state + currentState = InputState.AWAITING_TASK_SELECTION; break; case "listworkers": - System.out.println("Available workers:"); - for (Worker w : manager.getWorkerMap().values()) { - System.out.println(" " + w.getId() + ": " + w.getName()); - } - System.out.println("Enter worker ID to select (or 'back'):"); - currentState = InputState.WORKER_SELECTED; + listWorkers(); + break; + + case "listtasks": + listAllTasks(); + break; + + case "listfinished": + listTasksByStatus(TaskState.FINISHED); + break; + + case "listunfinished": + listTasksByStatus(TaskState.IN_PROGRESS); break; default: @@ -202,6 +209,54 @@ public class UserCommands implements Runnable { } } + private void listWorkers() { + System.out.println("\nAvailable workers:"); + if (manager.getWorkerMap().isEmpty()) { + System.out.println(" No workers found."); + } else { + for (Worker w : manager.getWorkerMap().values()) { + System.out.println(" " + w.getId() + ": " + w.getName()); + } + } + System.out.println(); + } + + private void listAllTasks() { + System.out.println("\nAll tasks:"); + if (manager.getTaskMap().isEmpty()) { + System.out.println(" No tasks found."); + } else { + for (Task task : manager.getTaskMap().values()) { + Worker worker = manager.getWorker(task.getWorkerId()); + String status = task.getTaskState() == TaskState.FINISHED ? "[FINISHED]" : "[IN PROGRESS]"; + System.out.println(String.format(" %d: %s - %s (Worker: %d - %s)", + task.getTaskId(), status, task.getName(), + worker.getId(), worker.getName())); + } + } + System.out.println(); + } + + private void listTasksByStatus(TaskState status) { + System.out.println("\nTasks with status: " + status); + boolean found = false; + + for (Task task : manager.getTaskMap().values()) { + if (task.getTaskState() == status) { + Worker worker = manager.getWorker(task.getWorkerId()); + System.out.println(String.format(" %d: %s (Worker: %d - %s)", + task.getTaskId(), task.getName(), + worker.getId(), worker.getName())); + found = true; + } + } + + if (!found) { + System.out.println(" No tasks found with this status."); + } + System.out.println(); + } + private void handleWorkerSelectionInput(String input) { if ("back".equalsIgnoreCase(input)) { resetToMainMenu(); diff --git a/test/hhn/temp/project/GoodCasesTest.java b/test/hhn/temp/project/GoodCasesTest.java index 6f9cd642..1b69f248 100644 --- a/test/hhn/temp/project/GoodCasesTest.java +++ b/test/hhn/temp/project/GoodCasesTest.java @@ -150,6 +150,6 @@ public class GoodCasesTest { public void assertRemoveWorkerActuallyRemoves() { int workerId = manager.createWorker("Alfred"); manager.removeWorker(workerId); - assertThrows(IllegalArgumentException.class, () -> manager.getWorkerMap().containsKey(workerId)); + assertThrows(IllegalArgumentException.class, () -> manager.getWorker(workerId)); // Use getWorker } }