@@ -548,26 +548,42 @@ public function testRandomElementsThrowsWhenRequestingTooManyKeys(): void
548548 BaseProvider::randomElements (['foo ' ], 2 );
549549 }
550550
551- public function testRandomElements (): void
551+ public function testRandomElementsWorksWithoutArgument (): void
552552 {
553553 self ::assertCount (1 , BaseProvider::randomElements (), 'Should work without any input ' );
554+ }
555+
556+ public function testRandomElementsWorksWithEmptyArray (): void
557+ {
558+ $ randomElements = BaseProvider::randomElements ([], 0 );
559+
560+ self ::assertIsArray ($ randomElements );
561+ self ::assertCount (0 , $ randomElements );
562+ }
563+
564+ public function testRandomElementsWorksWithEmptyTraversable (): void
565+ {
566+ $ randomElements = BaseProvider::randomElements (new \ArrayIterator (), 0 );
567+
568+ self ::assertIsArray ($ randomElements );
569+ self ::assertCount (0 , $ randomElements );
570+ }
554571
555- $ empty = BaseProvider:: randomElements ([], 0 );
556- self :: assertIsArray ( $ empty );
557- self :: assertCount ( 0 , $ empty );
572+ public function testRandomElementsWorksWithNonEmptyTraversable (): void
573+ {
574+ $ randomElements = BaseProvider:: randomElements ([ ' foo ' , ' bar ' , ' baz ' ], 3 );
558575
559- $ emptyTraversable = BaseProvider::randomElements (new \ArrayIterator (), 0 );
560- self ::assertIsArray ($ emptyTraversable );
561- self ::assertCount (0 , $ emptyTraversable );
576+ self ::assertContains ('foo ' , $ randomElements );
577+ self ::assertContains ('bar ' , $ randomElements );
578+ self ::assertContains ('baz ' , $ randomElements );
579+ }
562580
563- $ shuffled = BaseProvider::randomElements (['foo ' , 'bar ' , 'baz ' ], 3 );
564- self ::assertContains ('foo ' , $ shuffled );
565- self ::assertContains ('bar ' , $ shuffled );
566- self ::assertContains ('baz ' , $ shuffled );
581+ public function testRandomElementsWorksWithAllowDuplicates (): void
582+ {
583+ $ randomElements = BaseProvider::randomElements (['foo ' , 'bar ' ], 3 , true );
567584
568- $ allowDuplicates = BaseProvider::randomElements (['foo ' , 'bar ' ], 3 , true );
569- self ::assertCount (3 , $ allowDuplicates );
570- self ::assertContainsOnly ('string ' , $ allowDuplicates );
585+ self ::assertCount (3 , $ randomElements );
586+ self ::assertContainsOnly ('string ' , $ randomElements );
571587 }
572588}
573589
0 commit comments