@@ -59,6 +59,7 @@ def _depset_file_subject_new(files, meta, container_name = "depset", element_plu
5959 contains_at_least = lambda * a , ** k : _depset_file_subject_contains_at_least (self , * a , ** k ),
6060 contains_at_least_predicates = lambda * a , ** k : _depset_file_subject_contains_at_least_predicates (self , * a , ** k ),
6161 contains_exactly = lambda * a , ** k : _depset_file_subject_contains_exactly (self , * a , ** k ),
62+ contains_none_of = lambda * a , ** k : _depset_file_subject_contains_none_of (self , * a , ** k ),
6263 contains_predicate = lambda * a , ** k : _depset_file_subject_contains_predicate (self , * a , ** k ),
6364 not_contains = lambda * a , ** k : _depset_file_subject_not_contains (self , * a , ** k ),
6465 not_contains_predicate = lambda * a , ** k : _depset_file_subject_not_contains_predicate (self , * a , ** k ),
@@ -253,6 +254,34 @@ def _depset_file_subject_contains_exactly(self, paths):
253254 meta = self .meta ,
254255 )
255256
257+ def _depset_file_subject_contains_none_of (self , values ):
258+ """Asserts that the depset of files contains none of the provided paths.
259+
260+ Method: DepsetFileSubject.contains_none_of
261+
262+ Args:
263+ self: implicitly added
264+ values: (['collection'] of ['str'] | collection of ['File']. If string
265+ paths are provided then they are compared to the short path of the
266+ files and are formatted using 'ExpectMeta.format_str' and its
267+ current contextual keywords. Note that, when using `File` objects,
268+ two files' configurations must be the same for them to be
269+ considered equal.
270+ """
271+ values = to_list (values )
272+ if len (values ) < 1 or is_file (values [0 ]):
273+ actual = self .files
274+ else :
275+ values = [self .meta .format_str (v ) for v in values ]
276+ actual = self .actual_paths
277+
278+ return CollectionSubject .new (
279+ actual ,
280+ meta = self .meta ,
281+ container_name = self .container_name ,
282+ element_plural_name = self .element_plural_name ,
283+ ).contains_none_of (values )
284+
256285def _depset_file_subject_not_contains (self , short_path ):
257286 """Asserts that `short_path` is not in the depset.
258287
@@ -287,6 +316,7 @@ DepsetFileSubject = struct(
287316 contains_at_least_predicates = _depset_file_subject_contains_at_least_predicates ,
288317 contains_predicate = _depset_file_subject_contains_predicate ,
289318 contains_exactly = _depset_file_subject_contains_exactly ,
319+ contains_none_of = _depset_file_subject_contains_none_of ,
290320 not_contains = _depset_file_subject_not_contains ,
291321 not_contains_predicate = _depset_file_subject_not_contains_predicate ,
292322)
0 commit comments