@@ -302,4 +302,27 @@ public function testMergeArrayConfig()
302302 self ::assertException (function () use ($ config , $ defaultConfig ) { Arrays::mergeArrayConfig ($ config , $ defaultConfig , "blue " ); }, InvalidArgumentException::class);
303303 }
304304
305+ public static function testInsertAfter ()
306+ {
307+ $ target = ["one " => 1 , "three " => 3 ];
308+ self ::assertEquals (["one " => 1 , "two " => 2 , "three " => 3 ], Arrays::insertAfter ($ target , "two " , 2 , "one " ));
309+ self ::assertEquals (["one " => 1 , "three " => 3 , "key " => "key " ], Arrays::insertAfter ($ target , "key " , "key " , "two " ));
310+ $ target = [1 => 1 , 3 => 3 ];
311+ self ::assertEquals ([1 => 1 , 2 => 2 , 3 => 3 ], Arrays::insertAfter ($ target , 2 , 2 , 1 ));
312+ self ::assertEquals ([1 => 1 ], Arrays::insertAfter ([], 1 , 1 , "one " ));
313+ self ::assertException (function () use ($ target ) { Arrays::insertAfter ($ target , null , 2 , "one " ); }, InvalidArgumentException::class);
314+ self ::assertException (function () use ($ target ) { Arrays::insertAfter ($ target , 2 , 2 , null ); }, InvalidArgumentException::class);
315+ }
316+
317+ public static function testInsertBefore ()
318+ {
319+ $ target = ["one " => 1 , "three " => 3 ];
320+ self ::assertEquals (["one " => 1 , "two " => 2 , "three " => 3 ], Arrays::insertBefore ($ target , "two " , 2 , "three " ));
321+ self ::assertEquals (["one " => 1 , "three " => 3 , "key " => "key " ], Arrays::insertBefore ($ target , "key " , "key " , "two " ));
322+ $ target = [1 => 1 , 3 => 3 ];
323+ self ::assertEquals ([1 => 1 , 2 => 2 , 3 => 3 ], Arrays::insertBefore ($ target , 2 , 2 , 3 ));
324+ self ::assertEquals ([1 => 1 ], Arrays::insertBefore ([], 1 , 1 , "one " ));
325+ self ::assertException (function () use ($ target ) { Arrays::insertBefore ($ target , null , 2 , "one " ); }, InvalidArgumentException::class);
326+ self ::assertException (function () use ($ target ) { Arrays::insertBefore ($ target , 2 , 2 , null ); }, InvalidArgumentException::class);
327+ }
305328}
0 commit comments