From a3d590fc79bb8894a9ead4336342b355177c928f Mon Sep 17 00:00:00 2001 From: magenoxx Date: Tue, 15 Nov 2011 16:01:34 +0400 Subject: [PATCH] Updated test framework with minimum functionality. --- .../src/mage/player/ai/ComputerPlayer6.java | 31 ++++-- Mage.Tests/plugins/mage-deck-constructed.jar | Bin 3178 -> 7050 bytes Mage.Tests/plugins/mage-deck-limited.jar | Bin 2402 -> 2398 bytes .../plugins/mage-game-twoplayerduel.jar | Bin 4901 -> 4890 bytes Mage.Tests/plugins/mage-player-ai-ma.jar | Bin 43043 -> 44010 bytes Mage.Tests/plugins/mage-player-aiminimax.jar | Bin 40123 -> 39788 bytes .../plugins/mage-tournament-booster-draft.jar | Bin 5729 -> 5753 bytes .../mage/test/serverside/PlayGameTest.java | 12 +-- .../ai/BugDoesntAttackWithKnightTest.java | 15 ++- .../test/serverside/ai/BugTapsItselfTest.java | 8 +- .../test/serverside/base/CardTestAPI.java | 24 ++++- .../test/serverside/base/CardTestBase.java | 60 ++++++----- .../test/serverside/base/MageTestBase.java | 6 +- .../serverside/base/impl/CardTestAPIImpl.java | 99 +++++++++++++----- .../abilities/ProtectionFromColorTest.java | 33 +++--- .../abilities/ProtectionFromTypeTest.java | 24 ++--- .../effects/BoostContinuousEffectTest.java | 5 +- .../cards/single/mbs/BurntheImpureTest.java | 32 +++--- Mage/src/mage/players/Player.java | 1 + Mage/src/mage/players/PlayerImpl.java | 6 ++ 20 files changed, 220 insertions(+), 136 deletions(-) diff --git a/Mage.Server.Plugins/Mage.Player.AI.MA/src/mage/player/ai/ComputerPlayer6.java b/Mage.Server.Plugins/Mage.Player.AI.MA/src/mage/player/ai/ComputerPlayer6.java index 7b1a38e9e12..bd4ed6b33f2 100644 --- a/Mage.Server.Plugins/Mage.Player.AI.MA/src/mage/player/ai/ComputerPlayer6.java +++ b/Mage.Server.Plugins/Mage.Player.AI.MA/src/mage/player/ai/ComputerPlayer6.java @@ -52,8 +52,10 @@ import mage.game.stack.StackAbility; import mage.game.stack.StackObject; import mage.game.turn.*; import mage.players.Player; +import mage.sets.alarareborn.OfferingToAsha; import mage.target.Target; import mage.target.TargetCard; +import sun.rmi.transport.ObjectTable; import java.io.File; import java.util.*; @@ -197,6 +199,17 @@ public class ComputerPlayer6 extends ComputerPlayer implements this.activateAbility((ActivatedAbility) ability, game); if (ability.isUsesStack()) usedStack = true; + if (!suggested.isEmpty()) { + Iterator it = suggested.iterator(); + while (it.hasNext()) { + Card card = game.getCard(ability.getSourceId()); + String action = it.next(); + if (action.equals(card.getName())) { + System.out.println("removed from suggested="+action); + it.remove(); + } + } + } } if (usedStack) pass(); @@ -233,6 +246,9 @@ public class ComputerPlayer6 extends ComputerPlayer implements root = root.children.get(0); } logger.info("simlating -- game value:" + game.getState().getValue() + " test value:" + test.gameValue); + if (!suggested.isEmpty()) { + return false; + } if (root.playerId.equals(playerId) && root.abilities != null && game.getState().getValue().hashCode() == test.gameValue) { /* @@ -467,13 +483,7 @@ public class ComputerPlayer6 extends ComputerPlayer implements SimulationNode2 newNode = new SimulationNode2(node, sim, action, depth, currentPlayer.getId()); logger.debug("simulating -- node #:" + SimulationNode2.getCount() + " actions:" + action); sim.checkStateAndTriggered(); - if (depth == 20) { - logger.info("*** Action *** " + action.toString()); - } int val = addActions(newNode, depth-1, alpha, beta); - if (depth == 20) { - logger.info("*** Value *** " + val); - } if (!currentPlayer.getId().equals(playerId)) { if (val < beta) { beta = val; @@ -768,6 +778,7 @@ public class ComputerPlayer6 extends ComputerPlayer implements for (Player copyPlayer: sim.getState().getPlayers().values()) { Player origPlayer = game.getState().getPlayers().get(copyPlayer.getId()).copy(); + System.out.println("suggested=" + suggested); SimulatedPlayer2 newPlayer = new SimulatedPlayer2(copyPlayer.getId(), copyPlayer.getId().equals(playerId), suggested); newPlayer.restore(origPlayer); sim.getState().getPlayers().put(copyPlayer.getId(), newPlayer); @@ -812,4 +823,12 @@ public class ComputerPlayer6 extends ComputerPlayer implements e.printStackTrace(); } } + + @Override + public void addAction(String action) { + System.out.println("adding to suggested actions: " + action); + if (action != null && action.startsWith("cast:") || action.startsWith("play:")) { + suggested.add(action.substring(5, action.length())); + } + } } diff --git a/Mage.Tests/plugins/mage-deck-constructed.jar b/Mage.Tests/plugins/mage-deck-constructed.jar index 3d7f0064aae52d4c7a10811766083b62cfc90096..cc3735cc5ba3c9ffe3fcfda072e5373b53b2f9f7 100644 GIT binary patch literal 7050 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 diff --git a/Mage.Tests/plugins/mage-deck-limited.jar b/Mage.Tests/plugins/mage-deck-limited.jar index 64bdc80b701fa8fc4a1b17d45d58c3119e8231dc..05df1d848a27db9fff093e92e30bbf631c8c8b13 100644 GIT binary patch delta 1060 zcmaDPbWeycz?+$civa|RO7iU|@+or^0_mKxuC)^_TP)m`?TOhF!+@#?tQtzN0_ohu z^i+LRB@@4@uz<|lEX%lq5zLx=lSvc8U}H9dFl?ALR6%-mQ&N+&b#pRvGfPra;0AFp z9LUJFe|Mpl>BHnsW@T<9m6NwK%hso)PI>Thr3l+evm5Ny+OujNuiC1reA4gKi~9LG z+W*dRwA#41AOC)*x@KMTl8{fFGdTTS^}Z~>y4dik*yE;a3Ie*C)hsHZZToBQK9&|) zTyfQCyZTw{ZyzgMj`R0z?|f|fZ}0uu?fhaUkDR2nB-S(;Z1K<8+FU*<@bJs~|N~XjPYYTQ)&J}19F4{lw$aN1g_n^&)YJMsF+?rZxq`3LgjElMt!rYe8O>}YI|SnMq8t1NR*E_zZazWMaE-Z!^z ze8?A*dEMdD#eBYA>*=+^I{SjoH5ZR>wiNGZTgBt!{pJ7jt{?W3%yw|6#g$b&o7A+; zv39QSb)S4?mCI?9>;CQN&lA2g_r6t>LF<=<_p)^lnx4hax*8Ml_unP;z1&;>3u#0) z$x4~1HBQaA-p=wLp6)oniPQ39pG65Uy;TCS#pH?1(kN--AFEz{=!et#!3HLw1|}Pg z%vhCJ%kK;1G7D=nGqWl)J3Gg%+jM2oqceYOqM2>EZ57P-YV6-~!1$=yevMdtb3@yy z)3rCQP%+ju+{vQBA#}ml)A!u9vnS7-Wr;d=nic32MkWzvL{5RGe=x-fmNoz0UzFC{`sdx3YX)P-1nv4I} zZhDe$tt#?KKwkE4@%xWE`Gi&;Q4SEEcdF^N{%ZE*Cv1-=$uuY{an>@Zg!JXtzxiO= z6}acqnX{go`)Y0EE`Dr&y!P=AuKzc4-@iFJ$)zXT*`hU6pzYf+H|q**4MU#~+)oY_ z^VGAuw7>rS!_G~8?%E*j#QMY;Q#28F90R9=(pwWwkC6*1@np*+g21==QXiE|GU&#S$461#@q+a_d9Km9JXt6 zohZG)|KhZ%XB^C?Z)m=tp7iwdmx(KO#r=NKZ>f3kYCY#`tHki*4-Z=VpK@S2-w@1J zb)k~o{`-RytH1xB#j}vDGO{2yb4BWEx3aHWrJtlen)^Nf)?74oeF<$F09KSZl*u^=7@0jrH|HZCz9Q0vis8Kh}?gDb&b7aVA%S)i|cag zZ>a3$F8!<;;M625W#Y%I{qVXv?>}Z(;^F`&QrD@gg$p=<39lH4EhbN7mPSb&-&pn1 zSvP5m^6-lA^sepEUBlxmTGJdW(!;~UTeoZV z?n_^bgf9nI?iA|wGP*1@*}I`>p95p;^eaztV&|W^|nQqFut-oLDg`WsUxLrcrJk1gq#m%a2UE`sx8RR q)vL(O3GhZ}0p&e#Fu_6zNW;LA#=WeQFS1IZ1e!6YDqAxfNC^OmbEG5y diff --git a/Mage.Tests/plugins/mage-game-twoplayerduel.jar b/Mage.Tests/plugins/mage-game-twoplayerduel.jar index b34412237666960e4d45c3b1ea96b26a7120a7c6..48664d55c3ebe867aebce885a31f4a75e7999076 100644 GIT binary patch delta 1200 zcmZ3gHcO2!z?+$civa{mO7iU|@+or^1L>TyuC)^_TP)m`?TOhF!+@#?tQtzN0_ohu z^i+LRB@@4@uz<|lEX%lu6~em9=F0?O>2XekuqGeo)&vVp{=jVnVW{zF=zz@AO;5~C z)h#K{FUU!(Of5<&P0fK@!NG7KBir7oGf(dqG^9sKveqK|$@wkP$Xn_lt(|ktGnU8+wv)42`iR48+tN*to;`qAPQdi&W z+{4PdMdqWSduud&F^_4wiMvyEiy!xklD_CM|9#n&i}??{Qu+XtVOdTMfLb z0Sej^94Ag)DQSMF`R~7gr%RmcOS-oSuKVS8Ms44hhq_!#RN5V`FFJ8TG9}2#Ox$qs zh5JWLCLGguF%#84T{e5R)W?G%pY3Ox|6eHfZ?CR+;_j;x_L%FMH!@W)%`pmS7PR_t zr&;;(y?=#?PJETI8}c&`rJi@&_jRl6Co98^rbV|NGi*G(gR_3Bj&z-@s+Z?O<;nGK z4kwD&sPujidGqpJuzytUMMDejson+B&-IMD_0G=C67qMA+py;J?OmnHzssJ9y%Cdn z-4XIZ+1oqw{nMKI2SIyW-|IhHBVamF^To6m_nvqCke{TspF3@xwN0_7)9nSj&MnJc zW-ch?S-h~$riLp|`Oez^Te)*^S^^H=o?mhae8ez9ynt0tGh;^srX zzj{Nedz0QHr5aFztllkeUJgvN^+0SlxsgX2Z{jH^$}dPQD#=VO7Co_%tJy$+;ezdi zdW!;`wk28~2O_O*oRr^Tc3mMuDSgtT``7#4hbprs`8;`0dZ?wfN#yDr&UqUfULM%8 z?Pbp8!xm@F??$bCxUP5NA^~}Cp60N1P8}tX5^B9>#m=PIt@?w5tcn+O>kKYQCZDa)WAq;;369}VSz#YQ4B;XBU zC<=N&7`cL$5XLG&CkW$%pqU=7OoVU&O1=vbGVsQw1)A@Wbz+1)wEO^3OB%QGO}@`3 RC4$Yo$$y2E*gE(@>Ht>nFVrB96ur1Mq>&CuVho_)3HQdh2nz%q$?CZ$rpaQo?BW*t$PS6TloDZ7h#cc#>( znu0x*GVvGhpT2FqCt~9Yfn!Do6UAB-??p(k-}gF~qj;3{>7imCc9+?&kN+@Ki=KQo zNT+eXfsfWq$DiC=4hpS2J?R2tS%TIw#~W8Lr)Un;dt&SDvBsp*K|Eu6a@DCfOIW zrA}Q|vf%oEdPAd4ZQ8E0JM4dLI3S}JeIt$AF#5%1)hn%0K_AW)8wV&D3G87gHaWz2 z@9P7HE#LoJ8BgS^oH-#s>rm!dwq0L$T0couStMR`=ds|UwwG#ug2kVHyl%MZnoJ&7 zeJ|^hdrRFuxAYyHx9-n!xvj4*Dpn+|I(P8ixvcz|o>Px`RUR*nT)D_)|IgFUmr9>7 zKdvirJI~=s(3QU4S(`DZjQ0b=@Pzc!n^-37k#O%dU3yS(!B5=E~>oy z9E)fAO!w&*n-sY_fd6~^;`5xgbM9M38MIkBfBmt`O<>KRi|f*Vi@8?*=DXphwSC9T zYW6Cx=ii&R?oM~~X0@=AxV1~(`=_Z_^M6<} zoG5al@b4q_X5&W<*|{JcHjDo>?bf=C^|6AVC3r z2*X9d1j48haECCC3wT2qVuBtJMv|ZKjfeRrU*wa*uKSaa65C{ckU9W!Q|WvF diff --git a/Mage.Tests/plugins/mage-player-ai-ma.jar b/Mage.Tests/plugins/mage-player-ai-ma.jar index 41dd0bdb370df7f76c4303deb6d87e86a295fb24..fe1582fc604916712bad819620cf2009ecb591da 100644 GIT binary patch delta 33703 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 z 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≫) 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 MCx@v@{0H0r10iB_JOBUy diff --git a/Mage.Tests/plugins/mage-tournament-booster-draft.jar b/Mage.Tests/plugins/mage-tournament-booster-draft.jar index a9987f99337900c475314f62108426a49be2dc00..b0c5e1d280407c509e23c34e17f05982c253f45c 100644 GIT binary patch delta 2718 zcmaJ@c|4Ts7oSPCXv|DAc6W%OWGoGu8T;6pFpaG%Db$Q5jA4XGgBWGI7)zpS>f%~U zp@e&_^CP((l?|&Zro6^tSlcMp>WjoJ1)!kdN zQW1D@*N(>K`?L$PW#btdn-DkSLPP+7BP>mzHfu~kh;fp>&l0?0k!dh=-mmdqHzgVf z#0!YTDMmKkLv_lhAT86dd}I`AwK=Sy?1aGV{`V1Mvz4W9#8tIsNamrBtu`z+%u51S z63KGoZgqC5OToP>E0@-7LSB8|c&`xx)Mvhe`?jzJ^&oHD4lyy!lLlqu7$VIKW=B+| zO{GgRlEbv3uS*0ZhAk^WCsU`79(0P;(jZPHR^S$zu(?0efX4$|d|Q$Hel?3xV#g0v zr78!@NF+bOcL)(AxNrpJmIuQYDPEZKPRu85 zeKQ)hIqYZW^D^MexwOnzBNuKo$#r-HF&%ANxaVSv14fA6Q_4wIW|iLE`sL43&#d!tBUUY0&73v@wzPt1JAX>z&K)E?*De>6 ziDt`LLHkiDMZ9Jz9J||L5g&PL>azUcWrt&5B4m4uDpFlrPe^ARu%BSdzc^l6lPn{P zR{fPjm+dVL1!~wys!}JBaE&QAld;r!)|OKmnuH-O<3>r#%A=E^mYnd=yeU37Vp0(Y zCR7xk+}EUa$hCdu{)68lP<=dLyx$yKQ$Kmu34Ke?Hd;ZfMEk*$2A^eai4JVWx|CIG>f`KX!%rG$ zPuMfRtZ~Lg1oYBXp(974Q%~cQE#*cD$${JrsE+pTR^yRt?|8f?4QaotdKx`crLIfl z_@rZf?w)iRl>U&P`HO8*C!>e{D=rV2F~lF9J-57EI?XCGXyten>y)2%tAJToyolF# zR<3lb?rA7Wb#t#)3?qg*lcRi5qQfOM0~|BM>$SZ_SyOd4qAxf0sN@xA%VJj?9-qlR zk`)K#Ybk!-^9d{g>&ZlF^=G|`cVEbGXXZ1qH%h&TINd?=D~7fY!{lVn7ZbYH<&La+ zDrSz*A(`j2RH{_vKQqXy1w&l5^h^s2twp&DR`nP0%T9+gBt?X=Hc~I2#%l9-nJ%aH z(^Rdcd?n6HLyY!a<1}AWYWYtbDH;{j@>C$;9xcJ2pFmBUTQli3$TuIqjp&2%YWIrQ z@c-3Yw3aI1!YlM-pyzpy5brPmxFAHS{Er$yct79KYlfPEeDjZx4?_s_Cwc*bFX>Tv zB%?TH_;?gndz7hiOtC}1Ui2+V$|AV;w`;ZuqsDl2i$PiZg{AD4`HN)%?yGr5?e#O_ zKe?Z#d%>U1D?JFt^UD^#hsfeJnlTpds|>Gc8P_4A@mCQHm4zjq(o#k1%>xtEHrwX# znAfWvn9~e*y*AtAbBwd-@|TC&?&sTmUtW?Xy$6|_*tNO6*Hz@$6M)5>}LWC{~3)}9jkfi`}k;J+Tl-QA$|upR)u2q z%`7e7zX-piq@kK|Nr3vDh`yJW(Q9+fPAUGx?(FmBTS}@kI#DfbHYVLO}5j;_A zq55f4am($FkIKvZr6qtz>Noc0cE7&D#E za!iDNc)MPdB0Sw-?45o!M-?LHhN>j*iMf_z&X<4e#7vfw1;1SdY=4*q4rH%9jHZIi z4n_%F0Kn5PW=z&VmX<=|Kt!Cdo|w3x%0sEjAf?tsWyYv6c5QG6X!B!*8L0mWkCIGfjbyX%c^MCZ_6#^Uh!&8JgRDuNkD&*l1fk{NRO_ud9kTgO><>gTZ z=#Jv^J7c&TN0=^b+@(C>Oh)r%?ifyeV{e`@KC^G{JyAgA@ja zrgn^5ShYL1;L6R{fKg4TW zNPc|*1C~teK&%%aY1Ur2=uSd8xb&{8+cv`g{o~(e_*ZN10szDW008~3GXMbjQN!EW ie%$dra7p>CFaB=JzssNl*;?a|GhoCO1;n6RA^!zdEu2CC delta 2745 zcmaJ@c|6o<7$4(khB3?-F^(uSjK+*1S5#xjH6*bptE~H)nTCdtS>x&uGR0)ck+Z>8 zhH8^cDo44JSxL^_kkE+O6zkZv+kQUn?~nI6e$Vs$Jn#EH@Avckv1@o2)X`2@L>#d8 zJqx+M_aamc^mJ9iW9vgM8YdVf`PF&Uc>ul+T95u~5nYv`UjDw=uR|`*qea&6s?~%} z0XMXK;ZH!=ny*j%ZgvHCf!YU4Yx}b z0J~d!7ILCH%oZYI7jmi>79Py30EaZETO!4Ub(9{t%k@d8X$p`$~6R#8Lq*iW|WPO(e z9(mm(d&G%pXQLD7@k>i_AXpC`4z7kAcQh|4cNZeI`EXMbjzVe#&U}22aU0jWHq(!a zx|QkD*`74^BCw4jm-5;FaCu6ldwgaTqZ_L5DTjQ$_A357+4T2qOY+wpCQ8V8UgNWG z`t7?z$~#8RUDS`roS0Pdr;0h*T=24TGpwp!hARD%T(H-a)6QA0U{oqD zOAk9wA@YLJf*l_P=K%pFJN-Ckk2VG!5z*nL`pC=!f_)jrfbh+GKKYHr9(cfqB-f=_F@ zHP|8Im|22zOjm(IV;lxnHl)MwEPXFq7iTD2mv~#Fjx%&RMs=7dsxs_tBEhRH$nIX& z)nnP09?q=PuzH^3$3)bzIz@Gz2Lsbr;(ZtX71uNnMIEr+1=ZWFI5_k1CB9H>-S2c_&;z9v2coMsX%NMP^I5{g^0uf04Z^ zQ~eTGq*YLp2HX*(sW#4PmOV*5cjKyR1;l}eLrUl?bIdTEJb}b@R z#l&=N<$7%F!uMQwj&(5X()DP%oT0h%!yzhJ-8m{aD9A^A#26O2588R}ia{_c=w@|x zRZ-~pIHe$ZYER_PjE)C?Q!i+p!mA08X`yw>W$8h+Hk9K~{DzVV)x_Da(ly4Ja*{^& z3iTz2W6UX(uy9|R1++q)$yy)vmo~^RGxstP4F3eew!&*+4^lf^(w%MVaX}A>?x52(Q3fS_$2~HV zz!qrpJY)vCDPr*UBK)zYr}3LN`KOu&W)=cgc(eQyF>#Dg%FOl~>abPjCcH$0h-Z2O zBnEA5Az33Sv|+6zhG^lNS>4!_E`mP?VcUR(u$=rV7F#YQ!OPn+hG2YM?Ls!L+{{hY z^;T8ApO*7}jTU!insvwa*7wQAzIZk8;EI56zU|ae>9D{7Ur{Uc$Gc{;1{Ytnm`t7cvDfQ! z!ol6xq(R$wqf4);qM}7n_BDmzt4y=|G?m!r*NII-&wd!_Xz%ao+J7Exf0?#idaEK* zXgZ8nTCCW@xSf>C&Zb%vIlYVY)V^2zVJXgbLiAH4Voan<`m)~WndOzb9m`fWxLGE< zRQ76l5j)s157lkl9iQmKC-c*iv0Y;#5o0UL7`FLMCo zlT(feJ*|D{dZc9Q7t&>kcWy-tX=SFVZbe~_ildzn5Fz}}_`_0x>ut_ItRrxfjaS2l zV>gtie|x|(-WwjO3{~>0p@uajUTU(qpj^ zTh{~s^$#GmX-EU62;xu{0V)IiPmMDO1)w36bqJ=g>%aAHX0Ix{H;px@(DekH|Gkob z(Ej!MSF4v20{~1n(bjg*u#V>Vzi4Y092pw&Z_u@4*=&(jK;l=Rs<5>^eVb_ + * Throws {@link AssertionError} in the following cases: + * 1. no such player + * 2. no such creature under player's control + * 3. there is more than one creature with such name + * + * @param player {@link Player} to get creatures for comparison. + * @param cardName Card name to compare with. + * @param abilities Expected abilities + */ + void assertAbilities(Player player, String cardName, List abilities) + throws AssertionError; + /** * Assert permanent count under player's control. * diff --git a/Mage.Tests/src/test/java/org/mage/test/serverside/base/CardTestBase.java b/Mage.Tests/src/test/java/org/mage/test/serverside/base/CardTestBase.java index 07ccb98b630..c320b17bd01 100644 --- a/Mage.Tests/src/test/java/org/mage/test/serverside/base/CardTestBase.java +++ b/Mage.Tests/src/test/java/org/mage/test/serverside/base/CardTestBase.java @@ -65,31 +65,33 @@ public abstract class CardTestBase extends CardTestAPIImpl { Game game = new TwoPlayerDuel(Constants.MultiplayerAttackOption.LEFT, Constants.RangeOfInfluence.ALL); - computerA = aiTypeA.equals(CardTestBase.AIType.MinimaxHybrid) ? + playerA = aiTypeA.equals(CardTestBase.AIType.MinimaxHybrid) ? createPlayer("ComputerA", "Computer - minimax hybrid") : createPlayer("ComputerA", "Computer - mad"); - computerA.setTestMode(true); + playerA.setTestMode(true); + logger.info("Loading deck..."); Deck deck = Deck.load(Sets.loadDeck("RB Aggro.dck")); + logger.info("Done!"); if (deck.getCards().size() < 40) { throw new IllegalArgumentException("Couldn't load deck, deck size=" + deck.getCards().size()); } - game.addPlayer(computerA, deck); - game.loadCards(deck.getCards(), computerA.getId()); + game.addPlayer(playerA, deck); + game.loadCards(deck.getCards(), playerA.getId()); - computerB = aiTypeB.equals(CardTestBase.AIType.MinimaxHybrid) ? + playerB = aiTypeB.equals(CardTestBase.AIType.MinimaxHybrid) ? createPlayer("ComputerB", "Computer - minimax hybrid") : createPlayer("ComputerB", "Computer - mad"); - computerB.setTestMode(true); + playerB.setTestMode(true); Deck deck2 = Deck.load(Sets.loadDeck("RB Aggro.dck")); if (deck2.getCards().size() < 40) { throw new IllegalArgumentException("Couldn't load deck, deck size=" + deck2.getCards().size()); } - game.addPlayer(computerB, deck2); - game.loadCards(deck2.getCards(), computerB.getId()); - activePlayer = computerA; + game.addPlayer(playerB, deck2); + game.loadCards(deck2.getCards(), playerB.getId()); + activePlayer = playerA; currentGame = game; - stopOnTurn = null; + stopOnTurn = 2; handCardsA.clear(); handCardsB.clear(); battlefieldCardsA.clear(); @@ -124,33 +126,33 @@ public abstract class CardTestBase extends CardTestAPIImpl { Game game = new TwoPlayerDuel(Constants.MultiplayerAttackOption.LEFT, Constants.RangeOfInfluence.ALL); - computerA = aiTypeA.equals(CardTestBase.AIType.MinimaxHybrid) ? + playerA = aiTypeA.equals(CardTestBase.AIType.MinimaxHybrid) ? createPlayer("ComputerA", "Computer - minimax hybrid") : createPlayer("ComputerA", "Computer - mad"); - computerA.setTestMode(true); + playerA.setTestMode(true); Deck deck = Deck.load(Sets.loadDeck("RB Aggro.dck")); if (deck.getCards().size() < 40) { throw new IllegalArgumentException("Couldn't load deck, deck size=" + deck.getCards().size()); } - game.addPlayer(computerA, deck); - game.loadCards(deck.getCards(), computerA.getId()); + game.addPlayer(playerA, deck); + game.loadCards(deck.getCards(), playerA.getId()); - computerB = aiTypeB.equals(CardTestBase.AIType.MinimaxHybrid) ? + playerB = aiTypeB.equals(CardTestBase.AIType.MinimaxHybrid) ? createPlayer("ComputerB", "Computer - minimax hybrid") : createPlayer("ComputerB", "Computer - mad"); - computerB.setTestMode(true); + playerB.setTestMode(true); Deck deck2 = Deck.load(Sets.loadDeck("RB Aggro.dck")); if (deck2.getCards().size() < 40) { throw new IllegalArgumentException("Couldn't load deck, deck size=" + deck2.getCards().size()); } - game.addPlayer(computerB, deck2); - game.loadCards(deck2.getCards(), computerB.getId()); + game.addPlayer(playerB, deck2); + game.loadCards(deck2.getCards(), playerB.getId()); parseScenario(cardPath); - activePlayer = computerA; + activePlayer = playerA; currentGame = game; } @@ -164,10 +166,10 @@ public abstract class CardTestBase extends CardTestAPIImpl { throw new IllegalStateException("Game is not initialized. Use load method to load a test case and initialize a game."); } - currentGame.cheat(computerA.getId(), commandsA); - currentGame.cheat(computerA.getId(), libraryCardsA, handCardsA, battlefieldCardsA, graveyardCardsA); - currentGame.cheat(computerB.getId(), commandsB); - currentGame.cheat(computerB.getId(), libraryCardsB, handCardsB, battlefieldCardsB, graveyardCardsB); + currentGame.cheat(playerA.getId(), commandsA); + currentGame.cheat(playerA.getId(), libraryCardsA, handCardsA, battlefieldCardsA, graveyardCardsA); + currentGame.cheat(playerB.getId(), commandsB); + currentGame.cheat(playerB.getId(), libraryCardsB, handCardsB, battlefieldCardsB, graveyardCardsB); boolean testMode = true; long t1 = System.nanoTime(); @@ -242,10 +244,10 @@ public abstract class CardTestBase extends CardTestAPIImpl { String player = getStringParam(line, 1); int expected = getIntParam(line, 2); if (player.equals("ComputerA")) { - int actual = currentGame.getPlayer(computerA.getId()).getLife(); + int actual = currentGame.getPlayer(playerA.getId()).getLife(); Assert.assertEquals("Life amounts are not equal", expected, actual); } else if (player.equals("ComputerB")) { - int actual = currentGame.getPlayer(computerB.getId()).getLife(); + int actual = currentGame.getPlayer(playerB.getId()).getLife(); Assert.assertEquals("Life amounts are not equal", expected, actual); } else { throw new IllegalArgumentException("Wrong player in 'life' line, player=" + player + ", line=" + line); @@ -258,9 +260,9 @@ public abstract class CardTestBase extends CardTestAPIImpl { int expectedCount = getIntParam(line, 3); Player player = null; if (playerName.equals("ComputerA")) { - player = currentGame.getPlayer(computerA.getId()); + player = currentGame.getPlayer(playerA.getId()); } else if (playerName.equals("ComputerB")) { - player = currentGame.getPlayer(computerB.getId()); + player = currentGame.getPlayer(playerB.getId()); } else { throw new IllegalArgumentException("Wrong player in 'battlefield' line, player=" + player + ", line=" + line); } @@ -281,9 +283,9 @@ public abstract class CardTestBase extends CardTestAPIImpl { int expectedCount = getIntParam(line, 3); Player player = null; if (playerName.equals("ComputerA")) { - player = currentGame.getPlayer(computerA.getId()); + player = currentGame.getPlayer(playerA.getId()); } else if (playerName.equals("ComputerB")) { - player = currentGame.getPlayer(computerB.getId()); + player = currentGame.getPlayer(playerB.getId()); } else { throw new IllegalArgumentException("Wrong player in 'graveyard' line, player=" + player + ", line=" + line); } diff --git a/Mage.Tests/src/test/java/org/mage/test/serverside/base/MageTestBase.java b/Mage.Tests/src/test/java/org/mage/test/serverside/base/MageTestBase.java index 31c49f0852a..1e666d7f169 100644 --- a/Mage.Tests/src/test/java/org/mage/test/serverside/base/MageTestBase.java +++ b/Mage.Tests/src/test/java/org/mage/test/serverside/base/MageTestBase.java @@ -54,8 +54,8 @@ public abstract class MageTestBase { protected Map commandsA = new HashMap(); protected Map commandsB = new HashMap(); - protected Player computerA; - protected Player computerB; + protected Player playerA; + protected Player playerB; /** * Game instance initialized in load method. @@ -293,6 +293,6 @@ public abstract class MageTestBase { } protected Player createPlayer(String name, String playerType) { - return PlayerFactory.getInstance().createPlayer(playerType, name, Constants.RangeOfInfluence.ALL, 1); + return PlayerFactory.getInstance().createPlayer(playerType, name, Constants.RangeOfInfluence.ALL, 10); } } diff --git a/Mage.Tests/src/test/java/org/mage/test/serverside/base/impl/CardTestAPIImpl.java b/Mage.Tests/src/test/java/org/mage/test/serverside/base/impl/CardTestAPIImpl.java index 46e397eba82..5d96474342f 100644 --- a/Mage.Tests/src/test/java/org/mage/test/serverside/base/impl/CardTestAPIImpl.java +++ b/Mage.Tests/src/test/java/org/mage/test/serverside/base/impl/CardTestAPIImpl.java @@ -4,6 +4,7 @@ import java.util.List; import java.util.UUID; import mage.Constants; +import mage.abilities.Ability; import mage.cards.Card; import mage.filter.Filter; import mage.game.permanent.Permanent; @@ -28,23 +29,23 @@ public abstract class CardTestAPIImpl extends MageTestBase implements CardTestAP public void useRedDefault() { // *** ComputerA *** // battlefield:ComputerA:Mountain:5 - addCard(Constants.Zone.BATTLEFIELD, computerA, "Mountain", 5); + addCard(Constants.Zone.BATTLEFIELD, playerA, "Mountain", 5); // hand:ComputerA:Mountain:4 - addCard(Constants.Zone.HAND, computerA, "Mountain", 5); + addCard(Constants.Zone.HAND, playerA, "Mountain", 5); // library:ComputerA:clear:0 - removeAllCardsFromLibrary(computerA); + removeAllCardsFromLibrary(playerA); // library:ComputerA:Mountain:10 - addCard(Constants.Zone.LIBRARY, computerA, "Mountain", 10); + addCard(Constants.Zone.LIBRARY, playerA, "Mountain", 10); // *** ComputerB *** // battlefield:ComputerB:Plains:2 - addCard(Constants.Zone.BATTLEFIELD, computerB, "Plains", 2); + addCard(Constants.Zone.BATTLEFIELD, playerB, "Plains", 2); // hand:ComputerB:Plains:2 - addCard(Constants.Zone.HAND, computerB, "Plains", 2); + addCard(Constants.Zone.HAND, playerB, "Plains", 2); // library:ComputerB:clear:0 - removeAllCardsFromLibrary(computerB); + removeAllCardsFromLibrary(playerB); // library:ComputerB:Plains:10 - addCard(Constants.Zone.LIBRARY, computerB, "Plains", 10); + addCard(Constants.Zone.LIBRARY, playerB, "Plains", 10); } /** @@ -52,16 +53,16 @@ public abstract class CardTestAPIImpl extends MageTestBase implements CardTestAP */ public void useWhiteDefault() { // *** ComputerA *** - addCard(Constants.Zone.BATTLEFIELD, computerA, "Plains", 5); - addCard(Constants.Zone.HAND, computerA, "Plains", 5); - removeAllCardsFromLibrary(computerA); - addCard(Constants.Zone.LIBRARY, computerA, "Plains", 10); + addCard(Constants.Zone.BATTLEFIELD, playerA, "Plains", 5); + addCard(Constants.Zone.HAND, playerA, "Plains", 5); + removeAllCardsFromLibrary(playerA); + addCard(Constants.Zone.LIBRARY, playerA, "Plains", 10); // *** ComputerB *** - addCard(Constants.Zone.BATTLEFIELD, computerB, "Plains", 2); - addCard(Constants.Zone.HAND, computerB, "Plains", 2); - removeAllCardsFromLibrary(computerB); - addCard(Constants.Zone.LIBRARY, computerB, "Plains", 10); + addCard(Constants.Zone.BATTLEFIELD, playerB, "Plains", 2); + addCard(Constants.Zone.HAND, playerB, "Plains", 2); + removeAllCardsFromLibrary(playerB); + addCard(Constants.Zone.LIBRARY, playerB, "Plains", 10); } /** @@ -71,9 +72,9 @@ public abstract class CardTestAPIImpl extends MageTestBase implements CardTestAP * @param player {@link Player} to remove all library cards from. */ public void removeAllCardsFromLibrary(Player player) { - if (player.equals(computerA)) { + if (player.equals(playerA)) { commandsA.put(Constants.Zone.LIBRARY, "clear"); - } else if (player.equals(computerB)) { + } else if (player.equals(playerB)) { commandsB.put(Constants.Zone.LIBRARY, "clear"); } } @@ -82,7 +83,7 @@ public abstract class CardTestAPIImpl extends MageTestBase implements CardTestAP * Add a card to specified zone of specified player. * * @param gameZone {@link Constants.Zone} to add cards to. - * @param player {@link Player} to add cards for. Use either computerA or computerB. + * @param player {@link Player} to add cards for. Use either playerA or playerB. * @param cardName Card name in string format. */ public void addCard(Constants.Zone gameZone, Player player, String cardName) { @@ -93,7 +94,7 @@ public abstract class CardTestAPIImpl extends MageTestBase implements CardTestAP * Add any amount of cards to specified zone of specified player. * * @param gameZone {@link Constants.Zone} to add cards to. - * @param player {@link Player} to add cards for. Use either computerA or computerB. + * @param player {@link Player} to add cards for. Use either playerA or playerB. * @param cardName Card name in string format. * @param count Amount of cards to be added. */ @@ -105,7 +106,7 @@ public abstract class CardTestAPIImpl extends MageTestBase implements CardTestAP * Add any amount of cards to specified zone of specified player. * * @param gameZone {@link Constants.Zone} to add cards to. - * @param player {@link Player} to add cards for. Use either computerA or computerB. + * @param player {@link Player} to add cards for. Use either playerA or playerB. * @param cardName Card name in string format. * @param count Amount of cards to be added. * @param tapped In case gameZone is Battlefield, determines whether permanent should be tapped. @@ -119,9 +120,9 @@ public abstract class CardTestAPIImpl extends MageTestBase implements CardTestAP Card card = Sets.findCard(cardName, true); PermanentCard p = new PermanentCard(card, null); p.setTapped(tapped); - if (player.equals(computerA)) { + if (player.equals(playerA)) { battlefieldCardsA.add(p); - } else if (player.equals(computerB)) { + } else if (player.equals(playerB)) { battlefieldCardsB.add(p); } } @@ -145,7 +146,7 @@ public abstract class CardTestAPIImpl extends MageTestBase implements CardTestAP * @return */ private List getCardList(Constants.Zone gameZone, Player player) { - if (player.equals(computerA)) { + if (player.equals(playerA)) { if (gameZone.equals(Constants.Zone.HAND)) { return handCardsA; } else if (gameZone.equals(Constants.Zone.GRAVEYARD)) { @@ -153,7 +154,7 @@ public abstract class CardTestAPIImpl extends MageTestBase implements CardTestAP } else if (gameZone.equals(Constants.Zone.LIBRARY)) { return libraryCardsA; } - } else if (player.equals(computerB)) { + } else if (player.equals(playerB)) { if (gameZone.equals(Constants.Zone.HAND)) { return handCardsB; } else if (gameZone.equals(Constants.Zone.GRAVEYARD)) { @@ -172,9 +173,9 @@ public abstract class CardTestAPIImpl extends MageTestBase implements CardTestAP * @param life Life count to set. */ public void setLife(Player player, int life) { - if (player.equals(computerA)) { + if (player.equals(playerA)) { commandsA.put(Constants.Zone.OUTSIDE, "life:" + String.valueOf(life)); - } else if (player.equals(computerB)) { + } else if (player.equals(playerB)) { commandsB.put(Constants.Zone.OUTSIDE, "life:" + String.valueOf(life)); } } @@ -201,7 +202,7 @@ public abstract class CardTestAPIImpl extends MageTestBase implements CardTestAP * @param result Expected {@link GameResult} to compare with. */ public void assertResult(Player player, GameResult result) throws AssertionError { - if (player.equals(computerA)) { + if (player.equals(playerA)) { GameResult actual = CardTestAPI.GameResult.DRAW; if (currentGame.getWinner().equals("Player ComputerA is the winner")) { actual = CardTestAPI.GameResult.WON; @@ -209,7 +210,7 @@ public abstract class CardTestAPIImpl extends MageTestBase implements CardTestAP actual = CardTestAPI.GameResult.LOST; } Assert.assertEquals("Game results are not equal", result, actual); - } else if (player.equals(computerB)) { + } else if (player.equals(playerB)) { GameResult actual = CardTestAPI.GameResult.DRAW; if (currentGame.getWinner().equals("Player ComputerB is the winner")) { actual = CardTestAPI.GameResult.WON; @@ -278,6 +279,31 @@ public abstract class CardTestAPIImpl extends MageTestBase implements CardTestAP } } + /** + * {@inheritDoc} + */ + public void assertAbilities(Player player, String cardName, List abilities) + throws AssertionError { + int count = 0; + Permanent found = null; + for (Permanent permanent : currentGame.getBattlefield().getAllActivePermanents(player.getId())) { + if (permanent.getName().equals(cardName)) { + found = permanent; + } + } + + Assert.assertNotNull("There is no such permanent under player's control, player=" + player.getName() + + ", cardName=" + cardName, found); + + Assert.assertTrue("There is more than one such permanent under player's control, player=" + player.getName() + + ", cardName=" + cardName, count == 1); + + for (Ability ability : abilities) { + Assert.assertTrue("No such ability=" + ability.toString() + ", player=" + player.getName() + + ", cardName" + cardName, found.getAbilities().contains(ability)); + } + } + /** * Assert permanent count under player's control. * @@ -328,4 +354,19 @@ public abstract class CardTestAPIImpl extends MageTestBase implements CardTestAP Assert.assertEquals("More than one permanent was found: " + cardName + "(" + count + ")", 1, count); return permanent0; } + + public void playLand(Player player, String cardName) { + player.addAction("play:"+cardName); + } + + public void castSpell(Player player, String cardName) { + player.addAction("cast:"+cardName); + } + + public void castSpell(Player player, String cardName, String target) { + player.addAction("cast:"+cardName + ";" + target); + } + + public void useAbility(Player player, String cardName) { + } } diff --git a/Mage.Tests/src/test/java/org/mage/test/serverside/cards/abilities/ProtectionFromColorTest.java b/Mage.Tests/src/test/java/org/mage/test/serverside/cards/abilities/ProtectionFromColorTest.java index 634c7d6c191..60261f53991 100644 --- a/Mage.Tests/src/test/java/org/mage/test/serverside/cards/abilities/ProtectionFromColorTest.java +++ b/Mage.Tests/src/test/java/org/mage/test/serverside/cards/abilities/ProtectionFromColorTest.java @@ -1,7 +1,6 @@ package org.mage.test.serverside.cards.abilities; import mage.Constants; -import mage.filter.Filter; import org.junit.Test; import org.mage.test.serverside.base.CardTestAPI; import org.mage.test.serverside.base.CardTestBase; @@ -14,44 +13,44 @@ public class ProtectionFromColorTest extends CardTestBase { @Test public void testAgainstAbilityInTheStack() { useRedDefault(); - addCard(Constants.Zone.BATTLEFIELD, computerA, "Royal Assassin"); + addCard(Constants.Zone.BATTLEFIELD, playerA, "Royal Assassin"); // tapped White Knight with Protection from Black - addCard(Constants.Zone.BATTLEFIELD, computerB, "White Knight", 1, true); - addCard(Constants.Zone.BATTLEFIELD, computerB, "Runeclaw Bear", 1, true); + addCard(Constants.Zone.BATTLEFIELD, playerB, "White Knight", 1, true); + addCard(Constants.Zone.BATTLEFIELD, playerB, "Runeclaw Bear", 1, true); // one not tapped White Knight to prevent AI from attacking - addCard(Constants.Zone.BATTLEFIELD, computerB, "White Knight", 1, false); + addCard(Constants.Zone.BATTLEFIELD, playerB, "White Knight", 1, false); setStopOnTurn(2); execute(); assertTurn(2); - assertResult(computerA, CardTestAPI.GameResult.DRAW); - assertLife(computerA, 20); - assertLife(computerB, 20); + assertResult(playerA, CardTestAPI.GameResult.DRAW); + assertLife(playerA, 20); + assertLife(playerB, 20); // no one should be destroyed - assertPermanentCount(computerB, "White Knight", 2); - assertPermanentCount(computerB, "Runeclaw Bear", 0); + assertPermanentCount(playerB, "White Knight", 2); + assertPermanentCount(playerB, "Runeclaw Bear", 0); } @Test public void testAgainstAbilityInTheStackNoProtection() { useRedDefault(); - addCard(Constants.Zone.BATTLEFIELD, computerA, "Royal Assassin"); + addCard(Constants.Zone.BATTLEFIELD, playerA, "Royal Assassin"); - addCard(Constants.Zone.BATTLEFIELD, computerB, "Runeclaw Bear", 1, true); - addCard(Constants.Zone.BATTLEFIELD, computerB, "Runeclaw Bear", 1, false); + addCard(Constants.Zone.BATTLEFIELD, playerB, "Runeclaw Bear", 1, true); + addCard(Constants.Zone.BATTLEFIELD, playerB, "Runeclaw Bear", 1, false); setStopOnTurn(2); execute(); assertTurn(2); - assertResult(computerA, CardTestAPI.GameResult.DRAW); - assertLife(computerA, 20); - assertLife(computerB, 20); + assertResult(playerA, CardTestAPI.GameResult.DRAW); + assertLife(playerA, 20); + assertLife(playerB, 20); // One should have beendestroyed by Royal Assassin - assertPermanentCount(computerB, "Runeclaw Bear", 1); + assertPermanentCount(playerB, "Runeclaw Bear", 1); } } diff --git a/Mage.Tests/src/test/java/org/mage/test/serverside/cards/abilities/ProtectionFromTypeTest.java b/Mage.Tests/src/test/java/org/mage/test/serverside/cards/abilities/ProtectionFromTypeTest.java index 849c2cc330b..a3fc1bd0141 100644 --- a/Mage.Tests/src/test/java/org/mage/test/serverside/cards/abilities/ProtectionFromTypeTest.java +++ b/Mage.Tests/src/test/java/org/mage/test/serverside/cards/abilities/ProtectionFromTypeTest.java @@ -12,38 +12,38 @@ public class ProtectionFromTypeTest extends CardTestBase { @Test public void testProtectionFromArtifacts() { useRedDefault(); - addCard(Constants.Zone.HAND, computerA, "Trigon of Corruption"); + addCard(Constants.Zone.HAND, playerA, "Trigon of Corruption"); - addCard(Constants.Zone.BATTLEFIELD, computerB, "Tel-Jilad Fallen"); + addCard(Constants.Zone.BATTLEFIELD, playerB, "Tel-Jilad Fallen"); setStopOnTurn(2); execute(); assertTurn(2); - assertResult(computerA, GameResult.DRAW); - assertLife(computerA, 20); - assertLife(computerB, 20); + assertResult(playerA, GameResult.DRAW); + assertLife(playerA, 20); + assertLife(playerB, 20); // no one should be destroyed - assertPermanentCount(computerB, "Tel-Jilad Fallen", 1); + assertPermanentCount(playerB, "Tel-Jilad Fallen", 1); } @Test public void testNoProtection() { useRedDefault(); - addCard(Constants.Zone.HAND, computerA, "Trigon of Corruption"); + addCard(Constants.Zone.HAND, playerA, "Trigon of Corruption"); - addCard(Constants.Zone.BATTLEFIELD, computerB, "Coral Merfolk"); + addCard(Constants.Zone.BATTLEFIELD, playerB, "Coral Merfolk"); setStopOnTurn(2); execute(); assertTurn(2); - assertResult(computerA, GameResult.DRAW); - assertLife(computerA, 20); - assertLife(computerB, 20); + assertResult(playerA, GameResult.DRAW); + assertLife(playerA, 20); + assertLife(playerB, 20); // no one should be destroyed - assertPermanentCount(computerB, "Coral Merfolk", 0); + assertPermanentCount(playerB, "Coral Merfolk", 0); } } diff --git a/Mage.Tests/src/test/java/org/mage/test/serverside/cards/effects/BoostContinuousEffectTest.java b/Mage.Tests/src/test/java/org/mage/test/serverside/cards/effects/BoostContinuousEffectTest.java index fc1948a0136..6de993cb53a 100644 --- a/Mage.Tests/src/test/java/org/mage/test/serverside/cards/effects/BoostContinuousEffectTest.java +++ b/Mage.Tests/src/test/java/org/mage/test/serverside/cards/effects/BoostContinuousEffectTest.java @@ -1,6 +1,5 @@ package org.mage.test.serverside.cards.effects; -import com.sun.xml.bind.v2.schemagen.xmlschema.Any; import mage.filter.Filter; import org.junit.Test; import org.mage.test.serverside.base.CardTestBase; @@ -17,7 +16,7 @@ public class BoostContinuousEffectTest extends CardTestBase { load("M11/Honor of the Pure.test"); execute(); - checkPermanentPT(computerA, "Tine Shrike", 3, 2, Filter.ComparisonScope.Any); - checkPermanentPT(computerA, "Runeclaw Bear", 2, 2, Filter.ComparisonScope.Any); + checkPermanentPT(playerA, "Tine Shrike", 3, 2, Filter.ComparisonScope.Any); + checkPermanentPT(playerA, "Runeclaw Bear", 2, 2, Filter.ComparisonScope.Any); } } diff --git a/Mage.Tests/src/test/java/org/mage/test/serverside/cards/single/mbs/BurntheImpureTest.java b/Mage.Tests/src/test/java/org/mage/test/serverside/cards/single/mbs/BurntheImpureTest.java index 46d5c9022eb..f5ed083a645 100644 --- a/Mage.Tests/src/test/java/org/mage/test/serverside/cards/single/mbs/BurntheImpureTest.java +++ b/Mage.Tests/src/test/java/org/mage/test/serverside/cards/single/mbs/BurntheImpureTest.java @@ -28,11 +28,11 @@ public class BurntheImpureTest extends CardTestBase { // $include red.default useRedDefault(); // hand:ComputerA:Burn the Impure:1 - addCard(Constants.Zone.HAND, computerA, "Burn the Impure"); + addCard(Constants.Zone.HAND, playerA, "Burn the Impure"); // battlefield:ComputerB:Tine Shrike:1 - addCard(Constants.Zone.BATTLEFIELD, computerB, "Tine Shrike"); + addCard(Constants.Zone.BATTLEFIELD, playerB, "Tine Shrike"); // player:ComputerB:life:3 - setLife(computerB, 3); + setLife(playerB, 3); setStopOnTurn(2); execute(); @@ -40,13 +40,13 @@ public class BurntheImpureTest extends CardTestBase { // turn:1 assertTurn(1); // result:won - assertResult(computerA, CardTestAPI.GameResult.WON); + assertResult(playerA, CardTestAPI.GameResult.WON); // life:ComputerA:20 - assertLife(computerA, 20); + assertLife(playerA, 20); // life:ComputerB:0 - assertLife(computerB, 0); + assertLife(playerB, 0); // assert Tine Shrike has been killed - assertPermanentCount(computerB, "Tine Shrike", 0); + assertPermanentCount(playerB, "Tine Shrike", 0); } /** @@ -56,19 +56,19 @@ public class BurntheImpureTest extends CardTestBase { @Test public void testVersusNonInfectCreature() throws Exception { useRedDefault(); - addCard(Constants.Zone.HAND, computerA, "Burn the Impure"); - addCard(Constants.Zone.BATTLEFIELD, computerB, "Runeclaw Bear", 3); - setLife(computerB, 3); + addCard(Constants.Zone.HAND, playerA, "Burn the Impure"); + addCard(Constants.Zone.BATTLEFIELD, playerB, "Runeclaw Bear", 3); + setLife(playerB, 3); setStopOnTurn(2); execute(); assertTurn(2); - assertResult(computerA, CardTestAPI.GameResult.DRAW); - assertLife(computerA, 20); - assertLife(computerB, 3); - assertPermanentCount(computerB, "Runeclaw Bear", 2); - assertPowerToughness(computerB, "Runeclaw Bear", 2, 2, Filter.ComparisonScope.Any); - assertPowerToughness(computerB, "Runeclaw Bear", 2, 2, Filter.ComparisonScope.All); + assertResult(playerA, CardTestAPI.GameResult.DRAW); + assertLife(playerA, 20); + assertLife(playerB, 3); + assertPermanentCount(playerB, "Runeclaw Bear", 2); + assertPowerToughness(playerB, "Runeclaw Bear", 2, 2, Filter.ComparisonScope.Any); + assertPowerToughness(playerB, "Runeclaw Bear", 2, 2, Filter.ComparisonScope.All); } } diff --git a/Mage/src/mage/players/Player.java b/Mage/src/mage/players/Player.java index fe564978c96..2ce860c00b6 100644 --- a/Mage/src/mage/players/Player.java +++ b/Mage/src/mage/players/Player.java @@ -163,6 +163,7 @@ public interface Player extends MageItem, Copyable { public boolean isTestMode(); public void setTestMode(boolean value); + public void addAction(String action); public void init(Game game); public void init(Game game, boolean testMode); diff --git a/Mage/src/mage/players/PlayerImpl.java b/Mage/src/mage/players/PlayerImpl.java index 1438d5015b7..a6afe4eeba7 100644 --- a/Mage/src/mage/players/PlayerImpl.java +++ b/Mage/src/mage/players/PlayerImpl.java @@ -1345,4 +1345,10 @@ public abstract class PlayerImpl> implements Player, Ser public void setUserData(UserData userData) { this.userData = userData; } + + @Override + public void addAction(String action) { + // do nothing + } + }