Passed
Branch master (ea367e)
by Osma
02:12
created

test_get_project_en()   B

Complexity

Conditions 7

Size

Total Lines 8

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
cc 7
c 1
b 0
f 0
dl 0
loc 8
rs 7.3333
1
"""Unit tests for projects in Annif"""
2
3
import pytest
4
import annif.project
5
import annif.backend.dummy
6
7
8
def test_get_project_en():
9
    project = annif.project.get_project('myproject-en')
10
    assert project.project_id == 'myproject-en'
11
    assert project.language == 'en'
12
    assert project.analyzer == 'english'
13
    assert len(project.backends) == 1
14
    assert isinstance(project.backends[0][0], annif.backend.dummy.DummyBackend)
15
    assert project.backends[0][1] == 0.5
16
17
18
def test_get_project_fi():
19
    project = annif.project.get_project('myproject-fi')
20
    assert project.project_id == 'myproject-fi'
21
    assert project.language == 'fi'
22
    assert project.analyzer == 'finnish'
23
    assert len(project.backends) == 1
24
    assert isinstance(project.backends[0][0], annif.backend.dummy.DummyBackend)
25
    assert project.backends[0][1] == 1.0
26
27
28
def test_get_project_fi_dump():
29
    project = annif.project.get_project('myproject-fi')
30
    pdump = project.dump()
31
    assert pdump == {
32
        'project_id': 'myproject-fi',
33
        'language': 'fi',
34
        'analyzer': 'finnish',
35
        'backends': [{
36
            'backend_id': 'dummy',
37
            'weight': 1.0
38
        }]
39
    }
40
41
42
def test_get_project_nonexistent():
43
    with pytest.raises(ValueError):
44
        annif.project.get_project('nonexistent')
45
46
47
def test_project_analyze():
48
    project = annif.project.get_project('myproject-en')
49
    result = project.analyze('this is some text', limit=10, threshold=0.0)
50
    assert len(result) == 1
51
    assert result[0].uri == 'http://example.org/dummy'
52
    assert result[0].label == 'dummy'
53
    assert result[0].score == 0.5
54