- given: file {filename} function: create_file - given: file (?P\S+) has modification time (?P\d+)-(?P\d+)-(?P\d+) (?P\d+):(?P\d+):(?P\d+) function: touch_file regex: true - when: I remember the metadata for {filename} function: remember_metadata - when: I touch {filename} function: update_mtime - then: file {filename} exists function: file_exists - then: file {filename} does not exist function: file_does_not_exist - then: file (?P\S+) matches /(?P.+)/ function: file_matches regex: true - then: files {filename1} and {filename2} match function: files_match - then: file (?P\S+) contains "(?P.+)" function: file_contains regex: true - then: "{filename} has the same metadata as before" function: has_same_metadata_as_remembered - then: "{filename} has changed from before" function: has_diff_metadata_than_remembered - then: only files (?P.+) exist function: only_these_files_exist regex: true