mirror of
https://github.com/galaxyproject/galaxy.git
synced 2026-11-04 23:43:20 +08:00
75 lines
3.2 KiB
Python
75 lines
3.2 KiB
Python
from galaxy.model.dataset_collections.structure import get_structure
|
|
from galaxy.model.dataset_collections.type_description import CollectionTypeDescriptionFactory
|
|
from .test_matching import (
|
|
list_of_lists_instance,
|
|
list_of_paired_and_unpaired_instance,
|
|
list_paired_instance,
|
|
pair_instance,
|
|
)
|
|
|
|
factory = CollectionTypeDescriptionFactory(None)
|
|
|
|
|
|
def test_get_structure_simple():
|
|
paired_type_description = factory.for_collection_type("paired")
|
|
tree = get_structure(pair_instance(), paired_type_description)
|
|
assert len(tree.children) == 2
|
|
assert tree.children[0][0] == "left" # why not forward?
|
|
assert tree.children[0][1].is_leaf
|
|
|
|
|
|
def test_get_structure_list_paired_over_paired():
|
|
paired_type_description = factory.for_collection_type("list:paired")
|
|
tree = get_structure(list_paired_instance(), paired_type_description, "paired")
|
|
assert tree.collection_type_description.collection_type == "list"
|
|
assert len(tree.children) == 3
|
|
assert tree.children[0][0] == "data1"
|
|
assert tree.children[0][1].is_leaf
|
|
|
|
|
|
def test_get_structure_list_of_lists():
|
|
list_of_lists_type_description = factory.for_collection_type("list:list")
|
|
tree = get_structure(list_of_lists_instance(), list_of_lists_type_description)
|
|
assert tree.collection_type_description.collection_type == "list:list"
|
|
assert len(tree.children) == 2
|
|
assert tree.children[0][0] == "outer1"
|
|
assert not tree.children[0][1].is_leaf
|
|
|
|
|
|
def test_get_structure_list_of_lists_over_list():
|
|
list_of_lists_type_description = factory.for_collection_type("list:list")
|
|
tree = get_structure(list_of_lists_instance(), list_of_lists_type_description, "list")
|
|
assert tree.collection_type_description.collection_type == "list"
|
|
assert len(tree.children) == 2
|
|
assert tree.children[0][0] == "outer1"
|
|
assert tree.children[0][1].is_leaf
|
|
|
|
|
|
def test_get_structure_list_paired_or_unpaired():
|
|
list_pair_or_unpaired_description = factory.for_collection_type("list:paired_or_unpaired")
|
|
tree = get_structure(list_of_paired_and_unpaired_instance(), list_pair_or_unpaired_description)
|
|
assert tree.collection_type_description.collection_type == "list:paired_or_unpaired"
|
|
assert len(tree.children) == 2
|
|
assert tree.children[0][0] == "el1"
|
|
assert not tree.children[0][1].is_leaf
|
|
|
|
|
|
def test_get_structure_list_paired_or_unpaired_over_paired_or_unpaired():
|
|
list_pair_or_unpaired_description = factory.for_collection_type("list:paired_or_unpaired")
|
|
tree = get_structure(
|
|
list_of_paired_and_unpaired_instance(), list_pair_or_unpaired_description, "paired_or_unpaired"
|
|
)
|
|
assert tree.collection_type_description.collection_type == "list"
|
|
assert len(tree.children) == 2
|
|
assert tree.children[0][0] == "el1"
|
|
assert tree.children[0][1].is_leaf
|
|
|
|
|
|
def test_get_structure_list_of_lists_over_single_datasests():
|
|
list_of_lists_type_description = factory.for_collection_type("list:list")
|
|
tree = get_structure(list_of_lists_instance(), list_of_lists_type_description, "single_datasets")
|
|
assert tree.collection_type_description.collection_type == "list:list"
|
|
assert len(tree.children) == 2
|
|
assert tree.children[0][0] == "outer1"
|
|
assert not tree.children[0][1].is_leaf
|