From bb16d379977c4e1f43a931c7df6515de7a08619b Mon Sep 17 00:00:00 2001 From: Emman Mensdorf Date: Wed, 31 Jan 2024 17:04:28 +0100 Subject: [PATCH] Bauern schlag, Emman Mensdorf --- .vscode/settings.json | 58 +++++++++++++++++++- build/artifacts/test/report.xml | 15 +++--- build/test/cache/test_Bauer.c | 64 +++++++++++++++++++++-- build/test/out/c/Bauer.o | Bin 2603 -> 3011 bytes build/test/out/c/test_Bauer.o | Bin 5838 -> 6892 bytes build/test/out/c/test_Bauer_runner.o | Bin 7282 -> 7694 bytes build/test/out/test_Bauer.out | Bin 310006 -> 310694 bytes build/test/preprocess/files/test_Bauer.c | 64 +++++++++++++++++++++-- build/test/results/test_Bauer.pass | 24 ++++++--- 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 | 7 +++ test/test_Bauer.c | 26 +++++++++ 15 files changed, 244 insertions(+), 26 deletions(-) diff --git a/.vscode/settings.json b/.vscode/settings.json index d7c26cd..73973d9 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -1,4 +1,60 @@ { "C_Cpp.dimInactiveRegions": false, - "C_Cpp_Runner.msvcBatchPath": "C:/Program Files/Microsoft Visual Studio/2022/Community/VC/Auxiliary/Build/vcvarsall.bat" + "C_Cpp_Runner.msvcBatchPath": "C:/Program Files/Microsoft Visual Studio/2022/Community/VC/Auxiliary/Build/vcvarsall.bat", + "C_Cpp_Runner.cCompilerPath": "gcc", + "C_Cpp_Runner.cppCompilerPath": "g++", + "C_Cpp_Runner.debuggerPath": "gdb", + "C_Cpp_Runner.cStandard": "", + "C_Cpp_Runner.cppStandard": "", + "C_Cpp_Runner.useMsvc": false, + "C_Cpp_Runner.warnings": [ + "-Wall", + "-Wextra", + "-Wpedantic", + "-Wshadow", + "-Wformat=2", + "-Wcast-align", + "-Wconversion", + "-Wsign-conversion", + "-Wnull-dereference" + ], + "C_Cpp_Runner.msvcWarnings": [ + "/W4", + "/permissive-", + "/w14242", + "/w14287", + "/w14296", + "/w14311", + "/w14826", + "/w44062", + "/w44242", + "/w14905", + "/w14906", + "/w14263", + "/w44265", + "/w14928" + ], + "C_Cpp_Runner.enableWarnings": true, + "C_Cpp_Runner.warningsAsError": false, + "C_Cpp_Runner.compilerArgs": [], + "C_Cpp_Runner.linkerArgs": [], + "C_Cpp_Runner.includePaths": [], + "C_Cpp_Runner.includeSearch": [ + "*", + "**/*" + ], + "C_Cpp_Runner.excludeSearch": [ + "**/build", + "**/build/**", + "**/.*", + "**/.*/**", + "**/.vscode", + "**/.vscode/**" + ], + "C_Cpp_Runner.useAddressSanitizer": false, + "C_Cpp_Runner.useUndefinedSanitizer": false, + "C_Cpp_Runner.useLeakSanitizer": false, + "C_Cpp_Runner.showCompilationTime": false, + "C_Cpp_Runner.useLinkTimeOptimization": false, + "C_Cpp_Runner.msvcSecureNoWarnings": false } \ No newline at end of file diff --git a/build/artifacts/test/report.xml b/build/artifacts/test/report.xml index 16fbe75..a4b9029 100644 --- a/build/artifacts/test/report.xml +++ b/build/artifacts/test/report.xml @@ -6,27 +6,30 @@ test/test_Bauer.c::test_Bauer_X_Bewegung - test/test_Bauer.c::test_Bauer_Y_Bewegung + test/test_Bauer.c::test_Bauer_Schlag_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 - 7 + 8 0 0 0 diff --git a/build/test/cache/test_Bauer.c b/build/test/cache/test_Bauer.c index 0a83a79..370c05b 100644 --- a/build/test/cache/test_Bauer.c +++ b/build/test/cache/test_Bauer.c @@ -56,6 +56,62 @@ void test_Bauer_X_Bewegung(void) { + for (int i = 0; i < 8; i++) { + + free(brett[i]); + + } + + free(brett); + +} + + + +void test_Bauer_Schlag_Bewegung(void) { + + + + char** brett = Schachbrett_erstellen(); + + int startX = 6; + + int startY = 2; + + int endX = 5; + + int endY = 3; + + Player player = PLAYER_WHITE; + + + + + + do {if ((((brett)) != + + ((void *)0) + + )) {} else {UnityFail( (((" Expected Non-NULL"))), (UNITY_UINT)((UNITY_UINT)((UNITY_UINT)(46))));}} while(0); + + + + brett[startY][startX] = 'P'; + + brett[endY][endX] = 'p'; + + + + print_Schachfeld(brett,8,8); + + + + do {if (!(istzugerlaubt_Bauer( brett, startX, startY, endX, endY, player))) {} else {UnityFail( ((" Expected FALSE Was TRUE")), (UNITY_UINT)((UNITY_UINT)(53)));}} while(0); + + + + + for (int i = 0; i < 8; i++) { free(brett[i]); @@ -94,13 +150,13 @@ void test_Bauer_Y_Bewegung(void) { ((void *)0) - )) {} else {UnityFail( (((" Expected Non-NULL"))), (UNITY_UINT)((UNITY_UINT)((UNITY_UINT)(47))));}} while(0); + )) {} else {UnityFail( (((" Expected Non-NULL"))), (UNITY_UINT)((UNITY_UINT)((UNITY_UINT)(73))));}} while(0); - do {if ((istzugerlaubt_Bauer( brett, startX, startY, endX, endY, player))) {} else {UnityFail( ((" Expected TRUE Was FALSE")), (UNITY_UINT)((UNITY_UINT)(50)));}} 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); @@ -142,13 +198,13 @@ void test_Bauer_Start_Bewegung(void) { ((void *)0) - )) {} else {UnityFail( (((" Expected Non-NULL"))), (UNITY_UINT)((UNITY_UINT)((UNITY_UINT)(69))));}} 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)(72)));}} 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); diff --git a/build/test/out/c/Bauer.o b/build/test/out/c/Bauer.o index 086ac98e605ead6ce435950999b91eb9ca4fca0c..5efc50bc2bedfe01ec9b10124f6e3f6e98d3be43 100644 GIT binary patch delta 778 zcma)&&ubG=5XaxV-PzrS<_8jgRHc?cV?aqlz103dnz|(jy-sX4VE1uuel@FD^K1HA|ZkG+Y`+alqA|9gE;@KivYja8hP>ouA1rav+vaEm}mSn;fAIBaoG9n zchcFd?91pU(k$CCBU$KYJCTl=pfdEs@7Pp5{B-Mh&YJ6V%)@=HBNi^Z^M7qexbD00 zW4N4keUH9^?O&&dO_~W;-;*!d7t?$?1S&^WfdyH~gLuJ{=kn4_p-P4#8(gJdWSE0R6z0^^gamcvaF zsz#0HzUZM&xt_)vc8R@dAvmF`5q3=qtX<899x{7DBNt=PNQH~tHoNO?yTLl zE%#2tDi^JC!7Z-3mDQ?UX}Gq-8jh996xVGhX|dUfls}j9=TiU8iE+)^eWgYHFWb>G Sz(XJoj2N`NnUf+p@aqo~u(Evs delta 351 zcmX>szFLGUrHz*X1j5)Sa!D~IFicddVya=9xJZqyg^7V-2HV7QN^BE=tZi%)zbUaj z0J2W8O_pO+Vmi$-*@;n&&7YNlfsK7~9-|yrGtiiNAXkcg@-#*_wiFXVh3Jq0FAU}RxpWnpFv0NEPJFu96ZPdXCB1_BmFAi*cl#>B!5Wbm@FgfL7# z%XB75>?V-8WUJG?lZ7@3+GCiihEF{W(Z$R)%G0M=ba A3IG5A diff --git a/build/test/out/c/test_Bauer.o b/build/test/out/c/test_Bauer.o index 6f980a0c7fd2550b49899758d7fd987696386143..49cef52f58dcd57370a41c8d91276c991e330b4f 100644 GIT binary patch literal 6892 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 literal 5838 zcmcgwZEPGz8J^jXyK~mD&vw$(N!x7Fd^jb(vz?^*b{yN6o{3|b*r&!Q;M|?p=WEY* z=58;E1FaB_T1BRkjVe*3AjGdC!4Fja1teM;2ogw8QKc~f3oUxao_b1QaI>`E1Uw^#&pihgjuOPOYA;x-JB>N$u7wwPt z91iI1g}(z_RKu$k=AA1(AkF=p8sD+O@)gzh&sfJiYZby@TYTP8$I~ zAfbV_M%vyv}~B}!gRxg& zaewj5yVr(ybS$2^jmoYmE!^ifU@x{c0h3=nlNeBsG~P?qXFVVp z`-(-<(etfDU_gogWN}{T zc&Ppf7WxsdzKR*^0JamC=bWtTOxYu)V&_O|c-Y4}b#iztVLzR&*yCqY37>$Pf-f}S zM$rbKk3l-)m!pm0$P#TX(26vr;x$O#6n#N6Xtmad3|h%w!4MTu&CWkQ;(uDZT55Qk zj6kdGeh20n{n308y(O#FcE5#S4Lh1+qEBl#i#%*%Wyz-TsgaaD(0$PE?uqrpy6nzb zw_0?L=bWNb&S%j~m$Ng+i=}L-n6^7}>`^lE@+d(@i&`VjL)n>hnKev+!z1BBshG1x zQ7u;Txgu6PUvwcc>k`4x!j+j)*|mdehAD)G)Fx~S$3}RCp6n>dxn;$ErdoN^&u&A5~O=_<^OaOgvb>CwMW#jDiwih{zx z@U+SPQmMdNQpLPGe=40XFzu__#_d=|oz6A=0;#o*Vf5LVOxbbWNvB+KokGDWvXBuW z_otxT#=@>s@dB6}bJJyD=aQ4F7IWp@W+lfk`rzDg1D;mHc*_}@_B<^ zw-a9LoaPj#&apnPIZn+9cG7E(8uW_wH`0)_<>AN)Zx2%TC(`olbdz*jKzi~8I#CaD z=N+l6UK@V>W#j`d$lZY;I|4!O2?qH@Fv!mZg50ZuEYie+d_f*qJIHhOAe&a^5`O(K zrp*g78VIr_5M*mG$hKgR8v;RYR6%}M#^?|7v3ih}>!izrrAtL-(P9zRYJT0SIBsfA z90DsOjPGEU)obac7{Izxt-H64hiMMc<@Vl-9wvXU8X~o!DR#)1Q1Y7vdNSmc^ z-LjQzqnq&h8obxC5TfjsJU4mWT1U;p*6#LWqPu1U3FlEI!?|*7#PfIs6MCPKObv3ybzw6#74?AX}pWg>JU82Jh`+tli|N&5gZOZtpcWTs0e( ztJSL6ST)T{Ofz`M4Mk1}pzUono6s;#*K7kvkDCotMUI(|QvE}76X|{4H1j6^sk!~q zCwtrTZ+Y8w@qg$|3u6{5l;6%VQBANpnXD$?`?@+WKe<0%$Yxy+rn01_~ zLcW;m?27H{j&;W`A~%-G@hTxsPn~ap*rQTK=6Tva5jlU z&nXwvg-UFOjm_nqf>Q<(XAbI$i!d@Isvj0;JvA_J#O^rjT!EQ48-ylX&@3EsCAdQ+jdlwKHzxU`4?NsD6&%_wwH>HSEdKPc&+6aIwV+z&h<&@%`R%lcqnkyTR z#lEP}6p%Lu(|KHZC4KZUV>upp&xJr9+){_bm&QEBV+}Xw72SdPA^$%zEY;dNzW-xbCg{+<50d}imE;GqSetk{Sl)*6QtjG%?8vur@vvV z>5m?ZdO%+&X{Lg7*K6W_0v-CWSn+cU{J(oTly!7Yf527~wv8aN);WD8tfpp4nI zoU@uXD@*J#A*MN!RO1{8aKtB2O@)!p2;{LTCsWN$PM6cOPOXtIPM2ypoxz93Mb#>& zi#exKYvSZoMisa0XHSZ@SnM5Fu3YgQkCVPDdHwyF^nFeExGO$}{$J7hPGR3CTm3U{ Itq;e40+-aSr2qf` diff --git a/build/test/out/c/test_Bauer_runner.o b/build/test/out/c/test_Bauer_runner.o index 75a653315830eacb759dd9f806e06bb4a0e903bc..0b00d2c3df1ae878a0aacc02e536abca53ecfc17 100644 GIT binary patch delta 2336 zcmZXWe{54#6vxkfudidgc5U6>I=a!-ZfwL%Hp+kv$0!qUBM3u=4kI>obc2nJUz;q% z&_oURYs7K_0Ygw(48$xEG82h^44FoaCJ_EH#)QQ17f}<182=HO=iK{x3G5{I+)uyf z-23jYcVF)|9c%ILI8qF36AnOI&L0l_B>;RTz#k#0Lo~N^K-|lHT(%<9Wq zRk&+b_%xpOl;fo5gt&zr)>7}5o}IhXeVDZzJZ#lYUbIGq7{`#eEO?gMe(NikLlxT? zZZ2pE)u|ua-P9PNM?U(8y4B&e8)BR648J!+6{KE2cST@0X$(Z zXxeC+cLyTj=RIS)t||)O!Mk>=sKdp+`JxIp`5qVZai1?1 zi`2L&w4Kt#nZl=^-P1FW>KNKJ3?+EU_m)UZuJC^-XzJ;(vmIcH5-pemNveeq{}%bV z;t^3HsPt?h&Qdu}H;sHJ?ipn*uBw8+` zo5}OZ^1xB@izS`Z^ogd=HC@qkP19{ne-kzHv_0@2q3SwFb5vbd5K)+-3y9PZ8i`g& zt(|C@q)kLoNiPsRC25D&hKLeUdqZnuL`$T0jwq`dPY^ar@v2Vzk%-?B5ByBjB8eQ7 zP%%l(6QA9P)O=dwwN!cRRg~9OX%(7cyzMGnt;L0!_(f3B2CX$};x$uI9-QhrscDUl zwrg#JrcO7SHGxMHqhd?X-3aK?S~ro>-qYIqTKh(8-)rrj*7$&{w!C#Q(rswc+HTf( z{xC_(_u~gmc-@b@;fW!Z#6)^6cn*nv`7Lr%K$w-^u@jfzrj+Ey|AK z+S1R&P;RwjR2t|D$7|}`TaEYM6#T`c@8KiXWMEe~ZmctKG#p>D)oo$R7SrSlAIS$u zyE%TD)5aHaV4tfMNv)2?kbTXS=+uD1V^q;8q4zwmd_;;IoK`Nmt@uxZ!Yi)wm{xAO zN=PfROZvsSPBNAubI36DhV F{{gi28BzcM delta 2037 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 delta 44442 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 Sg;R&ck)AKy`GOeU@&5q_e*3ck diff --git a/build/test/preprocess/files/test_Bauer.c b/build/test/preprocess/files/test_Bauer.c index 0a83a79..370c05b 100644 --- a/build/test/preprocess/files/test_Bauer.c +++ b/build/test/preprocess/files/test_Bauer.c @@ -56,6 +56,62 @@ void test_Bauer_X_Bewegung(void) { + for (int i = 0; i < 8; i++) { + + free(brett[i]); + + } + + free(brett); + +} + + + +void test_Bauer_Schlag_Bewegung(void) { + + + + char** brett = Schachbrett_erstellen(); + + int startX = 6; + + int startY = 2; + + int endX = 5; + + int endY = 3; + + Player player = PLAYER_WHITE; + + + + + + do {if ((((brett)) != + + ((void *)0) + + )) {} else {UnityFail( (((" Expected Non-NULL"))), (UNITY_UINT)((UNITY_UINT)((UNITY_UINT)(46))));}} while(0); + + + + brett[startY][startX] = 'P'; + + brett[endY][endX] = 'p'; + + + + print_Schachfeld(brett,8,8); + + + + do {if (!(istzugerlaubt_Bauer( brett, startX, startY, endX, endY, player))) {} else {UnityFail( ((" Expected FALSE Was TRUE")), (UNITY_UINT)((UNITY_UINT)(53)));}} while(0); + + + + + for (int i = 0; i < 8; i++) { free(brett[i]); @@ -94,13 +150,13 @@ void test_Bauer_Y_Bewegung(void) { ((void *)0) - )) {} else {UnityFail( (((" Expected Non-NULL"))), (UNITY_UINT)((UNITY_UINT)((UNITY_UINT)(47))));}} while(0); + )) {} else {UnityFail( (((" Expected Non-NULL"))), (UNITY_UINT)((UNITY_UINT)((UNITY_UINT)(73))));}} while(0); - do {if ((istzugerlaubt_Bauer( brett, startX, startY, endX, endY, player))) {} else {UnityFail( ((" Expected TRUE Was FALSE")), (UNITY_UINT)((UNITY_UINT)(50)));}} 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); @@ -142,13 +198,13 @@ void test_Bauer_Start_Bewegung(void) { ((void *)0) - )) {} else {UnityFail( (((" Expected Non-NULL"))), (UNITY_UINT)((UNITY_UINT)((UNITY_UINT)(69))));}} 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)(72)));}} 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); diff --git a/build/test/results/test_Bauer.pass b/build/test/results/test_Bauer.pass index 17e6903..cd18e6d 100644 --- a/build/test/results/test_Bauer.pass +++ b/build/test/results/test_Bauer.pass @@ -7,20 +7,32 @@ :line: 14 :message: '' :unity_test_time: 0 +- :test: test_Bauer_Schlag_Bewegung + :line: 36 + :message: '' + :unity_test_time: 0 - :test: test_Bauer_Y_Bewegung - :line: 37 + :line: 63 :message: '' :unity_test_time: 0 - :test: test_Bauer_Start_Bewegung - :line: 59 + :line: 85 :message: '' :unity_test_time: 0 :failures: [] :ignores: [] :counts: - :total: 3 - :passed: 3 + :total: 4 + :passed: 4 :failed: 0 :ignored: 0 -:stdout: [] -:time: 1.2243709999602288 +:stdout: +- " R N B Q K B N R " +- " P P P P P P P P " +- " P " +- " p " +- " " +- " " +- " p p p p p p p p " +- " r n b q k b n r " +:time: 0.10874160006642342 diff --git a/build/test/results/test_Input.pass b/build/test/results/test_Input.pass index e05cdc5..791a663 100644 --- a/build/test/results/test_Input.pass +++ b/build/test/results/test_Input.pass @@ -16,4 +16,4 @@ :ignored: 0 :stdout: - "-> " -:time: 0.05332690000068396 +:time: 0.025090100010856986 diff --git a/build/test/results/test_Moving.pass b/build/test/results/test_Moving.pass index 2038a96..188aa47 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: 1.424722700030543 +:time: 0.03258749993983656 diff --git a/build/test/results/test_Schachbrett.pass b/build/test/results/test_Schachbrett.pass index 5fa9bce..1f4516c 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.06810659996699542 +:time: 0.03429610002785921 diff --git a/build/test/runners/test_Bauer_runner.c b/build/test/runners/test_Bauer_runner.c index 814e7e6..ec2e660 100644 --- a/build/test/runners/test_Bauer_runner.c +++ b/build/test/runners/test_Bauer_runner.c @@ -11,6 +11,7 @@ char* GlobalOrderError; 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_Y_Bewegung(void); extern void test_Bauer_Start_Bewegung(void); @@ -78,8 +79,9 @@ int main(void) { UnityBegin("test_Bauer.c"); run_test(test_Bauer_X_Bewegung, "test_Bauer_X_Bewegung", 14); - run_test(test_Bauer_Y_Bewegung, "test_Bauer_Y_Bewegung", 37); - run_test(test_Bauer_Start_Bewegung, "test_Bauer_Start_Bewegung", 59); + 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); return UnityEnd(); } diff --git a/src/Bauer.c b/src/Bauer.c index 09a9698..78d288c 100644 --- a/src/Bauer.c +++ b/src/Bauer.c @@ -10,6 +10,13 @@ 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') || +(Brett[endY][endX] == 'q') || (Brett[endY][endX] == 'r'))) +{ + return true; +} + + if(startX != endX){ return false; } diff --git a/test/test_Bauer.c b/test/test_Bauer.c index f0fb146..7d061e6 100644 --- a/test/test_Bauer.c +++ b/test/test_Bauer.c @@ -33,6 +33,32 @@ void test_Bauer_X_Bewegung(void) { free(brett); } +void test_Bauer_Schlag_Bewegung(void) { + + char** brett = Schachbrett_erstellen(); + int startX = 6; + int startY = 2; + int endX = 5; + int endY = 3; + Player player = PLAYER_WHITE; + + + TEST_ASSERT_NOT_NULL(brett); + + brett[startY][startX] = 'P'; + brett[endY][endX] = 'p'; + + print_Schachfeld(brett,8,8); + + TEST_ASSERT_FALSE(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) {