Skip to content

Commit

Permalink
Update tests and coverage
Browse files Browse the repository at this point in the history
  • Loading branch information
jvivian committed Oct 17, 2023
1 parent 4de8684 commit eb7e2ed
Show file tree
Hide file tree
Showing 4 changed files with 84 additions and 81 deletions.
Binary file modified .coverage
Binary file not shown.
138 changes: 65 additions & 73 deletions coverage.xml
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
<?xml version="1.0" ?>
<coverage version="7.3.1" timestamp="1696393926662" lines-valid="123" lines-covered="92" line-rate="0.748" branches-valid="44" branches-covered="34" branch-rate="0.7727" complexity="0">
<coverage version="7.3.1" timestamp="1697579914664" lines-valid="115" lines-covered="115" line-rate="1" branches-valid="42" branches-covered="42" branch-rate="1" complexity="0">
<!-- Generated by coverage.py: https://coverage.readthedocs.io/en/7.3.1 -->
<!-- Based on https://raw.githubusercontent.com/cobertura/web/master/htdocs/xml/coverage-04.dtd -->
<sources>
<source>/home/jvivian/covid19-drDFM/covid19_drdfm</source>
</sources>
<packages>
<package name="." line-rate="0.748" branch-rate="0.7727" complexity="0">
<package name="." line-rate="1" branch-rate="1" complexity="0">
<classes>
<class name="cli.py" filename="cli.py" complexity="0" line-rate="1" branch-rate="1">
<methods/>
Expand All @@ -32,7 +32,7 @@
<line number="46" hits="1"/>
</lines>
</class>
<class name="dfm.py" filename="dfm.py" complexity="0" line-rate="0.4655" branch-rate="0.375">
<class name="dfm.py" filename="dfm.py" complexity="0" line-rate="1" branch-rate="1">
<methods/>
<lines>
<line number="6" hits="1"/>
Expand All @@ -51,48 +51,45 @@
<line number="33" hits="1"/>
<line number="43" hits="1"/>
<line number="45" hits="1"/>
<line number="46" hits="1"/>
<line number="47" hits="1" branch="true" condition-coverage="100% (2/2)"/>
<line number="46" hits="1" branch="true" condition-coverage="100% (2/2)"/>
<line number="47" hits="1"/>
<line number="48" hits="1"/>
<line number="49" hits="1"/>
<line number="50" hits="0"/>
<line number="51" hits="0"/>
<line number="54" hits="1"/>
<line number="64" hits="0"/>
<line number="65" hits="0"/>
<line number="66" hits="0"/>
<line number="67" hits="0"/>
<line number="69" hits="0"/>
<line number="70" hits="0" branch="true" condition-coverage="0% (0/2)" missing-branches="71,76"/>
<line number="71" hits="0"/>
<line number="72" hits="0"/>
<line number="73" hits="0" branch="true" condition-coverage="0% (0/2)" missing-branches="70,74"/>
<line number="74" hits="0"/>
<line number="76" hits="0"/>
<line number="77" hits="0"/>
<line number="81" hits="1"/>
<line number="90" hits="0"/>
<line number="91" hits="0"/>
<line number="92" hits="0" branch="true" condition-coverage="0% (0/2)" missing-branches="93,95"/>
<line number="93" hits="0"/>
<line number="94" hits="0"/>
<line number="95" hits="0"/>
<line number="98" hits="1"/>
<line number="50" hits="1"/>
<line number="53" hits="1"/>
<line number="62" hits="1"/>
<line number="64" hits="1"/>
<line number="65" hits="1"/>
<line number="66" hits="1"/>
<line number="67" hits="1"/>
<line number="69" hits="1"/>
<line number="70" hits="1" branch="true" condition-coverage="100% (2/2)"/>
<line number="71" hits="1"/>
<line number="72" hits="1"/>
<line number="73" hits="1" branch="true" condition-coverage="100% (2/2)"/>
<line number="74" hits="1"/>
<line number="76" hits="1"/>
<line number="77" hits="1"/>
<line number="80" hits="1"/>
<line number="93" hits="1"/>
<line number="94" hits="1" branch="true" condition-coverage="100% (2/2)"/>
<line number="97" hits="1"/>
<line number="99" hits="1"/>
<line number="100" hits="1"/>
<line number="101" hits="1"/>
<line number="102" hits="1"/>
<line number="103" hits="1"/>
<line number="104" hits="1"/>
<line number="106" hits="1"/>
<line number="107" hits="1"/>
<line number="108" hits="1"/>
<line number="109" hits="1"/>
<line number="110" hits="1"/>
<line number="111" hits="1" branch="true" condition-coverage="100% (2/2)"/>
<line number="112" hits="1"/>
<line number="113" hits="1"/>
<line number="114" hits="0"/>
<line number="115" hits="0"/>
<line number="116" hits="0"/>
<line number="117" hits="0"/>
<line number="118" hits="0"/>
<line number="119" hits="0"/>
<line number="120" hits="0" branch="true" condition-coverage="0% (0/2)" missing-branches="121,122"/>
<line number="121" hits="0"/>
<line number="122" hits="0" branch="true" condition-coverage="0% (0/2)" missing-branches="123,124"/>
<line number="123" hits="0"/>
<line number="124" hits="0"/>
<line number="113" hits="1" branch="true" condition-coverage="100% (2/2)"/>
<line number="114" hits="1"/>
<line number="115" hits="1"/>
</lines>
</class>
<class name="processing.py" filename="processing.py" complexity="0" line-rate="1" branch-rate="1">
Expand All @@ -107,43 +104,38 @@
<line number="17" hits="1"/>
<line number="18" hits="1"/>
<line number="21" hits="1"/>
<line number="27" hits="1"/>
<line number="28" hits="1"/>
<line number="29" hits="1"/>
<line number="30" hits="1"/>
<line number="33" hits="1"/>
<line number="35" hits="1"/>
<line number="36" hits="1" branch="true" condition-coverage="100% (2/2)"/>
<line number="37" hits="1"/>
<line number="38" hits="1" branch="true" condition-coverage="100% (2/2)"/>
<line number="39" hits="1"/>
<line number="40" hits="1" branch="true" condition-coverage="100% (2/2)"/>
<line number="41" hits="1"/>
<line number="43" hits="1"/>
<line number="27" hits="1" branch="true" condition-coverage="100% (2/2)"/>
<line number="28" hits="1" branch="true" condition-coverage="100% (2/2)"/>
<line number="29" hits="1" branch="true" condition-coverage="100% (2/2)"/>
<line number="30" hits="1" branch="true" condition-coverage="100% (2/2)"/>
<line number="40" hits="1"/>
<line number="42" hits="1"/>
<line number="43" hits="1" branch="true" condition-coverage="100% (2/2)"/>
<line number="44" hits="1"/>
<line number="45" hits="1" branch="true" condition-coverage="100% (2/2)"/>
<line number="46" hits="1"/>
<line number="52" hits="1" branch="true" condition-coverage="100% (2/2)"/>
<line number="53" hits="1" branch="true" condition-coverage="100% (2/2)"/>
<line number="54" hits="1" branch="true" condition-coverage="100% (2/2)"/>
<line number="55" hits="1" branch="true" condition-coverage="100% (2/2)"/>
<line number="58" hits="1"/>
<line number="64" hits="1" branch="true" condition-coverage="100% (2/2)"/>
<line number="65" hits="1" branch="true" condition-coverage="100% (2/2)"/>
<line number="68" hits="1"/>
<line number="77" hits="1" branch="true" condition-coverage="100% (2/2)"/>
<line number="88" hits="1"/>
<line number="47" hits="1" branch="true" condition-coverage="100% (2/2)"/>
<line number="48" hits="1"/>
<line number="50" hits="1"/>
<line number="53" hits="1"/>
<line number="59" hits="1" branch="true" condition-coverage="100% (2/2)"/>
<line number="60" hits="1" branch="true" condition-coverage="100% (2/2)"/>
<line number="63" hits="1"/>
<line number="72" hits="1" branch="true" condition-coverage="100% (2/2)"/>
<line number="83" hits="1"/>
<line number="92" hits="1"/>
<line number="93" hits="1" branch="true" condition-coverage="100% (2/2)"/>
<line number="94" hits="1" branch="true" condition-coverage="100% (2/2)"/>
<line number="95" hits="1"/>
<line number="96" hits="1"/>
<line number="97" hits="1"/>
<line number="98" hits="1" branch="true" condition-coverage="100% (2/2)"/>
<line number="99" hits="1" branch="true" condition-coverage="100% (2/2)"/>
<line number="99" hits="1"/>
<line number="100" hits="1"/>
<line number="101" hits="1"/>
<line number="102" hits="1"/>
<line number="103" hits="1" branch="true" condition-coverage="100% (2/2)"/>
<line number="104" hits="1"/>
<line number="105" hits="1"/>
<line number="108" hits="1"/>
<line number="117" hits="1" branch="true" condition-coverage="100% (2/2)"/>
<line number="118" hits="1"/>
<line number="119" hits="1"/>
<line number="103" hits="1"/>
<line number="112" hits="1" branch="true" condition-coverage="100% (2/2)"/>
<line number="113" hits="1"/>
<line number="114" hits="1"/>
</lines>
</class>
</classes>
Expand Down
8 changes: 4 additions & 4 deletions tests/test_dfm.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,12 @@
from pathlib import Path

