@@ -40,6 +40,7 @@ def test_seeding_nonconstant() -> None:
4040 lambda generator , n : generator .sample_float (n , min = 0 , max = 5 ),
4141 lambda generator , n : generator .sample_string (n , regex = "[abc]" ),
4242 lambda generator , n : generator .sample_choice (n , choices = [1 , 2 , 3 ]),
43+ lambda generator , n : generator .sample_binary (n , min_bytes = 1 , max_bytes = 10 ),
4344 lambda generator , n : generator .sample_time (n , min = dt .time (0 , 0 ), max = None ),
4445 lambda generator , n : generator .sample_date (
4546 n , min = dt .date (1970 , 1 , 1 ), max = None
@@ -75,6 +76,9 @@ def test_sample_correct_n(
7576 lambda generator , n , prob : generator .sample_choice (
7677 n , choices = [1 , 2 , 3 ], null_probability = prob
7778 ),
79+ lambda generator , n , prob : generator .sample_binary (
80+ n , min_bytes = 1 , max_bytes = 10 , null_probability = prob
81+ ),
7882 lambda generator , n , prob : generator .sample_time (
7983 n , min = dt .time (0 , 0 ), max = None , null_probability = prob
8084 ),
@@ -131,6 +135,16 @@ def test_sample_string(generator: Generator) -> None:
131135 assert (samples .str .len_bytes () == 2 ).all ()
132136
133137
138+ def test_sample_binary (generator : Generator ) -> None :
139+ samples = generator .sample_binary (100 , min_bytes = 1 , max_bytes = 10 )
140+ assert (
141+ samples .to_frame ("s" ).select (pl .col ("s" ).bin .size ("b" ) >= 1 ).to_series ().all ()
142+ )
143+ assert (
144+ samples .to_frame ("s" ).select (pl .col ("s" ).bin .size ("b" ) <= 10 ).to_series ().all ()
145+ )
146+
147+
134148def test_sample_choice (generator : Generator ) -> None :
135149 samples = generator .sample_choice (100_000 , choices = [1 , 2 , 3 ])
136150 assert np .allclose (
0 commit comments