Last active
October 2, 2024 09:49
-
-
Save mvdbeek/2d87127a33f13c0fb3bd536b368bf44a to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{"$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±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