Skip to content
Snippets Groups Projects
Commit 08bc418d authored by Niklas Selke's avatar Niklas Selke
Browse files

Merged the '.gitignore' files. Moved the sample data creation for the tests.

parent 65d273d6
No related branches found
No related tags found
2 merge requests!9Develop,!7Niklas issue005 refac refactor and expand testing
# Ignore compiled files
*.pyc
# Ignore test files
/.coverage
/tests/.pytest_cache/
/tests/sample_data/
/tests/reference_results/
# Ignore package build directory
/toarstats.egg-info/
# Ignore sample and reference data
/sample_data/
/reference_results/
from collections import namedtuple
from configparser import ConfigParser
from pathlib import Path
import numpy as np
import pandas as pd
import pytest
def create_sample_data(sample_data_dir):
sample_data_dir.mkdir(exist_ok=True)
datetime_index = pd.date_range(start="2011-04-17 09:00", periods=100000,
freq="H")
values = np.random.default_rng().uniform(13.4, 61.7, len(datetime_index))
values[np.random.default_rng().choice(values.size,
size=int(0.085*values.size),
replace=False)] = np.nan
pd.Series(values, datetime_index).dropna().to_csv(
Path(sample_data_dir, "sample_data.csv"), header=False
)
Path(sample_data_dir, "sample_metadata.cfg").write_text(
"[METADATA]\n"
"station_lat: 50.906389\n"
"station_lon: 6.403889\n"
"station_climatic_zone: 3\n",
encoding="utf-8"
)
@pytest.fixture
def sample_data():
sample_data_file = Path(
Path(__file__).resolve().parent, "sample_data/sample_data.csv"
)
if not sample_data_file.is_file():
create_sample_data(sample_data_file.parent)
return pd.read_csv(
sample_data_file,
header=None, index_col=0, parse_dates=True
)
@pytest.fixture
def sample_metadata():
sample_metadata_file = Path(
Path(__file__).resolve().parent, "sample_data/sample_metadata.cfg"
)
if not sample_metadata_file.is_file():
create_sample_data(sample_metadata_file.parent)
parser = ConfigParser()
with open(sample_metadata_file, encoding="utf-8") as file:
parser.read_file(file)
Metadata = namedtuple("Metadata", ["station_lat", "station_lon",
"station_climatic_zone"])
return Metadata(parser.getfloat("METADATA", "station_lat"),
parser.getfloat("METADATA", "station_lon"),
parser.getint("METADATA", "station_climatic_zone"))
import ast
from collections import namedtuple
from configparser import ConfigParser
from pathlib import Path
import numpy as np
import pandas as pd
import pytest
from tests.create_data_metadata import sample_data, sample_metadata
from toarstats.metrics.interface import calculate_statistics
from toarstats.metrics.stats_utils import STATS_LIST
def create_sample_data(sample_data_dir):
sample_data_dir.mkdir(exist_ok=True)
datetime_index = pd.date_range(start="2011-04-17 09:00", periods=100000,
freq="H")
values = np.random.default_rng().uniform(13.4, 61.7, len(datetime_index))
values[np.random.default_rng().choice(values.size,
size=int(0.085*values.size),
replace=False)] = np.nan
pd.Series(values, datetime_index).dropna().to_csv(
Path(sample_data_dir, "sample_data.csv"), header=False
)
Path(sample_data_dir, "sample_metadata.cfg").write_text(
"[METADATA]\n"
"station_lat: 50.906389\n"
"station_lon: 6.403889\n"
"station_climatic_zone: 3\n",
encoding="utf-8"
)
def get_all_statistics():
return set(STATS_LIST)
......@@ -50,33 +29,6 @@ def get_all_samplings():
return samplings
@pytest.fixture
def sample_data():
sample_data_file = Path(
Path(__file__).resolve().parent, "sample_data/sample_data.csv"
)
if not sample_data_file.is_file():
create_sample_data(sample_data_file.parent)
return pd.read_csv(
sample_data_file,
header=None, index_col=0, parse_dates=True
)
@pytest.fixture
def sample_metadata():
parser = ConfigParser()
with open(Path(Path(__file__).resolve().parent,
"sample_data/sample_metadata.cfg"),
encoding="utf-8") as file:
parser.read_file(file)
Metadata = namedtuple("Metadata", ["station_lat", "station_lon",
"station_climatic_zone"])
return Metadata(parser.getfloat("METADATA", "station_lat"),
parser.getfloat("METADATA", "station_lon"),
parser.getint("METADATA", "station_climatic_zone"))
def test_all_statistics_and_samplings_from_old_versions_implemented():
old_statistics = set()
old_samplings = set()
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment