def test_limit(self):
        query = "ab"

        terms = suggest_terms(query)

        assert 0 < len(terms) <= 5

        terms = suggest_terms(query, limit=3)

        assert 0 < len(terms) <= 3
    def test_comma_separated_matches(self):
        query = "mu"

        terms = suggest_terms(query)

        assert terms == [
            {
                'name': '(MeSH) Abnormalities, Multiple',
                'value': {
                    'value': 'Abnormalities, Multiple',
                    'source': 'MeSH',
                    'id': 'FILL ME'  # TODO: Change id here
                }
            },
        ]
    def test_space_separated_matches(self):
        query = "ba"

        terms = suggest_terms(query)

        assert terms == [
            {
                'name': '(MeSH) Seed Bank',
                'value': {
                    'value': 'Seed Bank',
                    'source': 'MeSH',
                    'id': 'FILL ME'  # TODO: Change id here
                }
            },
        ]
    def test_case_insensitive(self):
        query = "sEe"

        terms = suggest_terms(query)

        assert terms == [
            {
                'name': '(MeSH) Seed Bank',
                'value': {
                    'value': 'Seed Bank',
                    'source': 'MeSH',
                    'id': 'FILL ME'  # TODO: Change id here
                }
            },
        ]
    def test_prefixing_query_matches(self):
        query = "See"

        terms = suggest_terms(query)

        assert terms == [
            {
                'name': '(MeSH) Seed Bank',
                'value': {
                    'value': 'Seed Bank',
                    'source': 'MeSH',
                    'id': 'FILL ME'  # TODO: Change id here
                }
            },
        ]
    def test_source_constrained(self):
        query = "Con"  # Congenital in MeSH, Control in FAST
        source = FAST_SOURCE

        terms = suggest_terms(query, source=source)

        assert terms == [
            {
                'name': '(FAST) Onions--Diseases and pests--Control',
                'value': {
                    'value': 'Onions--Diseases and pests--Control',
                    'source': source,
                    'id': 'FILL ME'  # TODO: Change id here
                }
            },
        ]
    def test_nonprefixing_query_doesnt_match(self):
        query = "Te"

        terms = suggest_terms(query)

        assert terms == []