diff --git a/lib/galaxy/tools/parser/interface.py b/lib/galaxy/tools/parser/interface.py index bc4b7076ccc..969012a8a90 100644 --- a/lib/galaxy/tools/parser/interface.py +++ b/lib/galaxy/tools/parser/interface.py @@ -347,10 +347,11 @@ class TestCollectionDef( object ): class TestCollectionOutputDef( object ): - # TODO: do not require XML directly here. def __init__( self, name, attrib, element_tests ): self.name = name self.collection_type = attrib.get( "type", None ) + count = attrib.get("count", None) + self.count = int(count) if count is not None else None self.attrib = attrib self.element_tests = element_tests diff --git a/test/functional/test_toolbox.py b/test/functional/test_toolbox.py index 4c3dca5f688..4b50e2f0300 100644 --- a/test/functional/test_toolbox.py +++ b/test/functional/test_toolbox.py @@ -213,6 +213,14 @@ class ToolTestCase( TwillTestCase ): message = template % (name, expected_collection_type, collection_type) raise AssertionError(message) + expected_element_count = output_collection_def.count + if expected_element_count: + actual_element_count = len(data_collection[ "elements" ]) + if expected_element_count != actual_element_count: + template = "Expected output collection [%s] to have %s elements, but it had %s." + message = template % (name, expected_element_count, actual_element_count) + raise AssertionError(message) + def verify_elements( element_objects, element_tests ): for element_identifier, ( element_outfile, element_attrib ) in element_tests.items(): element = get_element( element_objects, element_identifier ) diff --git a/test/functional/tools/collection_creates_list.xml b/test/functional/tools/collection_creates_list.xml index 044f31519e9..8cb572821c2 100644 --- a/test/functional/tools/collection_creates_list.xml +++ b/test/functional/tools/collection_creates_list.xml @@ -22,7 +22,7 @@ - +