Skip to content

Instantly share code, notes, and snippets.

@mvdbeek
Last active October 2, 2024 09:49
Show Gist options
  • Save mvdbeek/2d87127a33f13c0fb3bd536b368bf44a to your computer and use it in GitHub Desktop.
Save mvdbeek/2d87127a33f13c0fb3bd536b368bf44a to your computer and use it in GitHub Desktop.
{"$defs": {"CollectionAttributes": {"additionalProperties": false, "properties": {"collection_type": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "title": "Collection Type"}}, "title": "CollectionAttributes", "type": "object"}, "OutputCompareType": {"enum": ["diff", "re_match", "sim_size", "re_match_multiline", "contains", "image_diff"], "title": "OutputCompareType", "type": "string"}, "RootModel_List_Union_Annotated_Union_has_line_model__has_line_matching_model__has_n_lines_model__has_text_model__has_text_matching_model__not_has_text_model__has_n_columns_model__attribute_is_model__attribute_matches_model__element_text_model__element_text_is_model__element_text_matches_model__has_element_with_path_model__has_n_elements_with_path_model__is_valid_xml_model__xml_element_model__has_json_property_with_text_model__has_json_property_with_value_model__has_h5_attribute_model__has_h5_keys_model__has_archive_member_model__has_size_model__has_image_center_of_mass_model__has_image_channels_model__has_image_height_model__has_image_mean_intensity_model__has_image_mean_object_size_model__has_image_n_labels_model__has_image_width_model___FieldInfo_annotation_NoneType__required_True__discriminator__that_____has_line_model_nested__has_line_matching_model_nested__has_n_lines_model_nested__has_text_model_nested__has_text_matching_model_nested__not_has_text_model_nested__has_n_columns_model_nested__attribute_is_model_nested__attribute_matches_model_nested__element_text_model_nested__element_text_is_model_nested__element_text_matches_model_nested__has_element_with_path_model_nested__has_n_elements_with_path_model_nested__is_valid_xml_model_nested__xml_element_model_nested__has_json_property_with_text_model_nested__has_json_property_with_value_model_nested__has_h5_attribute_model_nested__has_h5_keys_model_nested__has_archive_member_model_nested__has_size_model_nested__has_image_center_of_mass_model_nested__has_image_channels_model_nested__has_image_height_model_nested__has_image_mean_intensity_model_nested__has_image_mean_object_size_model_nested__has_image_n_labels_model_nested__has_image_width_model_nested___": {"items": {"anyOf": [{"discriminator": {"mapping": {"attribute_is": "#/$defs/attribute_is_model", "attribute_matches": "#/$defs/attribute_matches_model", "element_text": "#/$defs/element_text_model", "element_text_is": "#/$defs/element_text_is_model", "element_text_matches": "#/$defs/element_text_matches_model", "has_archive_member": "#/$defs/has_archive_member_model", "has_element_with_path": "#/$defs/has_element_with_path_model", "has_h5_attribute": "#/$defs/has_h5_attribute_model", "has_h5_keys": "#/$defs/has_h5_keys_model", "has_image_center_of_mass": "#/$defs/has_image_center_of_mass_model", "has_image_channels": "#/$defs/has_image_channels_model", "has_image_height": "#/$defs/has_image_height_model", "has_image_mean_intensity": "#/$defs/has_image_mean_intensity_model", "has_image_mean_object_size": "#/$defs/has_image_mean_object_size_model", "has_image_n_labels": "#/$defs/has_image_n_labels_model", "has_image_width": "#/$defs/has_image_width_model", "has_json_property_with_text": "#/$defs/has_json_property_with_text_model", "has_json_property_with_value": "#/$defs/has_json_property_with_value_model", "has_line": "#/$defs/has_line_model", "has_line_matching": "#/$defs/has_line_matching_model", "has_n_columns": "#/$defs/has_n_columns_model", "has_n_elements_with_path": "#/$defs/has_n_elements_with_path_model", "has_n_lines": "#/$defs/has_n_lines_model", "has_size": "#/$defs/has_size_model", "has_text": "#/$defs/has_text_model", "has_text_matching": "#/$defs/has_text_matching_model", "is_valid_xml": "#/$defs/is_valid_xml_model", "not_has_text": "#/$defs/not_has_text_model", "xml_element": "#/$defs/xml_element_model"}, "propertyName": "that"}, "oneOf": [{"$ref": "#/$defs/has_line_model"}, {"$ref": "#/$defs/has_line_matching_model"}, {"$ref": "#/$defs/has_n_lines_model"}, {"$ref": "#/$defs/has_text_model"}, {"$ref": "#/$defs/has_text_matching_model"}, {"$ref": "#/$defs/not_has_text_model"}, {"$ref": "#/$defs/has_n_columns_model"}, {"$ref": "#/$defs/attribute_is_model"}, {"$ref": "#/$defs/attribute_matches_model"}, {"$ref": "#/$defs/element_text_model"}, {"$ref": "#/$defs/element_text_is_model"}, {"$ref": "#/$defs/element_text_matches_model"}, {"$ref": "#/$defs/has_element_with_path_model"}, {"$ref": "#/$defs/has_n_elements_with_path_model"}, {"$ref": "#/$defs/is_valid_xml_model"}, {"$ref": "#/$defs/xml_element_model"}, {"$ref": "#/$defs/has_json_property_with_text_model"}, {"$ref": "#/$defs/has_json_property_with_value_model"}, {"$ref": "#/$defs/has_h5_attribute_model"}, {"$ref": "#/$defs/has_h5_keys_model"}, {"$ref": "#/$defs/has_archive_member_model"}, {"$ref": "#/$defs/has_size_model"}, {"$ref": "#/$defs/has_image_center_of_mass_model"}, {"$ref": "#/$defs/has_image_channels_model"}, {"$ref": "#/$defs/has_image_height_model"}, {"$ref": "#/$defs/has_image_mean_intensity_model"}, {"$ref": "#/$defs/has_image_mean_object_size_model"}, {"$ref": "#/$defs/has_image_n_labels_model"}, {"$ref": "#/$defs/has_image_width_model"}]}, {"$ref": "#/$defs/has_line_model_nested"}, {"$ref": "#/$defs/has_line_matching_model_nested"}, {"$ref": "#/$defs/has_n_lines_model_nested"}, {"$ref": "#/$defs/has_text_model_nested"}, {"$ref": "#/$defs/has_text_matching_model_nested"}, {"$ref": "#/$defs/not_has_text_model_nested"}, {"$ref": "#/$defs/has_n_columns_model_nested"}, {"$ref": "#/$defs/attribute_is_model_nested"}, {"$ref": "#/$defs/attribute_matches_model_nested"}, {"$ref": "#/$defs/element_text_model_nested"}, {"$ref": "#/$defs/element_text_is_model_nested"}, {"$ref": "#/$defs/element_text_matches_model_nested"}, {"$ref": "#/$defs/has_element_with_path_model_nested"}, {"$ref": "#/$defs/has_n_elements_with_path_model_nested"}, {"$ref": "#/$defs/is_valid_xml_model_nested"}, {"$ref": "#/$defs/xml_element_model_nested"}, {"$ref": "#/$defs/has_json_property_with_text_model_nested"}, {"$ref": "#/$defs/has_json_property_with_value_model_nested"}, {"$ref": "#/$defs/has_h5_attribute_model_nested"}, {"$ref": "#/$defs/has_h5_keys_model_nested"}, {"$ref": "#/$defs/has_archive_member_model_nested"}, {"$ref": "#/$defs/has_size_model_nested"}, {"$ref": "#/$defs/has_image_center_of_mass_model_nested"}, {"$ref": "#/$defs/has_image_channels_model_nested"}, {"$ref": "#/$defs/has_image_height_model_nested"}, {"$ref": "#/$defs/has_image_mean_intensity_model_nested"}, {"$ref": "#/$defs/has_image_mean_object_size_model_nested"}, {"$ref": "#/$defs/has_image_n_labels_model_nested"}, {"$ref": "#/$defs/has_image_width_model_nested"}]}, "title": "RootModel[List[Union[Annotated[Union[has_line_model, has_line_matching_model, has_n_lines_model, has_text_model, has_text_matching_model, not_has_text_model, has_n_columns_model, attribute_is_model, attribute_matches_model, element_text_model, element_text_is_model, element_text_matches_model, has_element_with_path_model, has_n_elements_with_path_model, is_valid_xml_model, xml_element_model, has_json_property_with_text_model, has_json_property_with_value_model, has_h5_attribute_model, has_h5_keys_model, has_archive_member_model, has_size_model, has_image_center_of_mass_model, has_image_channels_model, has_image_height_model, has_image_mean_intensity_model, has_image_mean_object_size_model, has_image_n_labels_model, has_image_width_model], FieldInfo(annotation=NoneType, required=True, discriminator='that')], has_line_model_nested, has_line_matching_model_nested, has_n_lines_model_nested, has_text_model_nested, has_text_matching_model_nested, not_has_text_model_nested, has_n_columns_model_nested, attribute_is_model_nested, attribute_matches_model_nested, element_text_model_nested, element_text_is_model_nested, element_text_matches_model_nested, has_element_with_path_model_nested, has_n_elements_with_path_model_nested, is_valid_xml_model_nested, xml_element_model_nested, has_json_property_with_text_model_nested, has_json_property_with_value_model_nested, has_h5_attribute_model_nested, has_h5_keys_model_nested, has_archive_member_model_nested, has_size_model_nested, has_image_center_of_mass_model_nested, has_image_channels_model_nested, has_image_height_model_nested, has_image_mean_intensity_model_nested, has_image_mean_object_size_model_nested, has_image_n_labels_model_nested, has_image_width_model_nested]]]", "type": "array"}, "TestCollectionCollectionElementAssertions": {"additionalProperties": false, "properties": {"elements": {"anyOf": [{"additionalProperties": {"anyOf": [{"$ref": "#/$defs/TestCollectionDatasetElementAssertions"}, {"$ref": "#/$defs/TestCollectionCollectionElementAssertions"}]}, "type": "object"}, {"type": "null"}], "default": null, "title": "Elements"}, "element_tests": {"anyOf": [{"additionalProperties": {"anyOf": [{"$ref": "#/$defs/TestCollectionDatasetElementAssertions"}, {"$ref": "#/$defs/TestCollectionCollectionElementAssertions"}]}, "type": "object"}, {"type": "null"}], "default": null, "title": "Element Tests"}}, "title": "TestCollectionCollectionElementAssertions", "type": "object"}, "TestCollectionDatasetElementAssertions": {"additionalProperties": false, "properties": {"file": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "title": "File"}, "path": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "title": "Path"}, "location": {"anyOf": [{"format": "uri", "minLength": 1, "type": "string"}, {"type": "null"}], "default": null, "title": "Location"}, "ftype": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "title": "Ftype"}, "sort": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "default": null, "title": "Sort"}, "compare": {"anyOf": [{"$ref": "#/$defs/OutputCompareType"}, {"type": "null"}], "default": null}, "checksum": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "title": "Checksum"}, "metadata": {"anyOf": [{"type": "object"}, {"type": "null"}], "default": null, "title": "Metadata"}, "asserts": {"anyOf": [{"$ref": "#/$defs/RootModel_List_Union_Annotated_Union_has_line_model__has_line_matching_model__has_n_lines_model__has_text_model__has_text_matching_model__not_has_text_model__has_n_columns_model__attribute_is_model__attribute_matches_model__element_text_model__element_text_is_model__element_text_matches_model__has_element_with_path_model__has_n_elements_with_path_model__is_valid_xml_model__xml_element_model__has_json_property_with_text_model__has_json_property_with_value_model__has_h5_attribute_model__has_h5_keys_model__has_archive_member_model__has_size_model__has_image_center_of_mass_model__has_image_channels_model__has_image_height_model__has_image_mean_intensity_model__has_image_mean_object_size_model__has_image_n_labels_model__has_image_width_model___FieldInfo_annotation_NoneType__required_True__discriminator__that_____has_line_model_nested__has_line_matching_model_nested__has_n_lines_model_nested__has_text_model_nested__has_text_matching_model_nested__not_has_text_model_nested__has_n_columns_model_nested__attribute_is_model_nested__attribute_matches_model_nested__element_text_model_nested__element_text_is_model_nested__element_text_matches_model_nested__has_element_with_path_model_nested__has_n_elements_with_path_model_nested__is_valid_xml_model_nested__xml_element_model_nested__has_json_property_with_text_model_nested__has_json_property_with_value_model_nested__has_h5_attribute_model_nested__has_h5_keys_model_nested__has_archive_member_model_nested__has_size_model_nested__has_image_center_of_mass_model_nested__has_image_channels_model_nested__has_image_height_model_nested__has_image_mean_intensity_model_nested__has_image_mean_object_size_model_nested__has_image_n_labels_model_nested__has_image_width_model_nested___"}, {"$ref": "#/$defs/assertion_dict"}, {"type": "null"}], "default": null, "title": "Asserts"}, "delta": {"anyOf": [{"type": "integer"}, {"type": "null"}], "default": null, "title": "Delta"}, "delta_frac": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Delta Frac"}, "lines_diff": {"anyOf": [{"type": "integer"}, {"type": "null"}], "default": null, "title": "Lines Diff"}, "decompress": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "default": null, "title": "Decompress"}}, "title": "TestCollectionDatasetElementAssertions", "type": "object"}, "TestCollectionOutputAssertions": {"additionalProperties": false, "properties": {"class": {"anyOf": [{"const": "Collection", "enum": ["Collection"], "type": "string"}, {"type": "null"}], "default": "Collection", "title": "Class"}, "elements": {"anyOf": [{"additionalProperties": {"anyOf": [{"$ref": "#/$defs/TestCollectionDatasetElementAssertions"}, {"$ref": "#/$defs/TestCollectionCollectionElementAssertions"}]}, "type": "object"}, {"type": "null"}], "default": null, "title": "Elements"}, "element_tests": {"anyOf": [{"additionalProperties": {"anyOf": [{"$ref": "#/$defs/TestCollectionDatasetElementAssertions"}, {"$ref": "#/$defs/TestCollectionCollectionElementAssertions"}]}, "type": "object"}, {"type": "null"}], "default": null, "title": "Element Tests"}, "attributes": {"anyOf": [{"$ref": "#/$defs/CollectionAttributes"}, {"type": "null"}], "default": null}, "collection_type": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "title": "Collection Type"}}, "title": "TestCollectionOutputAssertions", "type": "object"}, "TestDataOutputAssertions": {"additionalProperties": false, "properties": {"file": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "title": "File"}, "path": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "title": "Path"}, "location": {"anyOf": [{"format": "uri", "minLength": 1, "type": "string"}, {"type": "null"}], "default": null, "title": "Location"}, "ftype": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "title": "Ftype"}, "sort": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "default": null, "title": "Sort"}, "compare": {"anyOf": [{"$ref": "#/$defs/OutputCompareType"}, {"type": "null"}], "default": null}, "checksum": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "title": "Checksum"}, "metadata": {"anyOf": [{"type": "object"}, {"type": "null"}], "default": null, "title": "Metadata"}, "asserts": {"anyOf": [{"$ref": "#/$defs/RootModel_List_Union_Annotated_Union_has_line_model__has_line_matching_model__has_n_lines_model__has_text_model__has_text_matching_model__not_has_text_model__has_n_columns_model__attribute_is_model__attribute_matches_model__element_text_model__element_text_is_model__element_text_matches_model__has_element_with_path_model__has_n_elements_with_path_model__is_valid_xml_model__xml_element_model__has_json_property_with_text_model__has_json_property_with_value_model__has_h5_attribute_model__has_h5_keys_model__has_archive_member_model__has_size_model__has_image_center_of_mass_model__has_image_channels_model__has_image_height_model__has_image_mean_intensity_model__has_image_mean_object_size_model__has_image_n_labels_model__has_image_width_model___FieldInfo_annotation_NoneType__required_True__discriminator__that_____has_line_model_nested__has_line_matching_model_nested__has_n_lines_model_nested__has_text_model_nested__has_text_matching_model_nested__not_has_text_model_nested__has_n_columns_model_nested__attribute_is_model_nested__attribute_matches_model_nested__element_text_model_nested__element_text_is_model_nested__element_text_matches_model_nested__has_element_with_path_model_nested__has_n_elements_with_path_model_nested__is_valid_xml_model_nested__xml_element_model_nested__has_json_property_with_text_model_nested__has_json_property_with_value_model_nested__has_h5_attribute_model_nested__has_h5_keys_model_nested__has_archive_member_model_nested__has_size_model_nested__has_image_center_of_mass_model_nested__has_image_channels_model_nested__has_image_height_model_nested__has_image_mean_intensity_model_nested__has_image_mean_object_size_model_nested__has_image_n_labels_model_nested__has_image_width_model_nested___"}, {"$ref": "#/$defs/assertion_dict"}, {"type": "null"}], "default": null, "title": "Asserts"}, "delta": {"anyOf": [{"type": "integer"}, {"type": "null"}], "default": null, "title": "Delta"}, "delta_frac": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Delta Frac"}, "lines_diff": {"anyOf": [{"type": "integer"}, {"type": "null"}], "default": null, "title": "Lines Diff"}, "decompress": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "default": null, "title": "Decompress"}, "class": {"anyOf": [{"const": "File", "enum": ["File"], "type": "string"}, {"type": "null"}], "default": "File", "title": "Class"}}, "title": "TestDataOutputAssertions", "type": "object"}, "TestJob": {"additionalProperties": false, "properties": {"doc": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Doc"}, "job": {"title": "Job", "type": "object"}, "outputs": {"additionalProperties": {"anyOf": [{"$ref": "#/$defs/TestCollectionOutputAssertions"}, {"$ref": "#/$defs/TestDataOutputAssertions"}, {"type": "boolean"}, {"type": "integer"}, {"type": "number"}, {"type": "string"}]}, "title": "Outputs", "type": "object"}}, "required": ["doc", "job", "outputs"], "title": "TestJob", "type": "object"}, "assertion_dict": {"additionalProperties": false, "properties": {"has_line": {"anyOf": [{"$ref": "#/$defs/base_has_line_model"}, {"type": "null"}], "default": null}, "has_line_matching": {"anyOf": [{"$ref": "#/$defs/base_has_line_matching_model"}, {"type": "null"}], "default": null}, "has_n_lines": {"anyOf": [{"$ref": "#/$defs/base_has_n_lines_model"}, {"type": "null"}], "default": null}, "has_text": {"anyOf": [{"$ref": "#/$defs/base_has_text_model"}, {"type": "null"}], "default": null}, "has_text_matching": {"anyOf": [{"$ref": "#/$defs/base_has_text_matching_model"}, {"type": "null"}], "default": null}, "not_has_text": {"anyOf": [{"$ref": "#/$defs/base_not_has_text_model"}, {"type": "null"}], "default": null}, "has_n_columns": {"anyOf": [{"$ref": "#/$defs/base_has_n_columns_model"}, {"type": "null"}], "default": null}, "attribute_is": {"anyOf": [{"$ref": "#/$defs/base_attribute_is_model"}, {"type": "null"}], "default": null}, "attribute_matches": {"anyOf": [{"$ref": "#/$defs/base_attribute_matches_model"}, {"type": "null"}], "default": null}, "element_text": {"anyOf": [{"$ref": "#/$defs/base_element_text_model"}, {"type": "null"}], "default": null}, "element_text_is": {"anyOf": [{"$ref": "#/$defs/base_element_text_is_model"}, {"type": "null"}], "default": null}, "element_text_matches": {"anyOf": [{"$ref": "#/$defs/base_element_text_matches_model"}, {"type": "null"}], "default": null}, "has_element_with_path": {"anyOf": [{"$ref": "#/$defs/base_has_element_with_path_model"}, {"type": "null"}], "default": null}, "has_n_elements_with_path": {"anyOf": [{"$ref": "#/$defs/base_has_n_elements_with_path_model"}, {"type": "null"}], "default": null}, "is_valid_xml": {"anyOf": [{"$ref": "#/$defs/base_is_valid_xml_model"}, {"type": "null"}], "default": null}, "xml_element": {"anyOf": [{"$ref": "#/$defs/base_xml_element_model"}, {"type": "null"}], "default": null}, "has_json_property_with_text": {"anyOf": [{"$ref": "#/$defs/base_has_json_property_with_text_model"}, {"type": "null"}], "default": null}, "has_json_property_with_value": {"anyOf": [{"$ref": "#/$defs/base_has_json_property_with_value_model"}, {"type": "null"}], "default": null}, "has_h5_attribute": {"anyOf": [{"$ref": "#/$defs/base_has_h5_attribute_model"}, {"type": "null"}], "default": null}, "has_h5_keys": {"anyOf": [{"$ref": "#/$defs/base_has_h5_keys_model"}, {"type": "null"}], "default": null}, "has_archive_member": {"anyOf": [{"$ref": "#/$defs/base_has_archive_member_model"}, {"type": "null"}], "default": null}, "has_size": {"anyOf": [{"$ref": "#/$defs/base_has_size_model"}, {"type": "null"}], "default": null}, "has_image_center_of_mass": {"anyOf": [{"$ref": "#/$defs/base_has_image_center_of_mass_model"}, {"type": "null"}], "default": null}, "has_image_channels": {"anyOf": [{"$ref": "#/$defs/base_has_image_channels_model"}, {"type": "null"}], "default": null}, "has_image_height": {"anyOf": [{"$ref": "#/$defs/base_has_image_height_model"}, {"type": "null"}], "default": null}, "has_image_mean_intensity": {"anyOf": [{"$ref": "#/$defs/base_has_image_mean_intensity_model"}, {"type": "null"}], "default": null}, "has_image_mean_object_size": {"anyOf": [{"$ref": "#/$defs/base_has_image_mean_object_size_model"}, {"type": "null"}], "default": null}, "has_image_n_labels": {"anyOf": [{"$ref": "#/$defs/base_has_image_n_labels_model"}, {"type": "null"}], "default": null}, "has_image_width": {"anyOf": [{"$ref": "#/$defs/base_has_image_width_model"}, {"type": "null"}], "default": null}}, "title": "assertion_dict", "type": "object"}, "attribute_is_model": {"additionalProperties": false, "description": "Asserts the XML ``attribute`` for the element (or tag) with the specified\nXPath-like ``path`` is the specified ``text``.\n\nFor example:\n\n```xml\n<attribute_is path=\"outerElement/innerElement1\" attribute=\"foo\" text=\"bar\" />\n```\n\nThe assertion implicitly also asserts that an element matching ``path`` exists.\nWith ``negate`` the result of the assertion (on the equality) can be inverted (the\nimplicit assertion on the existence of the path is not affected).", "properties": {"path": {"description": "The Python xpath-like expression to find the target element.", "title": "Path", "type": "string"}, "attribute": {"description": "The XML attribute name to test against from the target XML element.", "title": "Attribute", "type": "string"}, "text": {"description": "The expected attribute value to test against on the target XML element", "title": "Text", "type": "string"}, "negate": {"anyOf": [{"type": "boolean"}, {"type": "string"}], "default": false, "description": "A boolean that can be set to true to negate the outcome of the assertion.", "title": "Negate"}, "that": {"const": "attribute_is", "default": "attribute_is", "enum": ["attribute_is"], "title": "That", "type": "string"}}, "required": ["path", "attribute", "text"], "title": "attribute_is_model", "type": "object"}, "attribute_is_model_nested": {"additionalProperties": false, "description": "Nested version of this assertion model.", "properties": {"attribute_is": {"$ref": "#/$defs/base_attribute_is_model"}}, "required": ["attribute_is"], "title": "attribute_is_model_nested", "type": "object"}, "attribute_matches_model": {"additionalProperties": false, "description": "Asserts the XML ``attribute`` for the element (or tag) with the specified\nXPath-like ``path`` matches the regular expression specified by ``expression``.\n\nFor example:\n\n```xml\n<attribute_matches path=\"outerElement/innerElement2\" attribute=\"foo2\" expression=\"bar\\d+\" />\n```\n\nThe assertion implicitly also asserts that an element matching ``path`` exists.\nWith ``negate`` the result of the assertion (on the matching) can be inverted (the\nimplicit assertion on the existence of the path is not affected).", "properties": {"path": {"description": "The Python xpath-like expression to find the target element.", "title": "Path", "type": "string"}, "attribute": {"description": "The XML attribute name to test against from the target XML element.", "title": "Attribute", "type": "string"}, "expression": {"description": "The regular expressions to apply against the named attribute on the target XML element.", "title": "Expression", "type": "string"}, "negate": {"anyOf": [{"type": "boolean"}, {"type": "string"}], "default": false, "description": "A boolean that can be set to true to negate the outcome of the assertion.", "title": "Negate"}, "that": {"const": "attribute_matches", "default": "attribute_matches", "enum": ["attribute_matches"], "title": "That", "type": "string"}}, "required": ["path", "attribute", "expression"], "title": "attribute_matches_model", "type": "object"}, "attribute_matches_model_nested": {"additionalProperties": false, "description": "Nested version of this assertion model.", "properties": {"attribute_matches": {"$ref": "#/$defs/base_attribute_matches_model"}}, "required": ["attribute_matches"], "title": "attribute_matches_model_nested", "type": "object"}, "base_attribute_is_model": {"additionalProperties": false, "description": "base model for attribute_is describing attributes.", "properties": {"path": {"description": "The Python xpath-like expression to find the target element.", "title": "Path", "type": "string"}, "attribute": {"description": "The XML attribute name to test against from the target XML element.", "title": "Attribute", "type": "string"}, "text": {"description": "The expected attribute value to test against on the target XML element", "title": "Text", "type": "string"}, "negate": {"anyOf": [{"type": "boolean"}, {"type": "string"}], "default": false, "description": "A boolean that can be set to true to negate the outcome of the assertion.", "title": "Negate"}}, "required": ["path", "attribute", "text"], "title": "base_attribute_is_model", "type": "object"}, "base_attribute_matches_model": {"additionalProperties": false, "description": "base model for attribute_matches describing attributes.", "properties": {"path": {"description": "The Python xpath-like expression to find the target element.", "title": "Path", "type": "string"}, "attribute": {"description": "The XML attribute name to test against from the target XML element.", "title": "Attribute", "type": "string"}, "expression": {"description": "The regular expressions to apply against the named attribute on the target XML element.", "title": "Expression", "type": "string"}, "negate": {"anyOf": [{"type": "boolean"}, {"type": "string"}], "default": false, "description": "A boolean that can be set to true to negate the outcome of the assertion.", "title": "Negate"}}, "required": ["path", "attribute", "expression"], "title": "base_attribute_matches_model", "type": "object"}, "base_element_text_is_model": {"additionalProperties": false, "description": "base model for element_text_is describing attributes.", "properties": {"path": {"description": "The Python xpath-like expression to find the target element.", "title": "Path", "type": "string"}, "text": {"description": "The expected element text (body of the XML tag) to test against on the target XML element", "title": "Text", "type": "string"}, "negate": {"anyOf": [{"type": "boolean"}, {"type": "string"}], "default": false, "description": "A boolean that can be set to true to negate the outcome of the assertion.", "title": "Negate"}}, "required": ["path", "text"], "title": "base_element_text_is_model", "type": "object"}, "base_element_text_matches_model": {"additionalProperties": false, "description": "base model for element_text_matches describing attributes.", "properties": {"path": {"description": "The Python xpath-like expression to find the target element.", "title": "Path", "type": "string"}, "expression": {"description": "The regular expressions to apply against the target element.", "title": "Expression", "type": "string"}, "negate": {"anyOf": [{"type": "boolean"}, {"type": "string"}], "default": false, "description": "A boolean that can be set to true to negate the outcome of the assertion.", "title": "Negate"}}, "required": ["path", "expression"], "title": "base_element_text_matches_model", "type": "object"}, "base_element_text_model": {"additionalProperties": false, "description": "base model for element_text describing attributes.", "properties": {"path": {"description": "The Python xpath-like expression to find the target element.", "title": "Path", "type": "string"}, "negate": {"anyOf": [{"type": "boolean"}, {"type": "string"}], "default": false, "description": "A boolean that can be set to true to negate the outcome of the assertion.", "title": "Negate"}, "children": {"anyOf": [{"$ref": "#/$defs/RootModel_List_Union_Annotated_Union_has_line_model__has_line_matching_model__has_n_lines_model__has_text_model__has_text_matching_model__not_has_text_model__has_n_columns_model__attribute_is_model__attribute_matches_model__element_text_model__element_text_is_model__element_text_matches_model__has_element_with_path_model__has_n_elements_with_path_model__is_valid_xml_model__xml_element_model__has_json_property_with_text_model__has_json_property_with_value_model__has_h5_attribute_model__has_h5_keys_model__has_archive_member_model__has_size_model__has_image_center_of_mass_model__has_image_channels_model__has_image_height_model__has_image_mean_intensity_model__has_image_mean_object_size_model__has_image_n_labels_model__has_image_width_model___FieldInfo_annotation_NoneType__required_True__discriminator__that_____has_line_model_nested__has_line_matching_model_nested__has_n_lines_model_nested__has_text_model_nested__has_text_matching_model_nested__not_has_text_model_nested__has_n_columns_model_nested__attribute_is_model_nested__attribute_matches_model_nested__element_text_model_nested__element_text_is_model_nested__element_text_matches_model_nested__has_element_with_path_model_nested__has_n_elements_with_path_model_nested__is_valid_xml_model_nested__xml_element_model_nested__has_json_property_with_text_model_nested__has_json_property_with_value_model_nested__has_h5_attribute_model_nested__has_h5_keys_model_nested__has_archive_member_model_nested__has_size_model_nested__has_image_center_of_mass_model_nested__has_image_channels_model_nested__has_image_height_model_nested__has_image_mean_intensity_model_nested__has_image_mean_object_size_model_nested__has_image_n_labels_model_nested__has_image_width_model_nested___"}, {"type": "null"}], "default": null}, "asserts": {"anyOf": [{"$ref": "#/$defs/RootModel_List_Union_Annotated_Union_has_line_model__has_line_matching_model__has_n_lines_model__has_text_model__has_text_matching_model__not_has_text_model__has_n_columns_model__attribute_is_model__attribute_matches_model__element_text_model__element_text_is_model__element_text_matches_model__has_element_with_path_model__has_n_elements_with_path_model__is_valid_xml_model__xml_element_model__has_json_property_with_text_model__has_json_property_with_value_model__has_h5_attribute_model__has_h5_keys_model__has_archive_member_model__has_size_model__has_image_center_of_mass_model__has_image_channels_model__has_image_height_model__has_image_mean_intensity_model__has_image_mean_object_size_model__has_image_n_labels_model__has_image_width_model___FieldInfo_annotation_NoneType__required_True__discriminator__that_____has_line_model_nested__has_line_matching_model_nested__has_n_lines_model_nested__has_text_model_nested__has_text_matching_model_nested__not_has_text_model_nested__has_n_columns_model_nested__attribute_is_model_nested__attribute_matches_model_nested__element_text_model_nested__element_text_is_model_nested__element_text_matches_model_nested__has_element_with_path_model_nested__has_n_elements_with_path_model_nested__is_valid_xml_model_nested__xml_element_model_nested__has_json_property_with_text_model_nested__has_json_property_with_value_model_nested__has_h5_attribute_model_nested__has_h5_keys_model_nested__has_archive_member_model_nested__has_size_model_nested__has_image_center_of_mass_model_nested__has_image_channels_model_nested__has_image_height_model_nested__has_image_mean_intensity_model_nested__has_image_mean_object_size_model_nested__has_image_n_labels_model_nested__has_image_width_model_nested___"}, {"type": "null"}], "default": null}}, "required": ["path"], "title": "base_element_text_model", "type": "object"}, "base_has_archive_member_model": {"additionalProperties": false, "description": "base model for has_archive_member describing attributes.", "properties": {"path": {"description": "The regular expression specifying the archive member.", "title": "Path", "type": "string"}, "all": {"anyOf": [{"type": "boolean"}, {"type": "string"}], "default": false, "description": "Check the sub-assertions for all paths matching the path. Default: false, i.e. only the first", "title": "All"}, "n": {"anyOf": [{"type": "string"}, {"type": "integer"}, {"type": "null"}], "default": null, "description": "Desired number, can be suffixed by ``(k|M|G|T|P|E)i?``", "title": "N"}, "delta": {"anyOf": [{"type": "integer"}, {"type": "string"}], "default": 0, "description": "Allowed difference with respect to n (default: 0), can be suffixed by ``(k|M|G|T|P|E)i?``", "title": "Delta"}, "min": {"anyOf": [{"type": "string"}, {"type": "integer"}, {"type": "null"}], "default": null, "description": "Minimum number (default: -infinity), can be suffixed by ``(k|M|G|T|P|E)i?``", "title": "Min"}, "max": {"anyOf": [{"type": "string"}, {"type": "integer"}, {"type": "null"}], "default": null, "description": "Maximum number (default: infinity), can be suffixed by ``(k|M|G|T|P|E)i?``", "title": "Max"}, "negate": {"anyOf": [{"type": "boolean"}, {"type": "string"}], "default": false, "description": "A boolean that can be set to true to negate the outcome of the assertion.", "title": "Negate"}, "children": {"anyOf": [{"$ref": "#/$defs/RootModel_List_Union_Annotated_Union_has_line_model__has_line_matching_model__has_n_lines_model__has_text_model__has_text_matching_model__not_has_text_model__has_n_columns_model__attribute_is_model__attribute_matches_model__element_text_model__element_text_is_model__element_text_matches_model__has_element_with_path_model__has_n_elements_with_path_model__is_valid_xml_model__xml_element_model__has_json_property_with_text_model__has_json_property_with_value_model__has_h5_attribute_model__has_h5_keys_model__has_archive_member_model__has_size_model__has_image_center_of_mass_model__has_image_channels_model__has_image_height_model__has_image_mean_intensity_model__has_image_mean_object_size_model__has_image_n_labels_model__has_image_width_model___FieldInfo_annotation_NoneType__required_True__discriminator__that_____has_line_model_nested__has_line_matching_model_nested__has_n_lines_model_nested__has_text_model_nested__has_text_matching_model_nested__not_has_text_model_nested__has_n_columns_model_nested__attribute_is_model_nested__attribute_matches_model_nested__element_text_model_nested__element_text_is_model_nested__element_text_matches_model_nested__has_element_with_path_model_nested__has_n_elements_with_path_model_nested__is_valid_xml_model_nested__xml_element_model_nested__has_json_property_with_text_model_nested__has_json_property_with_value_model_nested__has_h5_attribute_model_nested__has_h5_keys_model_nested__has_archive_member_model_nested__has_size_model_nested__has_image_center_of_mass_model_nested__has_image_channels_model_nested__has_image_height_model_nested__has_image_mean_intensity_model_nested__has_image_mean_object_size_model_nested__has_image_n_labels_model_nested__has_image_width_model_nested___"}, {"type": "null"}], "default": null}, "asserts": {"anyOf": [{"$ref": "#/$defs/RootModel_List_Union_Annotated_Union_has_line_model__has_line_matching_model__has_n_lines_model__has_text_model__has_text_matching_model__not_has_text_model__has_n_columns_model__attribute_is_model__attribute_matches_model__element_text_model__element_text_is_model__element_text_matches_model__has_element_with_path_model__has_n_elements_with_path_model__is_valid_xml_model__xml_element_model__has_json_property_with_text_model__has_json_property_with_value_model__has_h5_attribute_model__has_h5_keys_model__has_archive_member_model__has_size_model__has_image_center_of_mass_model__has_image_channels_model__has_image_height_model__has_image_mean_intensity_model__has_image_mean_object_size_model__has_image_n_labels_model__has_image_width_model___FieldInfo_annotation_NoneType__required_True__discriminator__that_____has_line_model_nested__has_line_matching_model_nested__has_n_lines_model_nested__has_text_model_nested__has_text_matching_model_nested__not_has_text_model_nested__has_n_columns_model_nested__attribute_is_model_nested__attribute_matches_model_nested__element_text_model_nested__element_text_is_model_nested__element_text_matches_model_nested__has_element_with_path_model_nested__has_n_elements_with_path_model_nested__is_valid_xml_model_nested__xml_element_model_nested__has_json_property_with_text_model_nested__has_json_property_with_value_model_nested__has_h5_attribute_model_nested__has_h5_keys_model_nested__has_archive_member_model_nested__has_size_model_nested__has_image_center_of_mass_model_nested__has_image_channels_model_nested__has_image_height_model_nested__has_image_mean_intensity_model_nested__has_image_mean_object_size_model_nested__has_image_n_labels_model_nested__has_image_width_model_nested___"}, {"type": "null"}], "default": null}}, "required": ["path"], "title": "base_has_archive_member_model", "type": "object"}, "base_has_element_with_path_model": {"additionalProperties": false, "description": "base model for has_element_with_path describing attributes.", "properties": {"path": {"description": "The Python xpath-like expression to find the target element.", "title": "Path", "type": "string"}, "negate": {"anyOf": [{"type": "boolean"}, {"type": "string"}], "default": false, "description": "A boolean that can be set to true to negate the outcome of the assertion.", "title": "Negate"}}, "required": ["path"], "title": "base_has_element_with_path_model", "type": "object"}, "base_has_h5_attribute_model": {"additionalProperties": false, "description": "base model for has_h5_attribute describing attributes.", "properties": {"key": {"description": "HDF5 attribute to check value of.", "title": "Key", "type": "string"}, "value": {"description": "Expected value of HDF5 attribute to check.", "title": "Value", "type": "string"}}, "required": ["key", "value"], "title": "base_has_h5_attribute_model", "type": "object"}, "base_has_h5_keys_model": {"additionalProperties": false, "description": "base model for has_h5_keys describing attributes.", "properties": {"keys": {"description": "HDF5 attributes to check value of as a comma-separated string.", "title": "Keys", "type": "string"}}, "required": ["keys"], "title": "base_has_h5_keys_model", "type": "object"}, "base_has_image_center_of_mass_model": {"additionalProperties": false, "description": "base model for has_image_center_of_mass describing attributes.", "properties": {"center_of_mass": {"description": "The required center of mass of the image intensities (horizontal and vertical coordinate, separated by a comma).", "title": "Center Of Mass", "type": "string"}, "channel": {"anyOf": [{"type": "integer"}, {"type": "null"}], "default": null, "description": "Restricts the assertion to a specific channel of the image (where ``0`` corresponds to the first image channel).", "title": "Channel"}, "eps": {"anyOf": [{"type": "integer"}, {"type": "number"}], "default": 0.01, "description": "The maximum allowed Euclidean distance to the required center of mass (defaults to ``0.01``).", "title": "Eps"}}, "required": ["center_of_mass"], "title": "base_has_image_center_of_mass_model", "type": "object"}, "base_has_image_channels_model": {"additionalProperties": false, "description": "base model for has_image_channels describing attributes.", "properties": {"channels": {"anyOf": [{"type": "integer"}, {"type": "null"}], "default": null, "description": "Expected number of channels of the image.", "title": "Channels"}, "delta": {"default": 0, "description": "Maximum allowed difference of the number of channels (default is 0). The observed number of channels has to be in the range ``value +- delta``.", "title": "Delta", "type": "integer"}, "min": {"anyOf": [{"type": "integer"}, {"type": "null"}], "default": null, "description": "Minimum allowed number of channels.", "title": "Min"}, "max": {"anyOf": [{"type": "integer"}, {"type": "null"}], "default": null, "description": "Maximum allowed number of channels.", "title": "Max"}, "negate": {"anyOf": [{"type": "boolean"}, {"type": "string"}], "default": false, "description": "A boolean that can be set to true to negate the outcome of the assertion.", "title": "Negate"}}, "title": "base_has_image_channels_model", "type": "object"}, "base_has_image_height_model": {"additionalProperties": false, "description": "base model for has_image_height describing attributes.", "properties": {"height": {"anyOf": [{"type": "integer"}, {"type": "null"}], "default": null, "description": "Expected height of the image (in pixels).", "title": "Height"}, "delta": {"default": 0, "description": "Maximum allowed difference of the image height (in pixels, default is 0). The observed height has to be in the range ``value +- delta``.", "title": "Delta", "type": "integer"}, "min": {"anyOf": [{"type": "integer"}, {"type": "null"}], "default": null, "description": "Minimum allowed height of the image (in pixels).", "title": "Min"}, "max": {"anyOf": [{"type": "integer"}, {"type": "null"}], "default": null, "description": "Maximum allowed height of the image (in pixels).", "title": "Max"}, "negate": {"anyOf": [{"type": "boolean"}, {"type": "string"}], "default": false, "description": "A boolean that can be set to true to negate the outcome of the assertion.", "title": "Negate"}}, "title": "base_has_image_height_model", "type": "object"}, "base_has_image_mean_intensity_model": {"additionalProperties": false, "description": "base model for has_image_mean_intensity describing attributes.", "properties": {"channel": {"anyOf": [{"type": "integer"}, {"type": "null"}], "default": null, "description": "Restricts the assertion to a specific channel of the image (where ``0`` corresponds to the first image channel).", "title": "Channel"}, "mean_intensity": {"anyOf": [{"type": "integer"}, {"type": "number"}, {"type": "null"}], "default": null, "description": "The required mean value of the image intensities.", "title": "Mean Intensity"}, "eps": {"anyOf": [{"type": "integer"}, {"type": "number"}], "default": 0.01, "description": "The absolute tolerance to be used for ``value`` (defaults to ``0.01``). The observed mean value of the image intensities has to be in the range ``value +- eps``.", "title": "Eps"}, "min": {"anyOf": [{"type": "integer"}, {"type": "number"}, {"type": "null"}], "default": null, "description": "A lower bound of the required mean value of the image intensities.", "title": "Min"}, "max": {"anyOf": [{"type": "integer"}, {"type": "number"}, {"type": "null"}], "default": null, "description": "An upper bound of the required mean value of the image intensities.", "title": "Max"}}, "title": "base_has_image_mean_intensity_model", "type": "object"}, "base_has_image_mean_object_size_model": {"additionalProperties": false, "description": "base model for has_image_mean_object_size describing attributes.", "properties": {"channel": {"anyOf": [{"type": "integer"}, {"type": "null"}], "default": null, "description": "Restricts the assertion to a specific channel of the image (where ``0`` corresponds to the first image channel).", "title": "Channel"}, "labels": {"anyOf": [{"items": {"type": "integer"}, "type": "array"}, {"type": "null"}], "default": null, "description": "List of labels, separated by a comma. Labels *not* on this list will be excluded from consideration. Cannot be used in combination with ``exclude_labels``.", "title": "Labels"}, "exclude_labels": {"anyOf": [{"items": {"type": "integer"}, "type": "array"}, {"type": "null"}], "default": null, "description": "List of labels to be excluded from consideration, separated by a comma. The primary usage of this attribute is to exclude the background of a label image. Cannot be used in combination with ``labels``.", "title": "Exclude Labels"}, "mean_object_size": {"anyOf": [{"type": "integer"}, {"type": "number"}, {"type": "null"}], "default": null, "description": "The required mean size of the uniquely labeled objects.", "title": "Mean Object Size"}, "eps": {"anyOf": [{"type": "integer"}, {"type": "number"}], "default": 0.01, "description": "The absolute tolerance to be used for ``value`` (defaults to ``0.01``). The observed mean size of the uniquely labeled objects has to be in the range ``value +- eps``.", "title": "Eps"}, "min": {"anyOf": [{"type": "integer"}, {"type": "number"}, {"type": "null"}], "default": null, "description": "A lower bound of the required mean size of the uniquely labeled objects.", "title": "Min"}, "max": {"anyOf": [{"type": "integer"}, {"type": "number"}, {"type": "null"}], "default": null, "description": "An upper bound of the required mean size of the uniquely labeled objects.", "title": "Max"}}, "title": "base_has_image_mean_object_size_model", "type": "object"}, "base_has_image_n_labels_model": {"additionalProperties": false, "description": "base model for has_image_n_labels describing attributes.", "properties": {"channel": {"anyOf": [{"type": "integer"}, {"type": "null"}], "default": null, "description": "Restricts the assertion to a specific channel of the image (where ``0`` corresponds to the first image channel).", "title": "Channel"}, "labels": {"anyOf": [{"items": {"type": "integer"}, "type": "array"}, {"type": "null"}], "default": null, "description": "List of labels, separated by a comma. Labels *not* on this list will be excluded from consideration. Cannot be used in combination with ``exclude_labels``.", "title": "Labels"}, "exclude_labels": {"anyOf": [{"items": {"type": "integer"}, "type": "array"}, {"type": "null"}], "default": null, "description": "List of labels to be excluded from consideration, separated by a comma. The primary usage of this attribute is to exclude the background of a label image. Cannot be used in combination with ``labels``.", "title": "Exclude Labels"}, "n": {"anyOf": [{"type": "integer"}, {"type": "null"}], "default": null, "description": "Expected number of labels.", "title": "N"}, "delta": {"default": 0, "description": "Maximum allowed difference of the number of labels (default is 0). The observed number of labels has to be in the range ``value +- delta``.", "title": "Delta", "type": "integer"}, "min": {"anyOf": [{"type": "integer"}, {"type": "null"}], "default": null, "description": "Minimum allowed number of labels.", "title": "Min"}, "max": {"anyOf": [{"type": "integer"}, {"type": "null"}], "default": null, "description": "Maximum allowed number of labels.", "title": "Max"}, "negate": {"anyOf": [{"type": "boolean"}, {"type": "string"}], "default": false, "description": "A boolean that can be set to true to negate the outcome of the assertion.", "title": "Negate"}}, "title": "base_has_image_n_labels_model", "type": "object"}, "base_has_image_width_model": {"additionalProperties": false, "description": "base model for has_image_width describing attributes.", "properties": {"width": {"anyOf": [{"type": "integer"}, {"type": "null"}], "default": null, "description": "Expected width of the image (in pixels).", "title": "Width"}, "delta": {"default": 0, "description": "Maximum allowed difference of the image width (in pixels, default is 0). The observed width has to be in the range ``value +- delta``.", "title": "Delta", "type": "integer"}, "min": {"anyOf": [{"type": "integer"}, {"type": "null"}], "default": null, "description": "Minimum allowed width of the image (in pixels).", "title": "Min"}, "max": {"anyOf": [{"type": "integer"}, {"type": "null"}], "default": null, "description": "Maximum allowed width of the image (in pixels).", "title": "Max"}, "negate": {"anyOf": [{"type": "boolean"}, {"type": "string"}], "default": false, "description": "A boolean that can be set to true to negate the outcome of the assertion.", "title": "Negate"}}, "title": "base_has_image_width_model", "type": "object"}, "base_has_json_property_with_text_model": {"additionalProperties": false, "description": "base model for has_json_property_with_text describing attributes.", "properties": {"property": {"description": "The property name to search the JSON document for.", "title": "Property", "type": "string"}, "text": {"description": "The expected text value of the target JSON attribute.", "title": "Text", "type": "string"}}, "required": ["property", "text"], "title": "base_has_json_property_with_text_model", "type": "object"}, "base_has_json_property_with_value_model": {"additionalProperties": false, "description": "base model for has_json_property_with_value describing attributes.", "properties": {"property": {"description": "The property name to search the JSON document for.", "title": "Property", "type": "string"}, "value": {"description": "The expected JSON value of the target JSON attribute (as a JSON encoded string).", "title": "Value", "type": "string"}}, "required": ["property", "value"], "title": "base_has_json_property_with_value_model", "type": "object"}, "base_has_line_matching_model": {"additionalProperties": false, "description": "base model for has_line_matching describing attributes.", "properties": {"expression": {"description": "The regular expressions to attempt match in the output.", "title": "Expression", "type": "string"}, "n": {"anyOf": [{"type": "string"}, {"type": "integer"}, {"type": "null"}], "default": null, "description": "Desired number, can be suffixed by ``(k|M|G|T|P|E)i?``", "title": "N"}, "delta": {"anyOf": [{"type": "integer"}, {"type": "string"}], "default": 0, "description": "Allowed difference with respect to n (default: 0), can be suffixed by ``(k|M|G|T|P|E)i?``", "title": "Delta"}, "min": {"anyOf": [{"type": "string"}, {"type": "integer"}, {"type": "null"}], "default": null, "description": "Minimum number (default: -infinity), can be suffixed by ``(k|M|G|T|P|E)i?``", "title": "Min"}, "max": {"anyOf": [{"type": "string"}, {"type": "integer"}, {"type": "null"}], "default": null, "description": "Maximum number (default: infinity), can be suffixed by ``(k|M|G|T|P|E)i?``", "title": "Max"}, "negate": {"anyOf": [{"type": "boolean"}, {"type": "string"}], "default": false, "description": "A boolean that can be set to true to negate the outcome of the assertion.", "title": "Negate"}}, "required": ["expression"], "title": "base_has_line_matching_model", "type": "object"}, "base_has_line_model": {"additionalProperties": false, "description": "base model for has_line describing attributes.", "properties": {"line": {"description": "The full line of text to search for in the output.", "title": "Line", "type": "string"}, "n": {"anyOf": [{"type": "string"}, {"type": "integer"}, {"type": "null"}], "default": null, "description": "Desired number, can be suffixed by ``(k|M|G|T|P|E)i?``", "title": "N"}, "delta": {"anyOf": [{"type": "integer"}, {"type": "string"}], "default": 0, "description": "Allowed difference with respect to n (default: 0), can be suffixed by ``(k|M|G|T|P|E)i?``", "title": "Delta"}, "min": {"anyOf": [{"type": "string"}, {"type": "integer"}, {"type": "null"}], "default": null, "description": "Minimum number (default: -infinity), can be suffixed by ``(k|M|G|T|P|E)i?``", "title": "Min"}, "max": {"anyOf": [{"type": "string"}, {"type": "integer"}, {"type": "null"}], "default": null, "description": "Maximum number (default: infinity), can be suffixed by ``(k|M|G|T|P|E)i?``", "title": "Max"}, "negate": {"anyOf": [{"type": "boolean"}, {"type": "string"}], "default": false, "description": "A boolean that can be set to true to negate the outcome of the assertion.", "title": "Negate"}}, "required": ["line"], "title": "base_has_line_model", "type": "object"}, "base_has_n_columns_model": {"additionalProperties": false, "description": "base model for has_n_columns describing attributes.", "properties": {"n": {"anyOf": [{"type": "string"}, {"type": "integer"}, {"type": "null"}], "default": null, "description": "Desired number, can be suffixed by ``(k|M|G|T|P|E)i?``", "title": "N"}, "delta": {"anyOf": [{"type": "integer"}, {"type": "string"}], "default": 0, "description": "Allowed difference with respect to n (default: 0), can be suffixed by ``(k|M|G|T|P|E)i?``", "title": "Delta"}, "min": {"anyOf": [{"type": "string"}, {"type": "integer"}, {"type": "null"}], "default": null, "description": "Minimum number (default: -infinity), can be suffixed by ``(k|M|G|T|P|E)i?``", "title": "Min"}, "max": {"anyOf": [{"type": "string"}, {"type": "integer"}, {"type": "null"}], "default": null, "description": "Maximum number (default: infinity), can be suffixed by ``(k|M|G|T|P|E)i?``", "title": "Max"}, "sep": {"default": "\t", "description": "Separator defining columns, default: tab", "title": "Sep", "type": "string"}, "comment": {"default": "", "description": "Comment character(s) used to skip comment lines (which should not be used for counting columns)", "title": "Comment", "type": "string"}, "negate": {"anyOf": [{"type": "boolean"}, {"type": "string"}], "default": false, "description": "A boolean that can be set to true to negate the outcome of the assertion.", "title": "Negate"}}, "title": "base_has_n_columns_model", "type": "object"}, "base_has_n_elements_with_path_model": {"additionalProperties": false, "description": "base model for has_n_elements_with_path describing attributes.", "properties": {"path": {"description": "The Python xpath-like expression to find the target element.", "title": "Path", "type": "string"}, "n": {"anyOf": [{"type": "string"}, {"type": "integer"}, {"type": "null"}], "default": null, "description": "Desired number, can be suffixed by ``(k|M|G|T|P|E)i?``", "title": "N"}, "delta": {"anyOf": [{"type": "integer"}, {"type": "string"}], "default": 0, "description": "Allowed difference with respect to n (default: 0), can be suffixed by ``(k|M|G|T|P|E)i?``", "title": "Delta"}, "min": {"anyOf": [{"type": "string"}, {"type": "integer"}, {"type": "null"}], "default": null, "description": "Minimum number (default: -infinity), can be suffixed by ``(k|M|G|T|P|E)i?``", "title": "Min"}, "max": {"anyOf": [{"type": "string"}, {"type": "integer"}, {"type": "null"}], "default": null, "description": "Maximum number (default: infinity), can be suffixed by ``(k|M|G|T|P|E)i?``", "title": "Max"}, "negate": {"anyOf": [{"type": "boolean"}, {"type": "string"}], "default": false, "description": "A boolean that can be set to true to negate the outcome of the assertion.", "title": "Negate"}}, "required": ["path"], "title": "base_has_n_elements_with_path_model", "type": "object"}, "base_has_n_lines_model": {"additionalProperties": false, "description": "base model for has_n_lines describing attributes.", "properties": {"n": {"anyOf": [{"type": "string"}, {"type": "integer"}, {"type": "null"}], "default": null, "description": "Desired number, can be suffixed by ``(k|M|G|T|P|E)i?``", "title": "N"}, "delta": {"anyOf": [{"type": "integer"}, {"type": "string"}], "default": 0, "description": "Allowed difference with respect to n (default: 0), can be suffixed by ``(k|M|G|T|P|E)i?``", "title": "Delta"}, "min": {"anyOf": [{"type": "string"}, {"type": "integer"}, {"type": "null"}], "default": null, "description": "Minimum number (default: -infinity), can be suffixed by ``(k|M|G|T|P|E)i?``", "title": "Min"}, "max": {"anyOf": [{"type": "string"}, {"type": "integer"}, {"type": "null"}], "default": null, "description": "Maximum number (default: infinity), can be suffixed by ``(k|M|G|T|P|E)i?``", "title": "Max"}, "negate": {"anyOf": [{"type": "boolean"}, {"type": "string"}], "default": false, "description": "A boolean that can be set to true to negate the outcome of the assertion.", "title": "Negate"}}, "title": "base_has_n_lines_model", "type": "object"}, "base_has_size_model": {"additionalProperties": false, "description": "base model for has_size describing attributes.", "properties": {"value": {"anyOf": [{"type": "string"}, {"type": "integer"}, {"type": "null"}], "default": null, "description": "Deprecated alias for `size`", "title": "Value"}, "size": {"anyOf": [{"type": "string"}, {"type": "integer"}, {"type": "null"}], "default": null, "description": "Desired size of the output (in bytes), can be suffixed by ``(k|M|G|T|P|E)i?``", "title": "Size"}, "delta": {"anyOf": [{"type": "integer"}, {"type": "string"}], "default": 0, "description": "Allowed difference with respect to n (default: 0), can be suffixed by ``(k|M|G|T|P|E)i?``", "title": "Delta"}, "min": {"anyOf": [{"type": "string"}, {"type": "integer"}, {"type": "null"}], "default": null, "description": "Minimum number (default: -infinity), can be suffixed by ``(k|M|G|T|P|E)i?``", "title": "Min"}, "max": {"anyOf": [{"type": "string"}, {"type": "integer"}, {"type": "null"}], "default": null, "description": "Maximum number (default: infinity), can be suffixed by ``(k|M|G|T|P|E)i?``", "title": "Max"}, "negate": {"anyOf": [{"type": "boolean"}, {"type": "string"}], "default": false, "description": "A boolean that can be set to true to negate the outcome of the assertion.", "title": "Negate"}}, "title": "base_has_size_model", "type": "object"}, "base_has_text_matching_model": {"additionalProperties": false, "description": "base model for has_text_matching describing attributes.", "properties": {"expression": {"description": "The regular expressions to attempt match in the output.", "title": "Expression", "type": "string"}, "n": {"anyOf": [{"type": "string"}, {"type": "integer"}, {"type": "null"}], "default": null, "description": "Desired number, can be suffixed by ``(k|M|G|T|P|E)i?``", "title": "N"}, "delta": {"anyOf": [{"type": "integer"}, {"type": "string"}], "default": 0, "description": "Allowed difference with respect to n (default: 0), can be suffixed by ``(k|M|G|T|P|E)i?``", "title": "Delta"}, "min": {"anyOf": [{"type": "string"}, {"type": "integer"}, {"type": "null"}], "default": null, "description": "Minimum number (default: -infinity), can be suffixed by ``(k|M|G|T|P|E)i?``", "title": "Min"}, "max": {"anyOf": [{"type": "string"}, {"type": "integer"}, {"type": "null"}], "default": null, "description": "Maximum number (default: infinity), can be suffixed by ``(k|M|G|T|P|E)i?``", "title": "Max"}, "negate": {"anyOf": [{"type": "boolean"}, {"type": "string"}], "default": false, "description": "A boolean that can be set to true to negate the outcome of the assertion.", "title": "Negate"}}, "required": ["expression"], "title": "base_has_text_matching_model", "type": "object"}, "base_has_text_model": {"additionalProperties": false, "description": "base model for has_text describing attributes.", "properties": {"text": {"description": "The text to search for in the output.", "title": "Text", "type": "string"}, "n": {"anyOf": [{"type": "string"}, {"type": "integer"}, {"type": "null"}], "default": null, "description": "Desired number, can be suffixed by ``(k|M|G|T|P|E)i?``", "title": "N"}, "delta": {"anyOf": [{"type": "integer"}, {"type": "string"}], "default": 0, "description": "Allowed difference with respect to n (default: 0), can be suffixed by ``(k|M|G|T|P|E)i?``", "title": "Delta"}, "min": {"anyOf": [{"type": "string"}, {"type": "integer"}, {"type": "null"}], "default": null, "description": "Minimum number (default: -infinity), can be suffixed by ``(k|M|G|T|P|E)i?``", "title": "Min"}, "max": {"anyOf": [{"type": "string"}, {"type": "integer"}, {"type": "null"}], "default": null, "description": "Maximum number (default: infinity), can be suffixed by ``(k|M|G|T|P|E)i?``", "title": "Max"}, "negate": {"anyOf": [{"type": "boolean"}, {"type": "string"}], "default": false, "description": "A boolean that can be set to true to negate the outcome of the assertion.", "title": "Negate"}}, "required": ["text"], "title": "base_has_text_model", "type": "object"}, "base_is_valid_xml_model": {"additionalProperties": false, "description": "base model for is_valid_xml describing attributes.", "properties": {}, "title": "base_is_valid_xml_model", "type": "object"}, "base_not_has_text_model": {"additionalProperties": false, "description": "base model for not_has_text describing attributes.", "properties": {"text": {"description": "The text to search for in the output.", "title": "Text", "type": "string"}}, "required": ["text"], "title": "base_not_has_text_model", "type": "object"}, "base_xml_element_model": {"additionalProperties": false, "description": "base model for xml_element describing attributes.", "properties": {"path": {"description": "The Python xpath-like expression to find the target element.", "title": "Path", "type": "string"}, "attribute": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "description": "The XML attribute name to test against from the target XML element.", "title": "Attribute"}, "all": {"anyOf": [{"type": "boolean"}, {"type": "string"}], "default": false, "description": "Check the sub-assertions for all paths matching the path. Default: false, i.e. only the first ", "title": "All"}, "n": {"anyOf": [{"type": "string"}, {"type": "integer"}, {"type": "null"}], "default": null, "description": "Desired number, can be suffixed by ``(k|M|G|T|P|E)i?``", "title": "N"}, "delta": {"anyOf": [{"type": "integer"}, {"type": "string"}], "default": 0, "description": "Allowed difference with respect to n (default: 0), can be suffixed by ``(k|M|G|T|P|E)i?``", "title": "Delta"}, "min": {"anyOf": [{"type": "string"}, {"type": "integer"}, {"type": "null"}], "default": null, "description": "Minimum number (default: -infinity), can be suffixed by ``(k|M|G|T|P|E)i?``", "title": "Min"}, "max": {"anyOf": [{"type": "string"}, {"type": "integer"}, {"type": "null"}], "default": null, "description": "Maximum number (default: infinity), can be suffixed by ``(k|M|G|T|P|E)i?``", "title": "Max"}, "negate": {"anyOf": [{"type": "boolean"}, {"type": "string"}], "default": false, "description": "A boolean that can be set to true to negate the outcome of the assertion.", "title": "Negate"}, "children": {"anyOf": [{"$ref": "#/$defs/RootModel_List_Union_Annotated_Union_has_line_model__has_line_matching_model__has_n_lines_model__has_text_model__has_text_matching_model__not_has_text_model__has_n_columns_model__attribute_is_model__attribute_matches_model__element_text_model__element_text_is_model__element_text_matches_model__has_element_with_path_model__has_n_elements_with_path_model__is_valid_xml_model__xml_element_model__has_json_property_with_text_model__has_json_property_with_value_model__has_h5_attribute_model__has_h5_keys_model__has_archive_member_model__has_size_model__has_image_center_of_mass_model__has_image_channels_model__has_image_height_model__has_image_mean_intensity_model__has_image_mean_object_size_model__has_image_n_labels_model__has_image_width_model___FieldInfo_annotation_NoneType__required_True__discriminator__that_____has_line_model_nested__has_line_matching_model_nested__has_n_lines_model_nested__has_text_model_nested__has_text_matching_model_nested__not_has_text_model_nested__has_n_columns_model_nested__attribute_is_model_nested__attribute_matches_model_nested__element_text_model_nested__element_text_is_model_nested__element_text_matches_model_nested__has_element_with_path_model_nested__has_n_elements_with_path_model_nested__is_valid_xml_model_nested__xml_element_model_nested__has_json_property_with_text_model_nested__has_json_property_with_value_model_nested__has_h5_attribute_model_nested__has_h5_keys_model_nested__has_archive_member_model_nested__has_size_model_nested__has_image_center_of_mass_model_nested__has_image_channels_model_nested__has_image_height_model_nested__has_image_mean_intensity_model_nested__has_image_mean_object_size_model_nested__has_image_n_labels_model_nested__has_image_width_model_nested___"}, {"type": "null"}], "default": null}, "asserts": {"anyOf": [{"$ref": "#/$defs/RootModel_List_Union_Annotated_Union_has_line_model__has_line_matching_model__has_n_lines_model__has_text_model__has_text_matching_model__not_has_text_model__has_n_columns_model__attribute_is_model__attribute_matches_model__element_text_model__element_text_is_model__element_text_matches_model__has_element_with_path_model__has_n_elements_with_path_model__is_valid_xml_model__xml_element_model__has_json_property_with_text_model__has_json_property_with_value_model__has_h5_attribute_model__has_h5_keys_model__has_archive_member_model__has_size_model__has_image_center_of_mass_model__has_image_channels_model__has_image_height_model__has_image_mean_intensity_model__has_image_mean_object_size_model__has_image_n_labels_model__has_image_width_model___FieldInfo_annotation_NoneType__required_True__discriminator__that_____has_line_model_nested__has_line_matching_model_nested__has_n_lines_model_nested__has_text_model_nested__has_text_matching_model_nested__not_has_text_model_nested__has_n_columns_model_nested__attribute_is_model_nested__attribute_matches_model_nested__element_text_model_nested__element_text_is_model_nested__element_text_matches_model_nested__has_element_with_path_model_nested__has_n_elements_with_path_model_nested__is_valid_xml_model_nested__xml_element_model_nested__has_json_property_with_text_model_nested__has_json_property_with_value_model_nested__has_h5_attribute_model_nested__has_h5_keys_model_nested__has_archive_member_model_nested__has_size_model_nested__has_image_center_of_mass_model_nested__has_image_channels_model_nested__has_image_height_model_nested__has_image_mean_intensity_model_nested__has_image_mean_object_size_model_nested__has_image_n_labels_model_nested__has_image_width_model_nested___"}, {"type": "null"}], "default": null}}, "required": ["path"], "title": "base_xml_element_model", "type": "object"}, "element_text_is_model": {"additionalProperties": false, "description": "Asserts the text of the XML element with the specified XPath-like ``path`` is\nthe specified ``text``.\n\nFor example:\n\n```xml\n<element_text_is path=\"BlastOutput_program\" text=\"blastp\" />\n```\n\nThe assertion implicitly also asserts that an element matching ``path`` exists.\nWith ``negate`` the result of the assertion (on the equality) can be inverted (the\nimplicit assertion on the existence of the path is not affected).", "properties": {"path": {"description": "The Python xpath-like expression to find the target element.", "title": "Path", "type": "string"}, "text": {"description": "The expected element text (body of the XML tag) to test against on the target XML element", "title": "Text", "type": "string"}, "negate": {"anyOf": [{"type": "boolean"}, {"type": "string"}], "default": false, "description": "A boolean that can be set to true to negate the outcome of the assertion.", "title": "Negate"}, "that": {"const": "element_text_is", "default": "element_text_is", "enum": ["element_text_is"], "title": "That", "type": "string"}}, "required": ["path", "text"], "title": "element_text_is_model", "type": "object"}, "element_text_is_model_nested": {"additionalProperties": false, "description": "Nested version of this assertion model.", "properties": {"element_text_is": {"$ref": "#/$defs/base_element_text_is_model"}}, "required": ["element_text_is"], "title": "element_text_is_model_nested", "type": "object"}, "element_text_matches_model": {"additionalProperties": false, "description": "Asserts the text of the XML element with the specified XPath-like ``path``\nmatches the regular expression defined by ``expression``.\n\nFor example:\n\n```xml\n<element_text_matches path=\"BlastOutput_version\" expression=\"BLASTP\\s+2\\.2.*\"/>\n```\n\nThe assertion implicitly also asserts that an element matching ``path`` exists.\nWith ``negate`` the result of the assertion (on the matching) can be inverted (the\nimplicit assertion on the existence of the path is not affected).", "properties": {"path": {"description": "The Python xpath-like expression to find the target element.", "title": "Path", "type": "string"}, "expression": {"description": "The regular expressions to apply against the target element.", "title": "Expression", "type": "string"}, "negate": {"anyOf": [{"type": "boolean"}, {"type": "string"}], "default": false, "description": "A boolean that can be set to true to negate the outcome of the assertion.", "title": "Negate"}, "that": {"const": "element_text_matches", "default": "element_text_matches", "enum": ["element_text_matches"], "title": "That", "type": "string"}}, "required": ["path", "expression"], "title": "element_text_matches_model", "type": "object"}, "element_text_matches_model_nested": {"additionalProperties": false, "description": "Nested version of this assertion model.", "properties": {"element_text_matches": {"$ref": "#/$defs/base_element_text_matches_model"}}, "required": ["element_text_matches"], "title": "element_text_matches_model_nested", "type": "object"}, "element_text_model": {"additionalProperties": false, "description": "This tag allows the developer to recurisively specify additional assertions as\nchild elements about just the text contained in the element specified by the\nXPath-like ``path``, e.g.\n\n```xml\n<element_text path=\"BlastOutput_iterations/Iteration/Iteration_hits/Hit/Hit_def\">\n <not_has_text text=\"EDK72998.1\" />\n</element_text>\n```\n\nThe assertion implicitly also asserts that an element matching ``path`` exists.\nWith ``negate`` the result of the implicit assertions can be inverted.\nThe sub-assertions, which have their own ``negate`` attribute, are not affected\nby ``negate``.", "properties": {"path": {"description": "The Python xpath-like expression to find the target element.", "title": "Path", "type": "string"}, "negate": {"anyOf": [{"type": "boolean"}, {"type": "string"}], "default": false, "description": "A boolean that can be set to true to negate the outcome of the assertion.", "title": "Negate"}, "children": {"anyOf": [{"$ref": "#/$defs/RootModel_List_Union_Annotated_Union_has_line_model__has_line_matching_model__has_n_lines_model__has_text_model__has_text_matching_model__not_has_text_model__has_n_columns_model__attribute_is_model__attribute_matches_model__element_text_model__element_text_is_model__element_text_matches_model__has_element_with_path_model__has_n_elements_with_path_model__is_valid_xml_model__xml_element_model__has_json_property_with_text_model__has_json_property_with_value_model__has_h5_attribute_model__has_h5_keys_model__has_archive_member_model__has_size_model__has_image_center_of_mass_model__has_image_channels_model__has_image_height_model__has_image_mean_intensity_model__has_image_mean_object_size_model__has_image_n_labels_model__has_image_width_model___FieldInfo_annotation_NoneType__required_True__discriminator__that_____has_line_model_nested__has_line_matching_model_nested__has_n_lines_model_nested__has_text_model_nested__has_text_matching_model_nested__not_has_text_model_nested__has_n_columns_model_nested__attribute_is_model_nested__attribute_matches_model_nested__element_text_model_nested__element_text_is_model_nested__element_text_matches_model_nested__has_element_with_path_model_nested__has_n_elements_with_path_model_nested__is_valid_xml_model_nested__xml_element_model_nested__has_json_property_with_text_model_nested__has_json_property_with_value_model_nested__has_h5_attribute_model_nested__has_h5_keys_model_nested__has_archive_member_model_nested__has_size_model_nested__has_image_center_of_mass_model_nested__has_image_channels_model_nested__has_image_height_model_nested__has_image_mean_intensity_model_nested__has_image_mean_object_size_model_nested__has_image_n_labels_model_nested__has_image_width_model_nested___"}, {"type": "null"}], "default": null}, "asserts": {"anyOf": [{"$ref": "#/$defs/RootModel_List_Union_Annotated_Union_has_line_model__has_line_matching_model__has_n_lines_model__has_text_model__has_text_matching_model__not_has_text_model__has_n_columns_model__attribute_is_model__attribute_matches_model__element_text_model__element_text_is_model__element_text_matches_model__has_element_with_path_model__has_n_elements_with_path_model__is_valid_xml_model__xml_element_model__has_json_property_with_text_model__has_json_property_with_value_model__has_h5_attribute_model__has_h5_keys_model__has_archive_member_model__has_size_model__has_image_center_of_mass_model__has_image_channels_model__has_image_height_model__has_image_mean_intensity_model__has_image_mean_object_size_model__has_image_n_labels_model__has_image_width_model___FieldInfo_annotation_NoneType__required_True__discriminator__that_____has_line_model_nested__has_line_matching_model_nested__has_n_lines_model_nested__has_text_model_nested__has_text_matching_model_nested__not_has_text_model_nested__has_n_columns_model_nested__attribute_is_model_nested__attribute_matches_model_nested__element_text_model_nested__element_text_is_model_nested__element_text_matches_model_nested__has_element_with_path_model_nested__has_n_elements_with_path_model_nested__is_valid_xml_model_nested__xml_element_model_nested__has_json_property_with_text_model_nested__has_json_property_with_value_model_nested__has_h5_attribute_model_nested__has_h5_keys_model_nested__has_archive_member_model_nested__has_size_model_nested__has_image_center_of_mass_model_nested__has_image_channels_model_nested__has_image_height_model_nested__has_image_mean_intensity_model_nested__has_image_mean_object_size_model_nested__has_image_n_labels_model_nested__has_image_width_model_nested___"}, {"type": "null"}], "default": null}, "that": {"const": "element_text", "default": "element_text", "enum": ["element_text"], "title": "That", "type": "string"}}, "required": ["path"], "title": "element_text_model", "type": "object"}, "element_text_model_nested": {"additionalProperties": false, "description": "Nested version of this assertion model.", "properties": {"element_text": {"$ref": "#/$defs/base_element_text_model"}}, "required": ["element_text"], "title": "element_text_model_nested", "type": "object"}, "has_archive_member_model": {"additionalProperties": false, "description": "This tag allows to check if ``path`` is contained in a compressed file.\n\nThe path is a regular expression that is matched against the full paths of the objects in\nthe compressed file (remember that \"matching\" means it is checked if a prefix of\nthe full path of an archive member is described by the regular expression).\nValid archive formats include ``.zip``, ``.tar``, and ``.tar.gz``. Note that\ndepending on the archive creation method:\n\n- full paths of the members may be prefixed with ``./``\n- directories may be treated as empty files\n\n```xml\n<has_archive_member path=\"./path/to/my-file.txt\"/>\n```\n\nWith ``n`` and ``delta`` (or ``min`` and ``max``) assertions on the number of\narchive members matching ``path`` can be expressed. The following could be used,\ne.g., to assert an archive containing n&plusmn;1 elements out of which at least\n4 need to have a ``txt`` extension.\n\n```xml\n<has_archive_member path=\".*\" n=\"10\" delta=\"1\"/>\n<has_archive_member path=\".*\\.txt\" min=\"4\"/>\n```\n\nIn addition the tag can contain additional assertions as child elements about\nthe first member in the archive matching the regular expression ``path``. For\ninstance\n\n```xml\n<has_archive_member path=\".*/my-file.txt\">\n <not_has_text text=\"EDK72998.1\"/>\n</has_archive_member>\n```\n\nIf the ``all`` attribute is set to ``true`` then all archive members are subject\nto the assertions. Note that, archive members matching the ``path`` are sorted\nalphabetically.\n\nThe ``negate`` attribute of the ``has_archive_member`` assertion only affects\nthe asserts on the presence and number of matching archive members, but not any\nsub-assertions (which can offer the ``negate`` attribute on their own). The\ncheck if the file is an archive at all, which is also done by the function, is\nnot affected.", "properties": {"path": {"description": "The regular expression specifying the archive member.", "title": "Path", "type": "string"}, "all": {"anyOf": [{"type": "boolean"}, {"type": "string"}], "default": false, "description": "Check the sub-assertions for all paths matching the path. Default: false, i.e. only the first", "title": "All"}, "n": {"anyOf": [{"type": "string"}, {"type": "integer"}, {"type": "null"}], "default": null, "description": "Desired number, can be suffixed by ``(k|M|G|T|P|E)i?``", "title": "N"}, "delta": {"anyOf": [{"type": "integer"}, {"type": "string"}], "default": 0, "description": "Allowed difference with respect to n (default: 0), can be suffixed by ``(k|M|G|T|P|E)i?``", "title": "Delta"}, "min": {"anyOf": [{"type": "string"}, {"type": "integer"}, {"type": "null"}], "default": null, "description": "Minimum number (default: -infinity), can be suffixed by ``(k|M|G|T|P|E)i?``", "title": "Min"}, "max": {"anyOf": [{"type": "string"}, {"type": "integer"}, {"type": "null"}], "default": null, "description": "Maximum number (default: infinity), can be suffixed by ``(k|M|G|T|P|E)i?``", "title": "Max"}, "negate": {"anyOf": [{"type": "boolean"}, {"type": "string"}], "default": false, "description": "A boolean that can be set to true to negate the outcome of the assertion.", "title": "Negate"}, "children": {"anyOf": [{"$ref": "#/$defs/RootModel_List_Union_Annotated_Union_has_line_model__has_line_matching_model__has_n_lines_model__has_text_model__has_text_matching_model__not_has_text_model__has_n_columns_model__attribute_is_model__attribute_matches_model__element_text_model__element_text_is_model__element_text_matches_model__has_element_with_path_model__has_n_elements_with_path_model__is_valid_xml_model__xml_element_model__has_json_property_with_text_model__has_json_property_with_value_model__has_h5_attribute_model__has_h5_keys_model__has_archive_member_model__has_size_model__has_image_center_of_mass_model__has_image_channels_model__has_image_height_model__has_image_mean_intensity_model__has_image_mean_object_size_model__has_image_n_labels_model__has_image_width_model___FieldInfo_annotation_NoneType__required_True__discriminator__that_____has_line_model_nested__has_line_matching_model_nested__has_n_lines_model_nested__has_text_model_nested__has_text_matching_model_nested__not_has_text_model_nested__has_n_columns_model_nested__attribute_is_model_nested__attribute_matches_model_nested__element_text_model_nested__element_text_is_model_nested__element_text_matches_model_nested__has_element_with_path_model_nested__has_n_elements_with_path_model_nested__is_valid_xml_model_nested__xml_element_model_nested__has_json_property_with_text_model_nested__has_json_property_with_value_model_nested__has_h5_attribute_model_nested__has_h5_keys_model_nested__has_archive_member_model_nested__has_size_model_nested__has_image_center_of_mass_model_nested__has_image_channels_model_nested__has_image_height_model_nested__has_image_mean_intensity_model_nested__has_image_mean_object_size_model_nested__has_image_n_labels_model_nested__has_image_width_model_nested___"}, {"type": "null"}], "default": null}, "asserts": {"anyOf": [{"$ref": "#/$defs/RootModel_List_Union_Annotated_Union_has_line_model__has_line_matching_model__has_n_lines_model__has_text_model__has_text_matching_model__not_has_text_model__has_n_columns_model__attribute_is_model__attribute_matches_model__element_text_model__element_text_is_model__element_text_matches_model__has_element_with_path_model__has_n_elements_with_path_model__is_valid_xml_model__xml_element_model__has_json_property_with_text_model__has_json_property_with_value_model__has_h5_attribute_model__has_h5_keys_model__has_archive_member_model__has_size_model__has_image_center_of_mass_model__has_image_channels_model__has_image_height_model__has_image_mean_intensity_model__has_image_mean_object_size_model__has_image_n_labels_model__has_image_width_model___FieldInfo_annotation_NoneType__required_True__discriminator__that_____has_line_model_nested__has_line_matching_model_nested__has_n_lines_model_nested__has_text_model_nested__has_text_matching_model_nested__not_has_text_model_nested__has_n_columns_model_nested__attribute_is_model_nested__attribute_matches_model_nested__element_text_model_nested__element_text_is_model_nested__element_text_matches_model_nested__has_element_with_path_model_nested__has_n_elements_with_path_model_nested__is_valid_xml_model_nested__xml_element_model_nested__has_json_property_with_text_model_nested__has_json_property_with_value_model_nested__has_h5_attribute_model_nested__has_h5_keys_model_nested__has_archive_member_model_nested__has_size_model_nested__has_image_center_of_mass_model_nested__has_image_channels_model_nested__has_image_height_model_nested__has_image_mean_intensity_model_nested__has_image_mean_object_size_model_nested__has_image_n_labels_model_nested__has_image_width_model_nested___"}, {"type": "null"}], "default": null}, "that": {"const": "has_archive_member", "default": "has_archive_member", "enum": ["has_archive_member"], "title": "That", "type": "string"}}, "required": ["path"], "title": "has_archive_member_model", "type": "object"}, "has_archive_member_model_nested": {"additionalProperties": false, "description": "Nested version of this assertion model.", "properties": {"has_archive_member": {"$ref": "#/$defs/base_has_archive_member_model"}}, "required": ["has_archive_member"], "title": "has_archive_member_model_nested", "type": "object"}, "has_element_with_path_model": {"additionalProperties": false, "description": "Asserts the XML output contains at least one element (or tag) with the specified\nXPath-like ``path``, e.g.\n\n```xml\n<has_element_with_path path=\"BlastOutput_param/Parameters/Parameters_matrix\" />\n```\n\nWith ``negate`` the result of the assertion can be inverted.", "properties": {"path": {"description": "The Python xpath-like expression to find the target element.", "title": "Path", "type": "string"}, "negate": {"anyOf": [{"type": "boolean"}, {"type": "string"}], "default": false, "description": "A boolean that can be set to true to negate the outcome of the assertion.", "title": "Negate"}, "that": {"const": "has_element_with_path", "default": "has_element_with_path", "enum": ["has_element_with_path"], "title": "That", "type": "string"}}, "required": ["path"], "title": "has_element_with_path_model", "type": "object"}, "has_element_with_path_model_nested": {"additionalProperties": false, "description": "Nested version of this assertion model.", "properties": {"has_element_with_path": {"$ref": "#/$defs/base_has_element_with_path_model"}}, "required": ["has_element_with_path"], "title": "has_element_with_path_model_nested", "type": "object"}, "has_h5_attribute_model": {"additionalProperties": false, "description": "Asserts HDF5 output contains the specified ``value`` for an attribute (``key``), e.g.\n\n```xml\n<has_h5_attribute key=\"nchroms\" value=\"15\" />\n```", "properties": {"key": {"description": "HDF5 attribute to check value of.", "title": "Key", "type": "string"}, "value": {"description": "Expected value of HDF5 attribute to check.", "title": "Value", "type": "string"}, "that": {"const": "has_h5_attribute", "default": "has_h5_attribute", "enum": ["has_h5_attribute"], "title": "That", "type": "string"}}, "required": ["key", "value"], "title": "has_h5_attribute_model", "type": "object"}, "has_h5_attribute_model_nested": {"additionalProperties": false, "description": "Nested version of this assertion model.", "properties": {"has_h5_attribute": {"$ref": "#/$defs/base_has_h5_attribute_model"}}, "required": ["has_h5_attribute"], "title": "has_h5_attribute_model_nested", "type": "object"}, "has_h5_keys_model": {"additionalProperties": false, "description": "Asserts the specified HDF5 output has the given keys.", "properties": {"keys": {"description": "HDF5 attributes to check value of as a comma-separated string.", "title": "Keys", "type": "string"}, "that": {"const": "has_h5_keys", "default": "has_h5_keys", "enum": ["has_h5_keys"], "title": "That", "type": "string"}}, "required": ["keys"], "title": "has_h5_keys_model", "type": "object"}, "has_h5_keys_model_nested": {"additionalProperties": false, "description": "Nested version of this assertion model.", "properties": {"has_h5_keys": {"$ref": "#/$defs/base_has_h5_keys_model"}}, "required": ["has_h5_keys"], "title": "has_h5_keys_model_nested", "type": "object"}, "has_image_center_of_mass_model": {"additionalProperties": false, "description": "Asserts the specified output is an image and has the specified center of mass.\n\nAsserts the output is an image and has a specific center of mass,\nor has an Euclidean distance of ``eps`` or less to that point (e.g.,\n``<has_image_center_of_mass center_of_mass=\"511.07, 223.34\" />``).", "properties": {"center_of_mass": {"description": "The required center of mass of the image intensities (horizontal and vertical coordinate, separated by a comma).", "title": "Center Of Mass", "type": "string"}, "channel": {"anyOf": [{"type": "integer"}, {"type": "null"}], "default": null, "description": "Restricts the assertion to a specific channel of the image (where ``0`` corresponds to the first image channel).", "title": "Channel"}, "eps": {"anyOf": [{"type": "integer"}, {"type": "number"}], "default": 0.01, "description": "The maximum allowed Euclidean distance to the required center of mass (defaults to ``0.01``).", "title": "Eps"}, "that": {"const": "has_image_center_of_mass", "default": "has_image_center_of_mass", "enum": ["has_image_center_of_mass"], "title": "That", "type": "string"}}, "required": ["center_of_mass"], "title": "has_image_center_of_mass_model", "type": "object"}, "has_image_center_of_mass_model_nested": {"additionalProperties": false, "description": "Nested version of this assertion model.", "properties": {"has_image_center_of_mass": {"$ref": "#/$defs/base_has_image_center_of_mass_model"}}, "required": ["has_image_center_of_mass"], "title": "has_image_center_of_mass_model_nested", "type": "object"}, "has_image_channels_model": {"additionalProperties": false, "description": "Asserts the output is an image and has a specific number of channels.\n\nThe number of channels is plus/minus ``delta`` (e.g., ``<has_image_channels channels=\"3\" />``).\n\nAlternatively the range of the expected number of channels can be specified by ``min`` and/or ``max``.", "properties": {"channels": {"anyOf": [{"type": "integer"}, {"type": "null"}], "default": null, "description": "Expected number of channels of the image.", "title": "Channels"}, "delta": {"default": 0, "description": "Maximum allowed difference of the number of channels (default is 0). The observed number of channels has to be in the range ``value +- delta``.", "title": "Delta", "type": "integer"}, "min": {"anyOf": [{"type": "integer"}, {"type": "null"}], "default": null, "description": "Minimum allowed number of channels.", "title": "Min"}, "max": {"anyOf": [{"type": "integer"}, {"type": "null"}], "default": null, "description": "Maximum allowed number of channels.", "title": "Max"}, "negate": {"anyOf": [{"type": "boolean"}, {"type": "string"}], "default": false, "description": "A boolean that can be set to true to negate the outcome of the assertion.", "title": "Negate"}, "that": {"const": "has_image_channels", "default": "has_image_channels", "enum": ["has_image_channels"], "title": "That", "type": "string"}}, "title": "has_image_channels_model", "type": "object"}, "has_image_channels_model_nested": {"additionalProperties": false, "description": "Nested version of this assertion model.", "properties": {"has_image_channels": {"$ref": "#/$defs/base_has_image_channels_model"}}, "required": ["has_image_channels"], "title": "has_image_channels_model_nested", "type": "object"}, "has_image_height_model": {"additionalProperties": false, "description": "Asserts the output is an image and has a specific height (in pixels).\n\nThe height is plus/minus ``delta`` (e.g., ``<has_image_height height=\"512\" delta=\"2\" />``).\nAlternatively the range of the expected height can be specified by ``min`` and/or ``max``.", "properties": {"height": {"anyOf": [{"type": "integer"}, {"type": "null"}], "default": null, "description": "Expected height of the image (in pixels).", "title": "Height"}, "delta": {"default": 0, "description": "Maximum allowed difference of the image height (in pixels, default is 0). The observed height has to be in the range ``value +- delta``.", "title": "Delta", "type": "integer"}, "min": {"anyOf": [{"type": "integer"}, {"type": "null"}], "default": null, "description": "Minimum allowed height of the image (in pixels).", "title": "Min"}, "max": {"anyOf": [{"type": "integer"}, {"type": "null"}], "default": null, "description": "Maximum allowed height of the image (in pixels).", "title": "Max"}, "negate": {"anyOf": [{"type": "boolean"}, {"type": "string"}], "default": false, "description": "A boolean that can be set to true to negate the outcome of the assertion.", "title": "Negate"}, "that": {"const": "has_image_height", "default": "has_image_height", "enum": ["has_image_height"], "title": "That", "type": "string"}}, "title": "has_image_height_model", "type": "object"}, "has_image_height_model_nested": {"additionalProperties": false, "description": "Nested version of this assertion model.", "properties": {"has_image_height": {"$ref": "#/$defs/base_has_image_height_model"}}, "required": ["has_image_height"], "title": "has_image_height_model_nested", "type": "object"}, "has_image_mean_intensity_model": {"additionalProperties": false, "description": "Asserts the output is an image and has a specific mean intensity value.\n\nThe mean intensity value is plus/minus ``eps`` (e.g., ``<has_image_mean_intensity mean_intensity=\"0.83\" />``).\nAlternatively the range of the expected mean intensity value can be specified by ``min`` and/or ``max``.", "properties": {"channel": {"anyOf": [{"type": "integer"}, {"type": "null"}], "default": null, "description": "Restricts the assertion to a specific channel of the image (where ``0`` corresponds to the first image channel).", "title": "Channel"}, "mean_intensity": {"anyOf": [{"type": "integer"}, {"type": "number"}, {"type": "null"}], "default": null, "description": "The required mean value of the image intensities.", "title": "Mean Intensity"}, "eps": {"anyOf": [{"type": "integer"}, {"type": "number"}], "default": 0.01, "description": "The absolute tolerance to be used for ``value`` (defaults to ``0.01``). The observed mean value of the image intensities has to be in the range ``value +- eps``.", "title": "Eps"}, "min": {"anyOf": [{"type": "integer"}, {"type": "number"}, {"type": "null"}], "default": null, "description": "A lower bound of the required mean value of the image intensities.", "title": "Min"}, "max": {"anyOf": [{"type": "integer"}, {"type": "number"}, {"type": "null"}], "default": null, "description": "An upper bound of the required mean value of the image intensities.", "title": "Max"}, "that": {"const": "has_image_mean_intensity", "default": "has_image_mean_intensity", "enum": ["has_image_mean_intensity"], "title": "That", "type": "string"}}, "title": "has_image_mean_intensity_model", "type": "object"}, "has_image_mean_intensity_model_nested": {"additionalProperties": false, "description": "Nested version of this assertion model.", "properties": {"has_image_mean_intensity": {"$ref": "#/$defs/base_has_image_mean_intensity_model"}}, "required": ["has_image_mean_intensity"], "title": "has_image_mean_intensity_model_nested", "type": "object"}, "has_image_mean_object_size_model": {"additionalProperties": false, "description": "Asserts the output is an image with labeled objects which have the specified mean size (number of pixels),\n\nThe mean size is plus/minus ``eps`` (e.g., ``<has_image_mean_object_size mean_object_size=\"111.87\" exclude_labels=\"0\" />``).\n\nThe labels must be unique.", "properties": {"channel": {"anyOf": [{"type": "integer"}, {"type": "null"}], "default": null, "description": "Restricts the assertion to a specific channel of the image (where ``0`` corresponds to the first image channel).", "title": "Channel"}, "labels": {"anyOf": [{"items": {"type": "integer"}, "type": "array"}, {"type": "null"}], "default": null, "description": "List of labels, separated by a comma. Labels *not* on this list will be excluded from consideration. Cannot be used in combination with ``exclude_labels``.", "title": "Labels"}, "exclude_labels": {"anyOf": [{"items": {"type": "integer"}, "type": "array"}, {"type": "null"}], "default": null, "description": "List of labels to be excluded from consideration, separated by a comma. The primary usage of this attribute is to exclude the background of a label image. Cannot be used in combination with ``labels``.", "title": "Exclude Labels"}, "mean_object_size": {"anyOf": [{"type": "integer"}, {"type": "number"}, {"type": "null"}], "default": null, "description": "The required mean size of the uniquely labeled objects.", "title": "Mean Object Size"}, "eps": {"anyOf": [{"type": "integer"}, {"type": "number"}], "default": 0.01, "description": "The absolute tolerance to be used for ``value`` (defaults to ``0.01``). The observed mean size of the uniquely labeled objects has to be in the range ``value +- eps``.", "title": "Eps"}, "min": {"anyOf": [{"type": "integer"}, {"type": "number"}, {"type": "null"}], "default": null, "description": "A lower bound of the required mean size of the uniquely labeled objects.", "title": "Min"}, "max": {"anyOf": [{"type": "integer"}, {"type": "number"}, {"type": "null"}], "default": null, "description": "An upper bound of the required mean size of the uniquely labeled objects.", "title": "Max"}, "that": {"const": "has_image_mean_object_size", "default": "has_image_mean_object_size", "enum": ["has_image_mean_object_size"], "title": "That", "type": "string"}}, "title": "has_image_mean_object_size_model", "type": "object"}, "has_image_mean_object_size_model_nested": {"additionalProperties": false, "description": "Nested version of this assertion model.", "properties": {"has_image_mean_object_size": {"$ref": "#/$defs/base_has_image_mean_object_size_model"}}, "required": ["has_image_mean_object_size"], "title": "has_image_mean_object_size_model_nested", "type": "object"}, "has_image_n_labels_model": {"additionalProperties": false, "description": "Asserts the output is an image and has the specified labels.\n\nLabels can be a number of labels or unique values (e.g.,\n``<has_image_n_labels n=\"187\" exclude_labels=\"0\" />``).\n\nThe primary usage of this assertion is to verify the number of objects in images with uniquely labeled objects.", "properties": {"channel": {"anyOf": [{"type": "integer"}, {"type": "null"}], "default": null, "description": "Restricts the assertion to a specific channel of the image (where ``0`` corresponds to the first image channel).", "title": "Channel"}, "labels": {"anyOf": [{"items": {"type": "integer"}, "type": "array"}, {"type": "null"}], "default": null, "description": "List of labels, separated by a comma. Labels *not* on this list will be excluded from consideration. Cannot be used in combination with ``exclude_labels``.", "title": "Labels"}, "exclude_labels": {"anyOf": [{"items": {"type": "integer"}, "type": "array"}, {"type": "null"}], "default": null, "description": "List of labels to be excluded from consideration, separated by a comma. The primary usage of this attribute is to exclude the background of a label image. Cannot be used in combination with ``labels``.", "title": "Exclude Labels"}, "n": {"anyOf": [{"type": "integer"}, {"type": "null"}], "default": null, "description": "Expected number of labels.", "title": "N"}, "delta": {"default": 0, "description": "Maximum allowed difference of the number of labels (default is 0). The observed number of labels has to be in the range ``value +- delta``.", "title": "Delta", "type": "integer"}, "min": {"anyOf": [{"type": "integer"}, {"type": "null"}], "default": null, "description": "Minimum allowed number of labels.", "title": "Min"}, "max": {"anyOf": [{"type": "integer"}, {"type": "null"}], "default": null, "description": "Maximum allowed number of labels.", "title": "Max"}, "negate": {"anyOf": [{"type": "boolean"}, {"type": "string"}], "default": false, "description": "A boolean that can be set to true to negate the outcome of the assertion.", "title": "Negate"}, "that": {"const": "has_image_n_labels", "default": "has_image_n_labels", "enum": ["has_image_n_labels"], "title": "That", "type": "string"}}, "title": "has_image_n_labels_model", "type": "object"}, "has_image_n_labels_model_nested": {"additionalProperties": false, "description": "Nested version of this assertion model.", "properties": {"has_image_n_labels": {"$ref": "#/$defs/base_has_image_n_labels_model"}}, "required": ["has_image_n_labels"], "title": "has_image_n_labels_model_nested", "type": "object"}, "has_image_width_model": {"additionalProperties": false, "description": "Asserts the output is an image and has a specific width (in pixels).\n\nThe width is plus/minus ``delta`` (e.g., ``<has_image_width width=\"512\" delta=\"2\" />``).\nAlternatively the range of the expected width can be specified by ``min`` and/or ``max``.", "properties": {"width": {"anyOf": [{"type": "integer"}, {"type": "null"}], "default": null, "description": "Expected width of the image (in pixels).", "title": "Width"}, "delta": {"default": 0, "description": "Maximum allowed difference of the image width (in pixels, default is 0). The observed width has to be in the range ``value +- delta``.", "title": "Delta", "type": "integer"}, "min": {"anyOf": [{"type": "integer"}, {"type": "null"}], "default": null, "description": "Minimum allowed width of the image (in pixels).", "title": "Min"}, "max": {"anyOf": [{"type": "integer"}, {"type": "null"}], "default": null, "description": "Maximum allowed width of the image (in pixels).", "title": "Max"}, "negate": {"anyOf": [{"type": "boolean"}, {"type": "string"}], "default": false, "description": "A boolean that can be set to true to negate the outcome of the assertion.", "title": "Negate"}, "that": {"const": "has_image_width", "default": "has_image_width", "enum": ["has_image_width"], "title": "That", "type": "string"}}, "title": "has_image_width_model", "type": "object"}, "has_image_width_model_nested": {"additionalProperties": false, "description": "Nested version of this assertion model.", "properties": {"has_image_width": {"$ref": "#/$defs/base_has_image_width_model"}}, "required": ["has_image_width"], "title": "has_image_width_model_nested", "type": "object"}, "has_json_property_with_text_model": {"additionalProperties": false, "description": "Asserts the JSON document contains a property or key with the specified text (i.e. string) value.\n\n```xml\n<has_json_property_with_text property=\"color\" text=\"red\" />\n```", "properties": {"property": {"description": "The property name to search the JSON document for.", "title": "Property", "type": "string"}, "text": {"description": "The expected text value of the target JSON attribute.", "title": "Text", "type": "string"}, "that": {"const": "has_json_property_with_text", "default": "has_json_property_with_text", "enum": ["has_json_property_with_text"], "title": "That", "type": "string"}}, "required": ["property", "text"], "title": "has_json_property_with_text_model", "type": "object"}, "has_json_property_with_text_model_nested": {"additionalProperties": false, "description": "Nested version of this assertion model.", "properties": {"has_json_property_with_text": {"$ref": "#/$defs/base_has_json_property_with_text_model"}}, "required": ["has_json_property_with_text"], "title": "has_json_property_with_text_model_nested", "type": "object"}, "has_json_property_with_value_model": {"additionalProperties": false, "description": "Asserts the JSON document contains a property or key with the specified JSON value.\n\n```xml\n<has_json_property_with_value property=\"skipped_columns\" value=\"[1, 3, 5]\" />\n```", "properties": {"property": {"description": "The property name to search the JSON document for.", "title": "Property", "type": "string"}, "value": {"description": "The expected JSON value of the target JSON attribute (as a JSON encoded string).", "title": "Value", "type": "string"}, "that": {"const": "has_json_property_with_value", "default": "has_json_property_with_value", "enum": ["has_json_property_with_value"], "title": "That", "type": "string"}}, "required": ["property", "value"], "title": "has_json_property_with_value_model", "type": "object"}, "has_json_property_with_value_model_nested": {"additionalProperties": false, "description": "Nested version of this assertion model.", "properties": {"has_json_property_with_value": {"$ref": "#/$defs/base_has_json_property_with_value_model"}}, "required": ["has_json_property_with_value"], "title": "has_json_property_with_value_model_nested", "type": "object"}, "has_line_matching_model": {"additionalProperties": false, "description": "Asserts the specified output contains a line matching the\nregular expression specified by the argument expression. If n is given\nthe assertion checks for exactly n occurences.", "properties": {"expression": {"description": "The regular expressions to attempt match in the output.", "title": "Expression", "type": "string"}, "n": {"anyOf": [{"type": "string"}, {"type": "integer"}, {"type": "null"}], "default": null, "description": "Desired number, can be suffixed by ``(k|M|G|T|P|E)i?``", "title": "N"}, "delta": {"anyOf": [{"type": "integer"}, {"type": "string"}], "default": 0, "description": "Allowed difference with respect to n (default: 0), can be suffixed by ``(k|M|G|T|P|E)i?``", "title": "Delta"}, "min": {"anyOf": [{"type": "string"}, {"type": "integer"}, {"type": "null"}], "default": null, "description": "Minimum number (default: -infinity), can be suffixed by ``(k|M|G|T|P|E)i?``", "title": "Min"}, "max": {"anyOf": [{"type": "string"}, {"type": "integer"}, {"type": "null"}], "default": null, "description": "Maximum number (default: infinity), can be suffixed by ``(k|M|G|T|P|E)i?``", "title": "Max"}, "negate": {"anyOf": [{"type": "boolean"}, {"type": "string"}], "default": false, "description": "A boolean that can be set to true to negate the outcome of the assertion.", "title": "Negate"}, "that": {"const": "has_line_matching", "default": "has_line_matching", "enum": ["has_line_matching"], "title": "That", "type": "string"}}, "required": ["expression"], "title": "has_line_matching_model", "type": "object"}, "has_line_matching_model_nested": {"additionalProperties": false, "description": "Nested version of this assertion model.", "properties": {"has_line_matching": {"$ref": "#/$defs/base_has_line_matching_model"}}, "required": ["has_line_matching"], "title": "has_line_matching_model_nested", "type": "object"}, "has_line_model": {"additionalProperties": false, "description": "Asserts the specified output contains the line specified by the\nargument line. The exact number of occurrences can be optionally\nspecified by the argument n", "properties": {"line": {"description": "The full line of text to search for in the output.", "title": "Line", "type": "string"}, "n": {"anyOf": [{"type": "string"}, {"type": "integer"}, {"type": "null"}], "default": null, "description": "Desired number, can be suffixed by ``(k|M|G|T|P|E)i?``", "title": "N"}, "delta": {"anyOf": [{"type": "integer"}, {"type": "string"}], "default": 0, "description": "Allowed difference with respect to n (default: 0), can be suffixed by ``(k|M|G|T|P|E)i?``", "title": "Delta"}, "min": {"anyOf": [{"type": "string"}, {"type": "integer"}, {"type": "null"}], "default": null, "description": "Minimum number (default: -infinity), can be suffixed by ``(k|M|G|T|P|E)i?``", "title": "Min"}, "max": {"anyOf": [{"type": "string"}, {"type": "integer"}, {"type": "null"}], "default": null, "description": "Maximum number (default: infinity), can be suffixed by ``(k|M|G|T|P|E)i?``", "title": "Max"}, "negate": {"anyOf": [{"type": "boolean"}, {"type": "string"}], "default": false, "description": "A boolean that can be set to true to negate the outcome of the assertion.", "title": "Negate"}, "that": {"const": "has_line", "default": "has_line", "enum": ["has_line"], "title": "That", "type": "string"}}, "required": ["line"], "title": "has_line_model", "type": "object"}, "has_line_model_nested": {"additionalProperties": false, "description": "Nested version of this assertion model.", "properties": {"has_line": {"$ref": "#/$defs/base_has_line_model"}}, "required": ["has_line"], "title": "has_line_model_nested", "type": "object"}, "has_n_columns_model": {"additionalProperties": false, "description": "Asserts tabular output contains the specified\nnumber (``n``) of columns.\n\nFor instance, ``<has_n_columns n=\"3\"/>``. The assertion tests only the first line.\nNumber of columns can optionally also be specified with ``delta``. Alternatively the\nrange of expected occurences can be specified by ``min`` and/or ``max``.\n\nOptionally a column separator (``sep``, default is `` ``) `and comment character(s)\ncan be specified (``comment``, default is empty string). The first non-comment\nline is used for determining the number of columns.", "properties": {"n": {"anyOf": [{"type": "string"}, {"type": "integer"}, {"type": "null"}], "default": null, "description": "Desired number, can be suffixed by ``(k|M|G|T|P|E)i?``", "title": "N"}, "delta": {"anyOf": [{"type": "integer"}, {"type": "string"}], "default": 0, "description": "Allowed difference with respect to n (default: 0), can be suffixed by ``(k|M|G|T|P|E)i?``", "title": "Delta"}, "min": {"anyOf": [{"type": "string"}, {"type": "integer"}, {"type": "null"}], "default": null, "description": "Minimum number (default: -infinity), can be suffixed by ``(k|M|G|T|P|E)i?``", "title": "Min"}, "max": {"anyOf": [{"type": "string"}, {"type": "integer"}, {"type": "null"}], "default": null, "description": "Maximum number (default: infinity), can be suffixed by ``(k|M|G|T|P|E)i?``", "title": "Max"}, "sep": {"default": "\t", "description": "Separator defining columns, default: tab", "title": "Sep", "type": "string"}, "comment": {"default": "", "description": "Comment character(s) used to skip comment lines (which should not be used for counting columns)", "title": "Comment", "type": "string"}, "negate": {"anyOf": [{"type": "boolean"}, {"type": "string"}], "default": false, "description": "A boolean that can be set to true to negate the outcome of the assertion.", "title": "Negate"}, "that": {"const": "has_n_columns", "default": "has_n_columns", "enum": ["has_n_columns"], "title": "That", "type": "string"}}, "title": "has_n_columns_model", "type": "object"}, "has_n_columns_model_nested": {"additionalProperties": false, "description": "Nested version of this assertion model.", "properties": {"has_n_columns": {"$ref": "#/$defs/base_has_n_columns_model"}}, "required": ["has_n_columns"], "title": "has_n_columns_model_nested", "type": "object"}, "has_n_elements_with_path_model": {"additionalProperties": false, "description": "Asserts the XML output contains the specified number (``n``, optionally with ``delta``) of elements (or\ntags) with the specified XPath-like ``path``.\n\nFor example:\n\n```xml\n<has_n_elements_with_path n=\"9\" path=\"BlastOutput_iterations/Iteration/Iteration_hits/Hit/Hit_num\" />\n```\n\nAlternatively to ``n`` and ``delta`` also the ``min`` and ``max`` attributes\ncan be used to specify the range of the expected number of occurences.\nWith ``negate`` the result of the assertion can be inverted.", "properties": {"path": {"description": "The Python xpath-like expression to find the target element.", "title": "Path", "type": "string"}, "n": {"anyOf": [{"type": "string"}, {"type": "integer"}, {"type": "null"}], "default": null, "description": "Desired number, can be suffixed by ``(k|M|G|T|P|E)i?``", "title": "N"}, "delta": {"anyOf": [{"type": "integer"}, {"type": "string"}], "default": 0, "description": "Allowed difference with respect to n (default: 0), can be suffixed by ``(k|M|G|T|P|E)i?``", "title": "Delta"}, "min": {"anyOf": [{"type": "string"}, {"type": "integer"}, {"type": "null"}], "default": null, "description": "Minimum number (default: -infinity), can be suffixed by ``(k|M|G|T|P|E)i?``", "title": "Min"}, "max": {"anyOf": [{"type": "string"}, {"type": "integer"}, {"type": "null"}], "default": null, "description": "Maximum number (default: infinity), can be suffixed by ``(k|M|G|T|P|E)i?``", "title": "Max"}, "negate": {"anyOf": [{"type": "boolean"}, {"type": "string"}], "default": false, "description": "A boolean that can be set to true to negate the outcome of the assertion.", "title": "Negate"}, "that": {"const": "has_n_elements_with_path", "default": "has_n_elements_with_path", "enum": ["has_n_elements_with_path"], "title": "That", "type": "string"}}, "required": ["path"], "title": "has_n_elements_with_path_model", "type": "object"}, "has_n_elements_with_path_model_nested": {"additionalProperties": false, "description": "Nested version of this assertion model.", "properties": {"has_n_elements_with_path": {"$ref": "#/$defs/base_has_n_elements_with_path_model"}}, "required": ["has_n_elements_with_path"], "title": "has_n_elements_with_path_model_nested", "type": "object"}, "has_n_lines_model": {"additionalProperties": false, "description": "Asserts the specified output contains ``n`` lines allowing\nfor a difference in the number of lines (delta)\nor relative differebce in the number of lines", "properties": {"n": {"anyOf": [{"type": "string"}, {"type": "integer"}, {"type": "null"}], "default": null, "description": "Desired number, can be suffixed by ``(k|M|G|T|P|E)i?``", "title": "N"}, "delta": {"anyOf": [{"type": "integer"}, {"type": "string"}], "default": 0, "description": "Allowed difference with respect to n (default: 0), can be suffixed by ``(k|M|G|T|P|E)i?``", "title": "Delta"}, "min": {"anyOf": [{"type": "string"}, {"type": "integer"}, {"type": "null"}], "default": null, "description": "Minimum number (default: -infinity), can be suffixed by ``(k|M|G|T|P|E)i?``", "title": "Min"}, "max": {"anyOf": [{"type": "string"}, {"type": "integer"}, {"type": "null"}], "default": null, "description": "Maximum number (default: infinity), can be suffixed by ``(k|M|G|T|P|E)i?``", "title": "Max"}, "negate": {"anyOf": [{"type": "boolean"}, {"type": "string"}], "default": false, "description": "A boolean that can be set to true to negate the outcome of the assertion.", "title": "Negate"}, "that": {"const": "has_n_lines", "default": "has_n_lines", "enum": ["has_n_lines"], "title": "That", "type": "string"}}, "title": "has_n_lines_model", "type": "object"}, "has_n_lines_model_nested": {"additionalProperties": false, "description": "Nested version of this assertion model.", "properties": {"has_n_lines": {"$ref": "#/$defs/base_has_n_lines_model"}}, "required": ["has_n_lines"], "title": "has_n_lines_model_nested", "type": "object"}, "has_size_model": {"additionalProperties": false, "description": "Asserts the specified output has a size of the specified value\n\nAttributes size and value or synonyms though value is considered deprecated.\nThe size optionally allows for absolute (``delta``) difference.", "properties": {"value": {"anyOf": [{"type": "string"}, {"type": "integer"}, {"type": "null"}], "default": null, "description": "Deprecated alias for `size`", "title": "Value"}, "size": {"anyOf": [{"type": "string"}, {"type": "integer"}, {"type": "null"}], "default": null, "description": "Desired size of the output (in bytes), can be suffixed by ``(k|M|G|T|P|E)i?``", "title": "Size"}, "delta": {"anyOf": [{"type": "integer"}, {"type": "string"}], "default": 0, "description": "Allowed difference with respect to n (default: 0), can be suffixed by ``(k|M|G|T|P|E)i?``", "title": "Delta"}, "min": {"anyOf": [{"type": "string"}, {"type": "integer"}, {"type": "null"}], "default": null, "description": "Minimum number (default: -infinity), can be suffixed by ``(k|M|G|T|P|E)i?``", "title": "Min"}, "max": {"anyOf": [{"type": "string"}, {"type": "integer"}, {"type": "null"}], "default": null, "description": "Maximum number (default: infinity), can be suffixed by ``(k|M|G|T|P|E)i?``", "title": "Max"}, "negate": {"anyOf": [{"type": "boolean"}, {"type": "string"}], "default": false, "description": "A boolean that can be set to true to negate the outcome of the assertion.", "title": "Negate"}, "that": {"const": "has_size", "default": "has_size", "enum": ["has_size"], "title": "That", "type": "string"}}, "title": "has_size_model", "type": "object"}, "has_size_model_nested": {"additionalProperties": false, "description": "Nested version of this assertion model.", "properties": {"has_size": {"$ref": "#/$defs/base_has_size_model"}}, "required": ["has_size"], "title": "has_size_model_nested", "type": "object"}, "has_text_matching_model": {"additionalProperties": false, "description": "Asserts the specified output contains text matching the\nregular expression specified by the argument expression.\nIf n is given the assertion checks for exacly n (nonoverlapping)\noccurences.", "properties": {"expression": {"description": "The regular expressions to attempt match in the output.", "title": "Expression", "type": "string"}, "n": {"anyOf": [{"type": "string"}, {"type": "integer"}, {"type": "null"}], "default": null, "description": "Desired number, can be suffixed by ``(k|M|G|T|P|E)i?``", "title": "N"}, "delta": {"anyOf": [{"type": "integer"}, {"type": "string"}], "default": 0, "description": "Allowed difference with respect to n (default: 0), can be suffixed by ``(k|M|G|T|P|E)i?``", "title": "Delta"}, "min": {"anyOf": [{"type": "string"}, {"type": "integer"}, {"type": "null"}], "default": null, "description": "Minimum number (default: -infinity), can be suffixed by ``(k|M|G|T|P|E)i?``", "title": "Min"}, "max": {"anyOf": [{"type": "string"}, {"type": "integer"}, {"type": "null"}], "default": null, "description": "Maximum number (default: infinity), can be suffixed by ``(k|M|G|T|P|E)i?``", "title": "Max"}, "negate": {"anyOf": [{"type": "boolean"}, {"type": "string"}], "default": false, "description": "A boolean that can be set to true to negate the outcome of the assertion.", "title": "Negate"}, "that": {"const": "has_text_matching", "default": "has_text_matching", "enum": ["has_text_matching"], "title": "That", "type": "string"}}, "required": ["expression"], "title": "has_text_matching_model", "type": "object"}, "has_text_matching_model_nested": {"additionalProperties": false, "description": "Nested version of this assertion model.", "properties": {"has_text_matching": {"$ref": "#/$defs/base_has_text_matching_model"}}, "required": ["has_text_matching"], "title": "has_text_matching_model_nested", "type": "object"}, "has_text_model": {"additionalProperties": false, "description": "Asserts specified output contains the substring specified by\nthe argument text. The exact number of occurrences can be\noptionally specified by the argument n", "properties": {"text": {"description": "The text to search for in the output.", "title": "Text", "type": "string"}, "n": {"anyOf": [{"type": "string"}, {"type": "integer"}, {"type": "null"}], "default": null, "description": "Desired number, can be suffixed by ``(k|M|G|T|P|E)i?``", "title": "N"}, "delta": {"anyOf": [{"type": "integer"}, {"type": "string"}], "default": 0, "description": "Allowed difference with respect to n (default: 0), can be suffixed by ``(k|M|G|T|P|E)i?``", "title": "Delta"}, "min": {"anyOf": [{"type": "string"}, {"type": "integer"}, {"type": "null"}], "default": null, "description": "Minimum number (default: -infinity), can be suffixed by ``(k|M|G|T|P|E)i?``", "title": "Min"}, "max": {"anyOf": [{"type": "string"}, {"type": "integer"}, {"type": "null"}], "default": null, "description": "Maximum number (default: infinity), can be suffixed by ``(k|M|G|T|P|E)i?``", "title": "Max"}, "negate": {"anyOf": [{"type": "boolean"}, {"type": "string"}], "default": false, "description": "A boolean that can be set to true to negate the outcome of the assertion.", "title": "Negate"}, "that": {"const": "has_text", "default": "has_text", "enum": ["has_text"], "title": "That", "type": "string"}}, "required": ["text"], "title": "has_text_model", "type": "object"}, "has_text_model_nested": {"additionalProperties": false, "description": "Nested version of this assertion model.", "properties": {"has_text": {"$ref": "#/$defs/base_has_text_model"}}, "required": ["has_text"], "title": "has_text_model_nested", "type": "object"}, "is_valid_xml_model": {"additionalProperties": false, "description": "Asserts the output is a valid XML file (e.g. ``<is_valid_xml />``).", "properties": {"that": {"const": "is_valid_xml", "default": "is_valid_xml", "enum": ["is_valid_xml"], "title": "That", "type": "string"}}, "title": "is_valid_xml_model", "type": "object"}, "is_valid_xml_model_nested": {"additionalProperties": false, "description": "Nested version of this assertion model.", "properties": {"is_valid_xml": {"$ref": "#/$defs/base_is_valid_xml_model"}}, "required": ["is_valid_xml"], "title": "is_valid_xml_model_nested", "type": "object"}, "not_has_text_model": {"additionalProperties": false, "description": "Asserts specified output does not contain the substring\nspecified by the argument text", "properties": {"text": {"description": "The text to search for in the output.", "title": "Text", "type": "string"}, "that": {"const": "not_has_text", "default": "not_has_text", "enum": ["not_has_text"], "title": "That", "type": "string"}}, "required": ["text"], "title": "not_has_text_model", "type": "object"}, "not_has_text_model_nested": {"additionalProperties": false, "description": "Nested version of this assertion model.", "properties": {"not_has_text": {"$ref": "#/$defs/base_not_has_text_model"}}, "required": ["not_has_text"], "title": "not_has_text_model_nested", "type": "object"}, "xml_element_model": {"additionalProperties": false, "description": "Assert if the XML file contains element(s) or tag(s) with the specified\n[XPath-like ``path``](https://lxml.de/xpathxslt.html). If ``n`` and ``delta``\nor ``min`` and ``max`` are given also the number of occurences is checked.\n\n```xml\n<assert_contents>\n <xml_element path=\"./elem\"/>\n <xml_element path=\"./elem/more[2]\"/>\n <xml_element path=\".//more\" n=\"3\" delta=\"1\"/>\n</assert_contents>\n```\n\nWith ``negate=\"true\"`` the outcome of the assertions wrt the precence and number\nof ``path`` can be negated. If there are any sub assertions then check them against\n\n- the content of the attribute ``attribute``\n- the element's text if no attribute is given\n\n```xml\n<assert_contents>\n <xml_element path=\"./elem/more[2]\" attribute=\"name\">\n <has_text_matching expression=\"foo$\"/>\n </xml_element>\n</assert_contents>\n```\n\nSub-assertions are not subject to the ``negate`` attribute of ``xml_element``.\nIf ``all`` is ``true`` then the sub assertions are checked for all occurences.\n\nNote that all other XML assertions can be expressed by this assertion (Galaxy\nalso implements the other assertions by calling this one).", "properties": {"path": {"description": "The Python xpath-like expression to find the target element.", "title": "Path", "type": "string"}, "attribute": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "description": "The XML attribute name to test against from the target XML element.", "title": "Attribute"}, "all": {"anyOf": [{"type": "boolean"}, {"type": "string"}], "default": false, "description": "Check the sub-assertions for all paths matching the path. Default: false, i.e. only the first ", "title": "All"}, "n": {"anyOf": [{"type": "string"}, {"type": "integer"}, {"type": "null"}], "default": null, "description": "Desired number, can be suffixed by ``(k|M|G|T|P|E)i?``", "title": "N"}, "delta": {"anyOf": [{"type": "integer"}, {"type": "string"}], "default": 0, "description": "Allowed difference with respect to n (default: 0), can be suffixed by ``(k|M|G|T|P|E)i?``", "title": "Delta"}, "min": {"anyOf": [{"type": "string"}, {"type": "integer"}, {"type": "null"}], "default": null, "description": "Minimum number (default: -infinity), can be suffixed by ``(k|M|G|T|P|E)i?``", "title": "Min"}, "max": {"anyOf": [{"type": "string"}, {"type": "integer"}, {"type": "null"}], "default": null, "description": "Maximum number (default: infinity), can be suffixed by ``(k|M|G|T|P|E)i?``", "title": "Max"}, "negate": {"anyOf": [{"type": "boolean"}, {"type": "string"}], "default": false, "description": "A boolean that can be set to true to negate the outcome of the assertion.", "title": "Negate"}, "children": {"anyOf": [{"$ref": "#/$defs/RootModel_List_Union_Annotated_Union_has_line_model__has_line_matching_model__has_n_lines_model__has_text_model__has_text_matching_model__not_has_text_model__has_n_columns_model__attribute_is_model__attribute_matches_model__element_text_model__element_text_is_model__element_text_matches_model__has_element_with_path_model__has_n_elements_with_path_model__is_valid_xml_model__xml_element_model__has_json_property_with_text_model__has_json_property_with_value_model__has_h5_attribute_model__has_h5_keys_model__has_archive_member_model__has_size_model__has_image_center_of_mass_model__has_image_channels_model__has_image_height_model__has_image_mean_intensity_model__has_image_mean_object_size_model__has_image_n_labels_model__has_image_width_model___FieldInfo_annotation_NoneType__required_True__discriminator__that_____has_line_model_nested__has_line_matching_model_nested__has_n_lines_model_nested__has_text_model_nested__has_text_matching_model_nested__not_has_text_model_nested__has_n_columns_model_nested__attribute_is_model_nested__attribute_matches_model_nested__element_text_model_nested__element_text_is_model_nested__element_text_matches_model_nested__has_element_with_path_model_nested__has_n_elements_with_path_model_nested__is_valid_xml_model_nested__xml_element_model_nested__has_json_property_with_text_model_nested__has_json_property_with_value_model_nested__has_h5_attribute_model_nested__has_h5_keys_model_nested__has_archive_member_model_nested__has_size_model_nested__has_image_center_of_mass_model_nested__has_image_channels_model_nested__has_image_height_model_nested__has_image_mean_intensity_model_nested__has_image_mean_object_size_model_nested__has_image_n_labels_model_nested__has_image_width_model_nested___"}, {"type": "null"}], "default": null}, "asserts": {"anyOf": [{"$ref": "#/$defs/RootModel_List_Union_Annotated_Union_has_line_model__has_line_matching_model__has_n_lines_model__has_text_model__has_text_matching_model__not_has_text_model__has_n_columns_model__attribute_is_model__attribute_matches_model__element_text_model__element_text_is_model__element_text_matches_model__has_element_with_path_model__has_n_elements_with_path_model__is_valid_xml_model__xml_element_model__has_json_property_with_text_model__has_json_property_with_value_model__has_h5_attribute_model__has_h5_keys_model__has_archive_member_model__has_size_model__has_image_center_of_mass_model__has_image_channels_model__has_image_height_model__has_image_mean_intensity_model__has_image_mean_object_size_model__has_image_n_labels_model__has_image_width_model___FieldInfo_annotation_NoneType__required_True__discriminator__that_____has_line_model_nested__has_line_matching_model_nested__has_n_lines_model_nested__has_text_model_nested__has_text_matching_model_nested__not_has_text_model_nested__has_n_columns_model_nested__attribute_is_model_nested__attribute_matches_model_nested__element_text_model_nested__element_text_is_model_nested__element_text_matches_model_nested__has_element_with_path_model_nested__has_n_elements_with_path_model_nested__is_valid_xml_model_nested__xml_element_model_nested__has_json_property_with_text_model_nested__has_json_property_with_value_model_nested__has_h5_attribute_model_nested__has_h5_keys_model_nested__has_archive_member_model_nested__has_size_model_nested__has_image_center_of_mass_model_nested__has_image_channels_model_nested__has_image_height_model_nested__has_image_mean_intensity_model_nested__has_image_mean_object_size_model_nested__has_image_n_labels_model_nested__has_image_width_model_nested___"}, {"type": "null"}], "default": null}, "that": {"const": "xml_element", "default": "xml_element", "enum": ["xml_element"], "title": "That", "type": "string"}}, "required": ["path"], "title": "xml_element_model", "type": "object"}, "xml_element_model_nested": {"additionalProperties": false, "description": "Nested version of this assertion model.", "properties": {"xml_element": {"$ref": "#/$defs/base_xml_element_model"}}, "required": ["xml_element"], "title": "xml_element_model_nested", "type": "object"}}, "items": {"$ref": "#/$defs/TestJob"}, "title": "RootModel[List[TestJob]]", "type": "array"}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment