@@ -141,6 +141,7 @@ def add_array(
141141 # self.model.rename(from_group, new_path)
142142 # self.repo.store.rename(from_group, new_path)
143143
144+ @precondition (lambda self : self .store .supports_deletes )
144145 @precondition (lambda self : len (self .all_arrays ) >= 1 )
145146 @rule (data = st .data ())
146147 def delete_array_using_del (self , data : DataObject ) -> None :
@@ -155,6 +156,7 @@ def delete_array_using_del(self, data: DataObject) -> None:
155156 del group [array_name ]
156157 self .all_arrays .remove (array_path )
157158
159+ @precondition (lambda self : self .store .supports_deletes )
158160 @precondition (lambda self : len (self .all_groups ) >= 2 ) # fixme don't delete root
159161 @rule (data = st .data ())
160162 def delete_group_using_del (self , data : DataObject ) -> None :
@@ -290,6 +292,10 @@ def supports_partial_writes(self) -> bool:
290292 def supports_writes (self ) -> bool :
291293 return self .store .supports_writes
292294
295+ @property
296+ def supports_deletes (self ) -> bool :
297+ return self .store .supports_deletes
298+
293299
294300class ZarrStoreStateMachine (RuleBasedStateMachine ):
295301 """ "
@@ -372,6 +378,7 @@ def get_partial_values(self, data: DataObject) -> None:
372378 model_vals_ls ,
373379 )
374380
381+ @precondition (lambda self : self .store .supports_deletes )
375382 @precondition (lambda self : len (self .model .keys ()) > 0 )
376383 @rule (data = st .data ())
377384 def delete (self , data : DataObject ) -> None :
0 commit comments