from covid19_drdfm.dfm import run_model
from covid19_drdfm.processing import run

from covid19_drdfm.processing import get_df

# TODO: output should go in a directory instead of dumping shit everywhere
def test_run_model():
raw = run()
run_model(raw, "NY", "./")
df = get_df()
run_model(df, "NY", Path("./"))
assert Path("./model.csv").exists()
assert Path("./results.csv").exists()
os.remove("./model.csv")
Expand Down
19 changes: 15 additions & 4 deletions tests/test_processing.py
Original file line number Diff line number Diff line change
@@ -1,16 +1,27 @@
import pandas as pd
import pytest
from functools import reduce


from covid19_drdfm.processing import (
add_datetime,
adjust_inflation,
adjust_pandemic_response,
get_df,
get_govt_fund_dist,
run,
DATA_DIR,
ROOT_DIR,
)


@pytest.fixture
def raw_data() -> pd.DataFrame:
with open(DATA_DIR / "df_paths.txt") as f:
paths = [ROOT_DIR / x.strip() for x in f.readlines()]
dfs = [pd.read_csv(x) for x in paths]
return reduce(lambda x, y: pd.merge(x, y, on=["State", "Year", "Period"], how="left"), dfs).fillna(0)


# Fixture to load test data
@pytest.fixture
def sample_data() -> pd.DataFrame:
Expand Down Expand Up @@ -39,14 +50,14 @@ def test_adjust_pandemic_response(sample_data):
assert df[r].sum() == out[r].sum()


def test_fix_datetime(sample_data):
input_df = sample_data.copy()
def test_fix_datetime(raw_data):
input_df = raw_data.copy()
output_df = add_datetime(input_df)
assert isinstance(output_df["Time"][0], pd.Timestamp)


def test_run():
df = run()
df = get_df()
expected_columns = ["State", "Supply_1", "Demand_1", "Pandemic_Response_13", "Time"]
assert all(col in df.columns for col in expected_columns)

Expand Down

0 comments on commit eb7e2ed

Please sign in to comment.