Passed
Push — master ( 9e2dce...7c2d4e )
by Daniel
03:55
created

conftest   A

Complexity

Total Complexity 7

Size/Duplication

Total Lines 35
Duplicated Lines 0 %

Importance

Changes 0
Metric Value
wmc 7
eloc 27
dl 0
loc 35
rs 10
c 0
b 0
f 0

3 Functions

Rating   Name   Duplication   Size   Complexity  
A reference_data() 0 14 4
A data_dir() 0 3 1
A ccdc_enabled() 0 7 2
1
import os
2
import pickle
3
import pytest
4
import pathlib
5
6
7
@pytest.fixture(scope='session', autouse=True)
8
def data_dir():
9
    return pathlib.Path(__file__).absolute().parent / 'data'
10
11
12
@pytest.fixture(scope='session', autouse=True)
13
def ccdc_enabled():
14
    try:
15
        import ccdc
16
        return True
17
    except Exception:
18
        return False
19
20
21
@pytest.fixture(scope='session', autouse=True)
22
def reference_data(data_dir):
23
    """Data fixture of amd.PeriodicSet objects to use in tests."""
24
25
    filenames = ['cubic', 'T2_experimental', 'CSD_families']
26
    refs = {}
27
    for name in filenames:
28
        path = str(data_dir / f'{name}.pkl')
29
        with open(path, 'rb') as f:
30
            data = pickle.load(f)
31
            if not data:
32
                raise ValueError(f'Data not found in path {path}')
33
            refs[name] = data
34
    return refs
35