1+ # frozen_string_literal: true
2+
13#
24# Copyright 2025 Optimizely and contributors
35#
4648 # Set bucket value to be within first variation's traffic allocation (0-5000 range)
4749 test_bucketer . set_bucket_values ( [ 2500 ] )
4850
49- variation , reasons = test_bucketer . bucket ( config , holdout , test_bucketing_id , test_user_id )
51+ variation , _reasons = test_bucketer . bucket ( config , holdout , test_bucketing_id , test_user_id )
5052
5153 expect ( variation ) . not_to be_nil
5254 expect ( variation [ 'id' ] ) . to eq ( 'var_1' )
7072 # Set bucket value outside traffic allocation range
7173 test_bucketer . set_bucket_values ( [ 1500 ] )
7274
73- variation , reasons = test_bucketer . bucket ( config , modified_holdout , test_bucketing_id , test_user_id )
75+ variation , _reasons = test_bucketer . bucket ( config , modified_holdout , test_bucketing_id , test_user_id )
7476
7577 expect ( variation ) . to be_nil
7678
9193
9294 test_bucketer . set_bucket_values ( [ 5000 ] )
9395
94- variation , reasons = test_bucketer . bucket ( config , modified_holdout , test_bucketing_id , test_user_id )
96+ variation , _reasons = test_bucketer . bucket ( config , modified_holdout , test_bucketing_id , test_user_id )
9597
9698 expect ( variation ) . to be_nil
9799
112114
113115 test_bucketer . set_bucket_values ( [ 5000 ] )
114116
115- variation , reasons = test_bucketer . bucket ( config , modified_holdout , test_bucketing_id , test_user_id )
117+ variation , _reasons = test_bucketer . bucket ( config , modified_holdout , test_bucketing_id , test_user_id )
116118
117119 expect ( variation ) . to be_nil
118120
130132
131133 test_bucketer . set_bucket_values ( [ 5000 ] )
132134
133- variation , reasons = test_bucketer . bucket ( config , holdout , test_bucketing_id , test_user_id )
135+ variation , _reasons = test_bucketer . bucket ( config , holdout , test_bucketing_id , test_user_id )
134136
135137 expect ( variation ) . to be_nil
136138
151153
152154 test_bucketer . set_bucket_values ( [ 5000 ] )
153155
154- variation , reasons = test_bucketer . bucket ( config , modified_holdout , test_bucketing_id , test_user_id )
156+ variation , _reasons = test_bucketer . bucket ( config , modified_holdout , test_bucketing_id , test_user_id )
155157
156158 # Should return nil for invalid experiment key
157159 expect ( variation ) . to be_nil
167169
168170 test_bucketer . set_bucket_values ( [ 5000 ] )
169171
170- variation , reasons = test_bucketer . bucket ( config , modified_holdout , test_bucketing_id , test_user_id )
172+ variation , _reasons = test_bucketer . bucket ( config , modified_holdout , test_bucketing_id , test_user_id )
171173
172174 # Should return nil for null experiment key
173175 expect ( variation ) . to be_nil
182184
183185 # Test user buckets into first variation
184186 test_bucketer . set_bucket_values ( [ 2500 ] )
185- variation , reasons = test_bucketer . bucket ( config , holdout , test_bucketing_id , test_user_id )
187+ variation , _reasons = test_bucketer . bucket ( config , holdout , test_bucketing_id , test_user_id )
186188
187189 expect ( variation ) . not_to be_nil
188190 expect ( variation [ 'id' ] ) . to eq ( 'var_1' )
200202
201203 # Test user buckets into second variation (bucket value 7500 should be in 5000-10000 range)
202204 test_bucketer . set_bucket_values ( [ 7500 ] )
203- variation , reasons = test_bucketer . bucket ( config , holdout , test_bucketing_id , test_user_id )
205+ variation , _reasons = test_bucketer . bucket ( config , holdout , test_bucketing_id , test_user_id )
204206
205207 expect ( variation ) . not_to be_nil
206208 expect ( variation [ 'id' ] ) . to eq ( 'var_2' )
217219
218220 # Test exact boundary value (should be included)
219221 test_bucketer . set_bucket_values ( [ 4999 ] )
220- variation , reasons = test_bucketer . bucket ( config , modified_holdout , test_bucketing_id , test_user_id )
222+ variation , _reasons = test_bucketer . bucket ( config , modified_holdout , test_bucketing_id , test_user_id )
221223
222224 expect ( variation ) . not_to be_nil
223225 expect ( variation [ 'id' ] ) . to eq ( 'var_1' )
224226
225227 # Test value just outside boundary (should not be included)
226228 test_bucketer . set_bucket_values ( [ 5000 ] )
227- variation , reasons = test_bucketer . bucket ( config , modified_holdout , test_bucketing_id , test_user_id )
229+ variation , _reasons = test_bucketer . bucket ( config , modified_holdout , test_bucketing_id , test_user_id )
228230
229231 expect ( variation ) . to be_nil
230232 end
235237
236238 # Create a real bucketer (not test bucketer) for consistent hashing
237239 real_bucketer = Optimizely ::Bucketer . new ( spy_logger )
238- variation1 , reasons1 = real_bucketer . bucket ( config , holdout , test_bucketing_id , test_user_id )
239- variation2 , reasons2 = real_bucketer . bucket ( config , holdout , test_bucketing_id , test_user_id )
240+ variation1 , _reasons1 = real_bucketer . bucket ( config , holdout , test_bucketing_id , test_user_id )
241+ variation2 , _reasons2 = real_bucketer . bucket ( config , holdout , test_bucketing_id , test_user_id )
240242
241243 # Results should be identical
242244 if variation1
267269 expect ( holdout ) . not_to be_nil
268270
269271 test_bucketer . set_bucket_values ( [ 5000 ] )
270- variation , reasons = test_bucketer . bucket ( config , holdout , test_bucketing_id , test_user_id )
272+ variation , _reasons = test_bucketer . bucket ( config , holdout , test_bucketing_id , test_user_id )
271273
272274 expect ( reasons ) . not_to be_nil
273275 # Decision reasons should be populated from the bucketing process
@@ -284,9 +286,8 @@ def initialize(logger)
284286 @bucket_index = 0
285287 end
286288
287- def set_bucket_values ( values )
289+ def bucket_values ( values )
288290 @bucket_values = values
289- @bucket_index = 0
290291 end
291292
292293 def generate_bucket_value ( bucketing_id )
@@ -296,4 +297,4 @@ def generate_bucket_value(bucketing_id)
296297 @bucket_index = ( @bucket_index + 1 ) % @bucket_values . length
297298 value
298299 end
299- end
300+ end
0 commit comments