@@ -351,6 +351,22 @@ describe("Frogger", () => {
351351
352352 } ) ;
353353
354+ it ( "Implements the refills market variant" , ( ) => {
355+ const g = new FroggerGame ( `{"game":"frogger","numplayers":2,"variants":["courts","#market","refills"],"gameover":false,"winner":[],"stack":[{"_version":"20251220","_results":[],"_timestamp":"2025-12-29T03:38:17.329Z","currplayer":1,"board":{"dataType":"Map","value":[["b4","7VY"],["c4","PVLY"],["d4","PMSL"],["e4","2MK"],["f4","3LY"],["g4","PMYK"],["h4","5ML"],["i4","8YK"],["j4","NY"],["k4","PSVK"],["l4","1L"],["m4","6MV"],["a3","X1-6"],["a2","X2-6"]]},"closedhands":[["TSLK","NM","9LK","TMLY"],["9MS","7SK","1K","2VL"]],"hands":[[],[]],"market":["NS","3SK","TMVK","5YK","TSVY","NV"],"discards":[],"nummoves":3}]}` ) ;
356+ //Setup.
357+ g . move ( "NM:a3-d3/9LK:a3-c2/TSLK:a3-d2/" ) ;
358+ g . move ( "9MS:a2-k3/7SK:a2-n2/1K:k3-n2/" ) ;
359+ g . move ( "d3-c3,5YK/c2-b2,TMVK/d2-c2,TSVY/" ) ;
360+ g . move ( "2VL:a2-d1/d1-c1,3SK/c1-b3,NS/" ) ;
361+ //Player one attempts to refill the market.
362+ expect ( g . validateMove ( "5YK:b2-e2/e2-d2,NV!/" ) ) . to . have . deep . property ( "valid" , true ) ;
363+
364+ //Eat double refill clicks.
365+ expect ( g . handleClick ( "5YK:b2-e2/e2-d2,NV/" , - 1 , - 1 , "refill" ) ) . to . have . deep . property ( "move" , "5YK:b2-e2/e2-d2,NV!/" ) ;
366+ expect ( g . handleClick ( "5YK:b2-e2/e2-d2,NV!/" , - 1 , - 1 , "refill" ) ) . to . have . deep . property ( "move" , "5YK:b2-e2/e2-d2,NV!/" ) ;
367+
368+ } ) ;
369+
354370 it ( "Implements the original market rules" , ( ) => {
355371 const g = new FroggerGame ( `{"game":"frogger","numplayers":2,"variants":["courtpawns"],"gameover":false,"winner":[],"stack":[{"_version":"20251229","_results":[],"_timestamp":"2025-12-31T23:44:13.590Z","currplayer":1,"board":{"dataType":"Map","value":[["b4","3SK"],["c4","7VY"],["d4","TSVY"],["e4","5YK"],["f4","2SY"],["g4","8MS"],["h4","3LY"],["i4","TSLK"],["j4","1Y"],["k4","TMLY"],["l4","1S"],["m4","TMVK"],["a3","X1-6"],["a2","X2-6"]]},"closedhands":[["1L","1K","6LK","6SY"],["NY","1V","NS","NM"]],"hands":[[],[]],"market":["9LK","NK","9VY","8YK","2MK","6MV"],"discards":[],"nummoves":3}]}` ) ;
356372
@@ -363,6 +379,7 @@ describe("Frogger", () => {
363379 //Second move is back to the Excuse.
364380 expect ( g . validateMove ( "NY:a2-c2/c2-b2,NK/b2-a2,9LK/" ) ) . to . have . deep . property ( "valid" , false ) ;
365381 expect ( g . validateMove ( "NY:a2-c2/c2-b2,9VY/b2-a2,NK/" ) ) . to . have . deep . property ( "valid" , true ) ;
382+
366383 } ) ;
367384
368385 it ( "Implements the free swim variant" , ( ) => {
0 commit comments