@@ -26,7 +26,7 @@ def test_create_buffer_with_only_latest_extractors_uses_single_value_buffer(self
2626
2727 manager .create_buffer ('test' , extractors )
2828
29- assert isinstance (manager . _states ['test' ]. buffer , SingleValueBuffer )
29+ assert isinstance (manager ['test' ], SingleValueBuffer )
3030
3131 def test_create_buffer_with_mixed_extractors_uses_temporal_buffer (self ):
3232 """
@@ -37,7 +37,7 @@ def test_create_buffer_with_mixed_extractors_uses_temporal_buffer(self):
3737
3838 manager .create_buffer ('test' , extractors )
3939
40- assert isinstance (manager . _states ['test' ]. buffer , TemporalBuffer )
40+ assert isinstance (manager ['test' ], TemporalBuffer )
4141
4242 def test_create_buffer_with_window_extractor_uses_temporal_buffer (self ):
4343 """Test that TemporalBuffer is used with WindowAggregatingExtractor."""
@@ -46,7 +46,7 @@ def test_create_buffer_with_window_extractor_uses_temporal_buffer(self):
4646
4747 manager .create_buffer ('test' , extractors )
4848
49- assert isinstance (manager . _states ['test' ]. buffer , TemporalBuffer )
49+ assert isinstance (manager ['test' ], TemporalBuffer )
5050
5151 def test_create_buffer_with_no_extractors_uses_single_value_buffer (self ):
5252 """
@@ -56,7 +56,7 @@ def test_create_buffer_with_no_extractors_uses_single_value_buffer(self):
5656
5757 manager .create_buffer ('test' , [])
5858
59- assert isinstance (manager . _states ['test' ]. buffer , SingleValueBuffer )
59+ assert isinstance (manager ['test' ], SingleValueBuffer )
6060
6161 def test_create_buffer_raises_error_for_duplicate_key (self ):
6262 """Test that creating a buffer with existing key raises ValueError."""
@@ -72,18 +72,24 @@ def test_update_buffer_adds_data(self):
7272 """Test that update_buffer adds data to the buffer."""
7373 manager = TemporalBufferManager ()
7474 extractors = [LatestValueExtractor ()]
75- data = sc .scalar (42 , unit = 'counts' )
75+ data = sc .DataArray (
76+ sc .scalar (42 , unit = 'counts' ),
77+ coords = {'time' : sc .scalar (1.0 , unit = 's' )},
78+ )
7679
7780 manager .create_buffer ('test' , extractors )
7881 manager .update_buffer ('test' , data )
7982
8083 result = manager .get_buffered_data ('test' )
81- assert result == data
84+ assert sc . identical ( result , data )
8285
8386 def test_update_buffer_raises_error_for_missing_key (self ):
8487 """Test that updating non-existent buffer raises KeyError."""
8588 manager = TemporalBufferManager ()
86- data = sc .scalar (42 , unit = 'counts' )
89+ data = sc .DataArray (
90+ sc .scalar (42 , unit = 'counts' ),
91+ coords = {'time' : sc .scalar (1.0 , unit = 's' )},
92+ )
8793
8894 with pytest .raises (KeyError , match = "No buffer found" ):
8995 manager .update_buffer ('test' , data )
@@ -94,12 +100,12 @@ def test_add_extractor_keeps_same_buffer_type(self):
94100 extractors = [LatestValueExtractor ()]
95101
96102 manager .create_buffer ('test' , extractors )
97- original_buffer = manager . _states ['test' ]. buffer
103+ original_buffer = manager ['test' ]
98104
99105 manager .add_extractor ('test' , LatestValueExtractor ())
100106
101- assert manager . _states ['test' ]. buffer is original_buffer
102- assert isinstance (manager . _states ['test' ]. buffer , SingleValueBuffer )
107+ assert manager ['test' ] is original_buffer
108+ assert isinstance (manager ['test' ], SingleValueBuffer )
103109
104110 def test_add_extractor_switches_to_temporal_buffer (self ):
105111 """Test that switching buffer types preserves existing data."""
@@ -213,9 +219,9 @@ def test_window_extractor_sets_timespan_on_buffer(self):
213219
214220 manager .create_buffer ('test' , extractors )
215221
216- buffer = manager . _states ['test' ]. buffer
222+ buffer = manager ['test' ]
217223 assert isinstance (buffer , TemporalBuffer )
218- assert buffer ._required_timespan == window_duration
224+ assert buffer .get_required_timespan () == window_duration
219225
220226 def test_multiple_window_extractors_use_max_timespan (self ):
221227 """Test that maximum timespan from multiple extractors is used."""
@@ -228,8 +234,8 @@ def test_multiple_window_extractors_use_max_timespan(self):
228234
229235 manager .create_buffer ('test' , extractors )
230236
231- buffer = manager . _states ['test' ]. buffer
232- assert buffer ._required_timespan == 5.0
237+ buffer = manager ['test' ]
238+ assert buffer .get_required_timespan () == 5.0
233239
234240 def test_latest_extractor_does_not_set_timespan (self ):
235241 """Test that LatestValueExtractor doesn't set a timespan."""
@@ -238,9 +244,9 @@ def test_latest_extractor_does_not_set_timespan(self):
238244
239245 manager .create_buffer ('test' , extractors )
240246
241- buffer = manager . _states ['test' ]. buffer
247+ buffer = manager ['test' ]
242248 assert isinstance (buffer , SingleValueBuffer )
243- assert buffer ._required_timespan == 0.0
249+ assert buffer .get_required_timespan () == 0.0
244250
245251 def test_mixed_extractors_use_window_timespan (self ):
246252 """Test that timespan is set when mixing Latest and Window extractors."""
@@ -252,25 +258,25 @@ def test_mixed_extractors_use_window_timespan(self):
252258
253259 manager .create_buffer ('test' , extractors )
254260
255- buffer = manager . _states ['test' ]. buffer
261+ buffer = manager ['test' ]
256262 assert isinstance (buffer , TemporalBuffer )
257- assert buffer ._required_timespan == 4.0
263+ assert buffer .get_required_timespan () == 4.0
258264
259265 def test_adding_extractor_updates_timespan (self ):
260266 """Test that adding an extractor updates the buffer's timespan."""
261267 manager = TemporalBufferManager ()
262268 extractors = [WindowAggregatingExtractor (window_duration_seconds = 2.0 )]
263269
264270 manager .create_buffer ('test' , extractors )
265- buffer = manager . _states ['test' ]. buffer
266- assert buffer ._required_timespan == 2.0
271+ buffer = manager ['test' ]
272+ assert buffer .get_required_timespan () == 2.0
267273
268274 # Add extractor with larger timespan
269275 manager .add_extractor (
270276 'test' , WindowAggregatingExtractor (window_duration_seconds = 10.0 )
271277 )
272278
273- assert buffer ._required_timespan == 10.0
279+ assert buffer .get_required_timespan () == 10.0
274280
275281 def test_full_history_extractor_infinite_timespan (self ):
276282 """Test that FullHistoryExtractor sets infinite timespan."""
@@ -279,9 +285,9 @@ def test_full_history_extractor_infinite_timespan(self):
279285
280286 manager .create_buffer ('test' , extractors )
281287
282- buffer = manager . _states ['test' ]. buffer
288+ buffer = manager ['test' ]
283289 assert isinstance (buffer , TemporalBuffer )
284- assert buffer ._required_timespan == float ('inf' )
290+ assert buffer .get_required_timespan () == float ('inf' )
285291
286292 def test_full_history_with_window_uses_infinite (self ):
287293 """Test that mixing FullHistory with Window uses infinite timespan."""
@@ -293,10 +299,10 @@ def test_full_history_with_window_uses_infinite(self):
293299
294300 manager .create_buffer ('test' , extractors )
295301
296- buffer = manager . _states ['test' ]. buffer
302+ buffer = manager ['test' ]
297303 assert isinstance (buffer , TemporalBuffer )
298304 # max(5.0, inf) = inf
299- assert buffer ._required_timespan == float ('inf' )
305+ assert buffer .get_required_timespan () == float ('inf' )
300306
301307
302308class TestTemporalBufferManagerWithRealData :
0 commit comments