@@ -23,11 +23,11 @@ def test_initialize_with_custom_smoothing_factor
2323 updater = CI ::Queue ::Redis ::UpdateTestDurationMovingAverage . new ( @redis , key : @key , smoothing_factor : 0.5 )
2424 reader = CI ::Queue ::Redis ::TestDurationMovingAverages . new ( @redis , key : @key )
2525
26- updater . update ( ' test1' , 100.0 )
26+ updater . update_batch ( [ [ " test1" , 100.0 ] ] )
2727 first_avg = reader [ 'test1' ]
2828 assert_equal 100.0 , first_avg
2929
30- updater . update ( ' test1' , 200.0 )
30+ updater . update_batch ( [ [ " test1" , 200.0 ] ] )
3131 second_avg = reader [ 'test1' ]
3232 assert_in_delta 150.0 , second_avg , 0.001
3333 end
@@ -36,41 +36,39 @@ def test_update_creates_new_entry
3636 updater = CI ::Queue ::Redis ::UpdateTestDurationMovingAverage . new ( @redis , key : @key )
3737 reader = CI ::Queue ::Redis ::TestDurationMovingAverages . new ( @redis , key : @key )
3838
39- result = updater . update ( ' test1' , 10.5 )
40-
39+ updater . update_batch ( [ [ " test1" , 10.5 ] ] )
40+ result = reader [ 'test1' ]
4141 assert_equal 10.5 , result
4242 assert_equal 1 , reader . size
4343 end
4444
4545 def test_update_calculates_exponential_moving_average
4646 updater = CI ::Queue ::Redis ::UpdateTestDurationMovingAverage . new ( @redis , key : @key , smoothing_factor : 0.2 )
47+ reader = CI ::Queue ::Redis ::TestDurationMovingAverages . new ( @redis , key : @key )
4748
48- first_avg = updater . update ( ' test1' , 100.0 )
49- assert_equal 100.0 , first_avg
49+ updater . update_batch ( [ [ " test1" , 100.0 ] ] )
50+ assert_equal 100.0 , reader [ 'test1' ]
5051
5152 # EMA = 0.2 * 150 + 0.8 * 100 = 30 + 80 = 110
52- second_avg = updater . update ( ' test1' , 150.0 )
53- assert_in_delta 110.0 , second_avg , 0.001
53+ updater . update_batch ( [ [ " test1" , 150.0 ] ] )
54+ assert_in_delta 110.0 , reader [ 'test1' ] , 0.001
5455
55- third_avg = updater . update ( ' test1' , 200.0 )
56- assert_in_delta 128.0 , third_avg , 0.001
56+ updater . update_batch ( [ [ " test1" , 200.0 ] ] )
57+ assert_in_delta 128.0 , reader [ 'test1' ] , 0.001
5758 end
5859
5960 def test_update_multiple_tests
6061 updater = CI ::Queue ::Redis ::UpdateTestDurationMovingAverage . new ( @redis , key : @key )
6162 reader = CI ::Queue ::Redis ::TestDurationMovingAverages . new ( @redis , key : @key )
6263
63- updater . update ( 'test1' , 10.0 )
64- updater . update ( 'test2' , 20.0 )
65- updater . update ( 'test3' , 30.0 )
64+ updater . update_batch ( [ [ "test1" , 10.0 ] , [ "test2" , 20.0 ] , [ "test3" , 30.0 ] ] )
6665
6766 assert_equal 3 , reader . size
6867 end
6968
7069 def test_bracket_operator_loads_and_returns_value
7170 updater = CI ::Queue ::Redis ::UpdateTestDurationMovingAverage . new ( @redis , key : @key )
72- updater . update ( 'test1' , 10.5 )
73- updater . update ( 'test2' , 20.5 )
71+ updater . update_batch ( [ [ "test1" , 10.5 ] , [ "test2" , 20.5 ] ] )
7472
7573 reader = CI ::Queue ::Redis ::TestDurationMovingAverages . new ( @redis , key : @key )
7674 assert_equal 10.5 , reader [ 'test1' ]
@@ -81,16 +79,14 @@ def test_bracket_operator_returns_nil_for_missing_key
8179 updater = CI ::Queue ::Redis ::UpdateTestDurationMovingAverage . new ( @redis , key : @key )
8280 reader = CI ::Queue ::Redis ::TestDurationMovingAverages . new ( @redis , key : @key )
8381
84- updater . update ( ' test1' , 10.5 )
82+ updater . update_batch ( [ [ " test1" , 10.5 ] ] )
8583
8684 assert_nil reader [ 'nonexistent' ]
8785 end
8886
8987 def test_load_all_loads_all_values_from_redis
9088 updater = CI ::Queue ::Redis ::UpdateTestDurationMovingAverage . new ( @redis , key : @key )
91- updater . update ( 'test1' , 10.0 )
92- updater . update ( 'test2' , 20.0 )
93- updater . update ( 'test3' , 30.0 )
89+ updater . update_batch ( [ [ "test1" , 10.0 ] , [ "test2" , 20.0 ] , [ "test3" , 30.0 ] ] )
9490
9591 reader = CI ::Queue ::Redis ::TestDurationMovingAverages . new ( @redis , key : @key )
9692 reader . load_all
@@ -104,7 +100,7 @@ def test_load_all_handles_batches
104100 updater = CI ::Queue ::Redis ::UpdateTestDurationMovingAverage . new ( @redis , key : @key )
105101
106102 1500 . times do |i |
107- updater . update ( "test_#{ i } " , i . to_f )
103+ updater . update_batch ( [ [ "test_#{ i } " , i . to_f ] ] )
108104 end
109105
110106 # Create new instance and load all
@@ -123,20 +119,19 @@ def test_size_returns_correct_count
123119
124120 assert_equal 0 , reader . size
125121
126- updater . update ( ' test1' , 10.0 )
122+ updater . update_batch ( [ [ " test1" , 10.0 ] ] )
127123 assert_equal 1 , reader . size
128124
129- updater . update ( ' test2' , 20.0 )
125+ updater . update_batch ( [ [ " test2" , 20.0 ] ] )
130126 assert_equal 2 , reader . size
131127
132- updater . update ( ' test1' , 15.0 )
128+ updater . update_batch ( [ [ " test1" , 15.0 ] ] )
133129 assert_equal 2 , reader . size
134130 end
135131
136132 def test_updates_persist_to_redis
137133 updater = CI ::Queue ::Redis ::UpdateTestDurationMovingAverage . new ( @redis , key : @key )
138- updater . update ( 'test1' , 10.5 )
139- updater . update ( 'test2' , 20.5 )
134+ updater . update_batch ( [ [ "test1" , 10.5 ] , [ "test2" , 20.5 ] ] )
140135
141136 # Verify data is actually in Redis
142137 values = @redis . hgetall ( @key )
@@ -150,8 +145,8 @@ def test_concurrent_updates_from_different_instances
150145 updater2 = CI ::Queue ::Redis ::UpdateTestDurationMovingAverage . new ( @redis , key : @key , smoothing_factor : 0.2 )
151146 reader = CI ::Queue ::Redis ::TestDurationMovingAverages . new ( @redis , key : @key )
152147
153- updater1 . update ( ' test1' , 100.0 )
154- updater2 . update ( ' test1' , 200.0 )
148+ updater1 . update_batch ( [ [ " test1" , 100.0 ] ] )
149+ updater2 . update_batch ( [ [ " test1" , 200.0 ] ] )
155150
156151 # Expected: 0.2 * 200 + 0.8 * 100 = 120
157152 assert_in_delta 120.0 , reader [ 'test1' ] , 0.001
@@ -161,9 +156,7 @@ def test_handles_floating_point_precision
161156 updater = CI ::Queue ::Redis ::UpdateTestDurationMovingAverage . new ( @redis , key : @key )
162157
163158 # Test with various floating point values
164- updater . update ( 'test1' , 0.123456789 )
165- updater . update ( 'test2' , 999.999999 )
166- updater . update ( 'test3' , 0.000001 )
159+ updater . update_batch ( [ [ "test1" , 0.123456789 ] , [ "test2" , 999.999999 ] , [ "test3" , 0.000001 ] ] )
167160
168161 # Load in new instance
169162 reader = CI ::Queue ::Redis ::TestDurationMovingAverages . new ( @redis , key : @key )
0 commit comments