From 80971f1b31fcd2aaba4bed9851913dfe11271a0a Mon Sep 17 00:00:00 2001 From: Emman Mensdorf Date: Wed, 31 Jan 2024 17:10:38 +0100 Subject: [PATCH] Bauern abfrage schwarz, Emman Mensdorf --- build/artifacts/test/report.xml | 15 +++--- build/test/cache/test_Bauer.c | 56 +++++++++++++++++++++-- build/test/out/c/Bauer.o | Bin 3011 -> 3491 bytes build/test/out/c/test_Bauer.o | Bin 6892 -> 7670 bytes build/test/out/c/test_Bauer_runner.o | Bin 7694 -> 8106 bytes build/test/out/test_Bauer.out | Bin 310694 -> 311903 bytes build/test/preprocess/files/test_Bauer.c | 56 +++++++++++++++++++++-- build/test/results/test_Bauer.pass | 14 ++++-- build/test/results/test_Input.pass | 2 +- build/test/results/test_Moving.pass | 2 +- build/test/results/test_Schachbrett.pass | 2 +- build/test/runners/test_Bauer_runner.c | 6 ++- src/Bauer.c | 26 ++++++++++- test/test_Bauer.c | 22 +++++++++ 14 files changed, 175 insertions(+), 26 deletions(-) diff --git a/build/artifacts/test/report.xml b/build/artifacts/test/report.xml index a4b9029..a0dddf2 100644 --- a/build/artifacts/test/report.xml +++ b/build/artifacts/test/report.xml @@ -9,27 +9,30 @@ test/test_Bauer.c::test_Bauer_Schlag_Bewegung - test/test_Bauer.c::test_Bauer_Y_Bewegung + test/test_Bauer.c::test_Bauer_Schwarz_Y_Bewegung - test/test_Bauer.c::test_Bauer_Start_Bewegung + test/test_Bauer.c::test_Bauer_Y_Bewegung - test/test_Input.c::test_getUserInput + test/test_Bauer.c::test_Bauer_Start_Bewegung - test/test_Moving.c::test_Bauern_bewegen + test/test_Input.c::test_getUserInput - test/test_Moving.c::test_istzugerlaubt + test/test_Moving.c::test_Bauern_bewegen + test/test_Moving.c::test_istzugerlaubt + + test/test_Schachbrett.c::test_Schachbrett_erstellen - 8 + 9 0 0 0 diff --git a/build/test/cache/test_Bauer.c b/build/test/cache/test_Bauer.c index 370c05b..e5aebdb 100644 --- a/build/test/cache/test_Bauer.c +++ b/build/test/cache/test_Bauer.c @@ -112,6 +112,54 @@ void test_Bauer_Schlag_Bewegung(void) { + for (int i = 0; i < 8; i++) { + + free(brett[i]); + + } + + free(brett); + +} + + + +void test_Bauer_Schwarz_Y_Bewegung(void) { + + + + char** brett = Schachbrett_erstellen(); + + int startX = 1; + + int startY = 6; + + int endX = 1; + + int endY = 5; + + Player player = PLAYER_BLACK; + + + + + + do {if ((((brett)) != + + ((void *)0) + + )) {} else {UnityFail( (((" Expected Non-NULL"))), (UNITY_UINT)((UNITY_UINT)((UNITY_UINT)(72))));}} while(0); + + + + + + do {if ((istzugerlaubt_Bauer( brett, startX, startY, endX, endY, player))) {} else {UnityFail( ((" Expected TRUE Was FALSE")), (UNITY_UINT)((UNITY_UINT)(75)));}} while(0); + + + + + for (int i = 0; i < 8; i++) { free(brett[i]); @@ -150,13 +198,13 @@ void test_Bauer_Y_Bewegung(void) { ((void *)0) - )) {} else {UnityFail( (((" Expected Non-NULL"))), (UNITY_UINT)((UNITY_UINT)((UNITY_UINT)(73))));}} while(0); + )) {} else {UnityFail( (((" Expected Non-NULL"))), (UNITY_UINT)((UNITY_UINT)((UNITY_UINT)(95))));}} while(0); - do {if ((istzugerlaubt_Bauer( brett, startX, startY, endX, endY, player))) {} else {UnityFail( ((" Expected TRUE Was FALSE")), (UNITY_UINT)((UNITY_UINT)(76)));}} while(0); + do {if ((istzugerlaubt_Bauer( brett, startX, startY, endX, endY, player))) {} else {UnityFail( ((" Expected TRUE Was FALSE")), (UNITY_UINT)((UNITY_UINT)(98)));}} while(0); @@ -198,13 +246,13 @@ void test_Bauer_Start_Bewegung(void) { ((void *)0) - )) {} else {UnityFail( (((" Expected Non-NULL"))), (UNITY_UINT)((UNITY_UINT)((UNITY_UINT)(95))));}} while(0); + )) {} else {UnityFail( (((" Expected Non-NULL"))), (UNITY_UINT)((UNITY_UINT)((UNITY_UINT)(117))));}} while(0); - do {if ((istzugerlaubt_Bauer( brett, startX, startY, endX, endY, player))) {} else {UnityFail( ((" Expected TRUE Was FALSE")), (UNITY_UINT)((UNITY_UINT)(98)));}} while(0); + do {if ((istzugerlaubt_Bauer( brett, startX, startY, endX, endY, player))) {} else {UnityFail( ((" Expected TRUE Was FALSE")), (UNITY_UINT)((UNITY_UINT)(120)));}} while(0); diff --git a/build/test/out/c/Bauer.o b/build/test/out/c/Bauer.o index 5efc50bc2bedfe01ec9b10124f6e3f6e98d3be43..dfc6c8d6eaaa88f43084ff4dfbf9205d62ad3cf3 100644 GIT binary patch delta 762 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 E50n5O+yDRo delta 2056 zcmZXVZD^ZS6vxkfo+NFW*EVgsrtQ`=OShJ_&e5=LtD1D}Xj#STI@gZj>};$K9CLK| zf-H(MgiTy_m{8_~31j=9FnzwLNNGW|AbyyF8{(&`L#%>|_=5Z3|33H0snZMhXX$olF?7 zo|LD}`JQ9bQ?pY>({>E~bfEle`?kjv(btIBUT?f%{NyP=aL1injo{gSKQdPnz3a_e z$M>pc>-h*DRvm#wEb{vXeod{d`4stn!SGfC&#QLp!#FRi4(ocHYpf0{T<2`D?zZ>| ztBQyHDK)~cT3Z7zEgY}^V3eN>?BhTD{d~xOj+X*q{vuG|wyI%gw(32l`nVVzwH(`V zf=AT``y#5?m$5Y0Q0&oT#UlBetoS$Dp$)~WYx!DhJwFr*rT#O2HPYr6L+P;HsG}a% zQ3-yhHOU``HgY+fP)WWN?vDG4N2Vuee^A%6%Huv>4tFab$0JRp$%6yMr;0PjkIc|L zwYU}Cu9+WFufLDGQVkdu!g|40*)2f>UZw-83cj7*Xu^~klrpF~NkiUnOzC&9D}2_? zGa9(y7UQdt8lUfRx{r^Blf2Rr=WinkYs$xeMK*cM?v#9-i+1bDeeUGvqHD2-^U=!o z607rWMD_Lpu}6}A8o@*I^^#q^J*{?xwuMF#)*7c2%PQPOxsbFzQO;{+0u*N$FGTuedM%Q~?Xa!{QWwC7&(G4;YFM~SWh_^w= zTtc}8nYbhqe+HS<0i2ql6v(6=2bt6dKqmDIAaAMSofGdO$Xlw=3aI3*6}RrK6=V`V z05S;=iTAL0&w@91<`G6szTMEn5*fp)Oh1U^(Aqy5wS(6O}y(x(?w01P2$}w zTCY%_c>6`m3k`bSl1;jte()h`gVm`Ojl&vkLbTJOoe}LL(UwHJB^nZW`FcSnU!Q3D zWSaE;Lv$Bx+NFZf5XdZMFR0b^p2Ce8?M=`+SGy`SFZ6@ZpCA*_gKIK01TwLEY}7Y6 zCE_bW=OyGzp`XP2w@?t*ZL;Kqc7jZ~XN1m(_l*jb=&cIU4WXML6CCqbs8c9_ee2IQ zM3sl6s2yW-g8K0q>JsV^+9IT1MVfHRAzD53UEsq1LgJ%I*71PeQ9gx0U{P)8ESN?JIAn zUyZHwKbt=B+uKcVsE^K81umo#ILP0KA8c;V+IkgeA#_{mzr2V${^ zL`CP=kM3kkG;^9Ii_=Jm)<0&4s05JiX(2g6svq5bbGCAlqjMQEL<8jU1(mNP5eF(PpMEmzxu&5VPqY zO3bt9noHlSa11$wxR3{78D94pI(-ia5zU8o8I{w}FDuNiy+T}r^Rgss7Q6h3Pq*N@ z+$BGUETcj$K($ffD8(0*`{95Qb<`qO`C;6MrrHp#*9B(~1l1Ro^lD_JCN_N3* zSCwnrE`(DxCt;nttiIFy2varD^r6k@n~)d7$&tZ0WfHQ+Gi1rP*_~~|A$McR1{yb+ z-XORP7v0Ik(Zp~!^(=*1_k%JFzq=!{2%Mg<%!hK%+p;Dz<@rEj-RTy;ya9dQ9&}85 zpUV{b?#Oi4`V{UMQHYma(DG?2VroR%ro2yLyIs*+*wT91#RaA-OkXg4!}KH5JktVF zgAgf9^Dm-K?ZdgzsY6KUMsFFCE}<5Q3bKn1qHT;c z*lKMbYZI)UWo?$V?^yeXHTrw#e6*ZV8ox_yW$`eHN*iL0CbL{=wE8rDmuO+yiKG+m zMS56y_uvncwz3pQn1E>#*Gc!dWykkx4CCKKQv=fhrWDg9Ci-${fn4g#(S50OT_6># ziAvJ6k%^W`X(_d%wYzmi6pu5}XQxvmh-SQSTF_|xny8ni$CzlHwYF2y#+UjJCy>aN zmWAk3&Ry8z5%7PD!!P-OsAIo|Vb+SB2 z`vZ{l`?IDjB^Q+<`7@mG$K(=BVr-@ED179}>aw1^s%Ksx$CRiSwHD3M?g;W9lpgk1#9qvzC(0%4<26M1KdJ=n@PR^yJ>K zbesW8zXQJ�KuNz7oHqHkodPe682F2;CZsQ9?bfX8j)e^Bxh AqW}N^ delta 2014 zcmZXVYitx%6oAj&S6g?d-DSJ4wmZA++HPY?Eo4Fk8C2tZ%aiiK_{fPfp|&yet(UgX+dTD(mg2qRH?bm8zJdA*1vwjbE!LRWnw& zvg#RJ;mZ2nrwbj5;0{-V?;PQ45j^T@*zy(O6s?IHtq6L9gS`*ta$QBwx8`%|UzIPYn!-$W_>Z_f1}qlGhFy#C(Zd-tyEA4e{yw_m~z@3d<{ z;Wh6D98ASuLZ43!U1`s{G|L3beN-aqpE{^7oz z2Sz5)6WFNQa468`AN2r~>25Ec2sC!D_nx7ldA>nvr_Bk}2lm8)v0K#ThkEHBbs)L8zahT zcSPJI(L>rz6BW$h8NzlgFG}JSB7TrO@GH?OP1Hd(9d5EE;zyuHyMQ>ZrOD&oM7g%c z)d{5w624z#vrvmf+r+gCam~!syf`y;uh3eF_KO=38g!xsH}GoGboh18(H22E)$~7LXjteKA%065^yNxBtMqTPz$S_q;@(iJ z5O0%l|J_nw$+f~`B?NxO%n}In{Zm<}t)|0J9_ynC+!c+6Z6kEtbU8d0&2;vV=jA9! z(?iPb2{Oz7XSR}QcZ`cuU>E)#&8X)vA4_3#EL!m@WpG=Dp;*jfI^&oS8?FXiRX7uC zaQ&ljKGx=4ptz0R_~&Y@xF(`fcqN``Y%#L~Z>n4ICxSi!i&__k6B)G*I}@44%}%~w z=g(1Ju_zm0Cl(T!s(nsorOs@jOBP;s6yLSMDLTpB?o5uNm6BNQ_fj{g-KiHV)Nn3-_9mQ(oGcZ6jW)$#iWOU%JYROU&dFbJmS*wYKZL8wYED q!F)1{hinTECoROfpYcv@(}`3iew(~SXyIS>VM?*k_WAKt%KtAo<>C1N diff --git a/build/test/out/test_Bauer.out b/build/test/out/test_Bauer.out index ebeca7d2927ceca75ccc1ce6f41ce7a5815643c5..9c25875282f5fa4be14951818d8c5857b85d2fc9 100644 GIT binary patch delta 39264 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 delta 38271 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 diff --git a/build/test/preprocess/files/test_Bauer.c b/build/test/preprocess/files/test_Bauer.c index 370c05b..e5aebdb 100644 --- a/build/test/preprocess/files/test_Bauer.c +++ b/build/test/preprocess/files/test_Bauer.c @@ -112,6 +112,54 @@ void test_Bauer_Schlag_Bewegung(void) { + for (int i = 0; i < 8; i++) { + + free(brett[i]); + + } + + free(brett); + +} + + + +void test_Bauer_Schwarz_Y_Bewegung(void) { + + + + char** brett = Schachbrett_erstellen(); + + int startX = 1; + + int startY = 6; + + int endX = 1; + + int endY = 5; + + Player player = PLAYER_BLACK; + + + + + + do {if ((((brett)) != + + ((void *)0) + + )) {} else {UnityFail( (((" Expected Non-NULL"))), (UNITY_UINT)((UNITY_UINT)((UNITY_UINT)(72))));}} while(0); + + + + + + do {if ((istzugerlaubt_Bauer( brett, startX, startY, endX, endY, player))) {} else {UnityFail( ((" Expected TRUE Was FALSE")), (UNITY_UINT)((UNITY_UINT)(75)));}} while(0); + + + + + for (int i = 0; i < 8; i++) { free(brett[i]); @@ -150,13 +198,13 @@ void test_Bauer_Y_Bewegung(void) { ((void *)0) - )) {} else {UnityFail( (((" Expected Non-NULL"))), (UNITY_UINT)((UNITY_UINT)((UNITY_UINT)(73))));}} while(0); + )) {} else {UnityFail( (((" Expected Non-NULL"))), (UNITY_UINT)((UNITY_UINT)((UNITY_UINT)(95))));}} while(0); - do {if ((istzugerlaubt_Bauer( brett, startX, startY, endX, endY, player))) {} else {UnityFail( ((" Expected TRUE Was FALSE")), (UNITY_UINT)((UNITY_UINT)(76)));}} while(0); + do {if ((istzugerlaubt_Bauer( brett, startX, startY, endX, endY, player))) {} else {UnityFail( ((" Expected TRUE Was FALSE")), (UNITY_UINT)((UNITY_UINT)(98)));}} while(0); @@ -198,13 +246,13 @@ void test_Bauer_Start_Bewegung(void) { ((void *)0) - )) {} else {UnityFail( (((" Expected Non-NULL"))), (UNITY_UINT)((UNITY_UINT)((UNITY_UINT)(95))));}} while(0); + )) {} else {UnityFail( (((" Expected Non-NULL"))), (UNITY_UINT)((UNITY_UINT)((UNITY_UINT)(117))));}} while(0); - do {if ((istzugerlaubt_Bauer( brett, startX, startY, endX, endY, player))) {} else {UnityFail( ((" Expected TRUE Was FALSE")), (UNITY_UINT)((UNITY_UINT)(98)));}} while(0); + do {if ((istzugerlaubt_Bauer( brett, startX, startY, endX, endY, player))) {} else {UnityFail( ((" Expected TRUE Was FALSE")), (UNITY_UINT)((UNITY_UINT)(120)));}} while(0); diff --git a/build/test/results/test_Bauer.pass b/build/test/results/test_Bauer.pass index cd18e6d..dea5703 100644 --- a/build/test/results/test_Bauer.pass +++ b/build/test/results/test_Bauer.pass @@ -11,19 +11,23 @@ :line: 36 :message: '' :unity_test_time: 0 +- :test: test_Bauer_Schwarz_Y_Bewegung + :line: 62 + :message: '' + :unity_test_time: 0 - :test: test_Bauer_Y_Bewegung - :line: 63 + :line: 85 :message: '' :unity_test_time: 0 - :test: test_Bauer_Start_Bewegung - :line: 85 + :line: 107 :message: '' :unity_test_time: 0 :failures: [] :ignores: [] :counts: - :total: 4 - :passed: 4 + :total: 5 + :passed: 5 :failed: 0 :ignored: 0 :stdout: @@ -35,4 +39,4 @@ - " " - " p p p p p p p p " - " r n b q k b n r " -:time: 0.10874160006642342 +:time: 0.17051259998697788 diff --git a/build/test/results/test_Input.pass b/build/test/results/test_Input.pass index 791a663..e818eca 100644 --- a/build/test/results/test_Input.pass +++ b/build/test/results/test_Input.pass @@ -16,4 +16,4 @@ :ignored: 0 :stdout: - "-> " -:time: 0.025090100010856986 +:time: 0.030730400001630187 diff --git a/build/test/results/test_Moving.pass b/build/test/results/test_Moving.pass index 188aa47..e4ff5d5 100644 --- a/build/test/results/test_Moving.pass +++ b/build/test/results/test_Moving.pass @@ -27,4 +27,4 @@ - " " - " p p p p p p p p " - " r n b q k b n r " -:time: 0.03258749993983656 +:time: 0.02595009992364794 diff --git a/build/test/results/test_Schachbrett.pass b/build/test/results/test_Schachbrett.pass index 1f4516c..bfd5a2d 100644 --- a/build/test/results/test_Schachbrett.pass +++ b/build/test/results/test_Schachbrett.pass @@ -15,4 +15,4 @@ :failed: 0 :ignored: 0 :stdout: [] -:time: 0.03429610002785921 +:time: 0.02901870000641793 diff --git a/build/test/runners/test_Bauer_runner.c b/build/test/runners/test_Bauer_runner.c index ec2e660..a4f83b3 100644 --- a/build/test/runners/test_Bauer_runner.c +++ b/build/test/runners/test_Bauer_runner.c @@ -12,6 +12,7 @@ extern void setUp(void); extern void tearDown(void); extern void test_Bauer_X_Bewegung(void); extern void test_Bauer_Schlag_Bewegung(void); +extern void test_Bauer_Schwarz_Y_Bewegung(void); extern void test_Bauer_Y_Bewegung(void); extern void test_Bauer_Start_Bewegung(void); @@ -80,8 +81,9 @@ int main(void) UnityBegin("test_Bauer.c"); run_test(test_Bauer_X_Bewegung, "test_Bauer_X_Bewegung", 14); run_test(test_Bauer_Schlag_Bewegung, "test_Bauer_Schlag_Bewegung", 36); - run_test(test_Bauer_Y_Bewegung, "test_Bauer_Y_Bewegung", 63); - run_test(test_Bauer_Start_Bewegung, "test_Bauer_Start_Bewegung", 85); + run_test(test_Bauer_Schwarz_Y_Bewegung, "test_Bauer_Schwarz_Y_Bewegung", 62); + run_test(test_Bauer_Y_Bewegung, "test_Bauer_Y_Bewegung", 85); + run_test(test_Bauer_Start_Bewegung, "test_Bauer_Start_Bewegung", 107); return UnityEnd(); } diff --git a/src/Bauer.c b/src/Bauer.c index 78d288c..1d545a7 100644 --- a/src/Bauer.c +++ b/src/Bauer.c @@ -10,7 +10,10 @@ bool istzugerlaubt_Bauer(char** Brett, int startX, int startY, int endX, int end //Wichtig extra Funktion EN Passaut //Wichtig Bauernumwandlung -if((startY + 1 == endY) && ((startX + 1 == endX) ||(startX - 1 == endY)) && ((Brett[endY][endX] == 'p') || (Brett[endY][endX] == 'n') || (Brett[endY][endX] == 'b') || + +if (player == PLAYER_WHITE){ + + if((startY + 1 == endY) && ((startX + 1 == endX) ||(startX - 1 == endY)) && ((Brett[endY][endX] == 'p') || (Brett[endY][endX] == 'n') || (Brett[endY][endX] == 'b') || (Brett[endY][endX] == 'q') || (Brett[endY][endX] == 'r'))) { return true; @@ -20,12 +23,31 @@ if((startY + 1 == endY) && ((startX + 1 == endX) ||(startX - 1 == endY)) && ((Br if(startX != endX){ return false; } -if (player == PLAYER_WHITE){ + if ((startY + 1 ) == endY|| ((startY == 1) && (startY + 2 == endY))){ return true; }else { return false; } + + } + else{ + if((startY - 1 == endY) && ((startX + 1 == endX) ||(startX - 1 == endY)) && ((Brett[endY][endX] == 'P') || (Brett[endY][endX] == 'N') || (Brett[endY][endX] == 'B') || +(Brett[endY][endX] == 'Q') || (Brett[endY][endX] == 'R'))) +{ + return true; +} + + +if(startX != endX){ + return false; + } + + if ((startY - 1 ) == endY|| ((startY == 6) && (startY - 2 == endY))){ + return true; + }else { + return false; + } } diff --git a/test/test_Bauer.c b/test/test_Bauer.c index 7d061e6..567a1e4 100644 --- a/test/test_Bauer.c +++ b/test/test_Bauer.c @@ -59,6 +59,28 @@ void test_Bauer_Schlag_Bewegung(void) { free(brett); } +void test_Bauer_Schwarz_Y_Bewegung(void) { + + char** brett = Schachbrett_erstellen(); + int startX = 1; + int startY = 6; + int endX = 1; + int endY = 5; + Player player = PLAYER_BLACK; + + + TEST_ASSERT_NOT_NULL(brett); + + + TEST_ASSERT_TRUE(istzugerlaubt_Bauer( brett, startX, startY, endX, endY, player)); + + + for (int i = 0; i < 8; i++) { + free(brett[i]); + } + free(brett); +} + void test_Bauer_Y_Bewegung(void) {