Skip to content

Commit c80ad28

Browse files
Scott WarchalScott Warchal
Scott Warchal
authored and
Scott Warchal
committed
start of tests (towards #3)
1 parent 2c57a10 commit c80ad28

File tree

11 files changed

+121
-0
lines changed

11 files changed

+121
-0
lines changed

tests/test_colfuncs.py

+37
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
"""
2+
tests for meld.colfuncs
3+
"""
4+
5+
import os
6+
import pandas as pd
7+
import meld.colfuncs
8+
9+
CURRENT_PATH = os.path.dirname(__file__)
10+
TEST_PATH = os.path.join(CURRENT_PATH, "test_data", "test_run0/DATA.csv")
11+
12+
def test_collapse_cols():
13+
"""meld.colfuncs.collapse_cols(dataframe, sep)"""
14+
example_df = pd.read_csv(TEST_PATH, header=[0,1])
15+
collapsed_colnames = meld.colfuncs.collapse_cols(example_df, sep="_")
16+
example_df.columns = collapsed_colnames
17+
expected_colnames = ["Image_ImageNumber",
18+
"Image_Intensity_channel_1",
19+
"Cell_Area",
20+
"Cell_Eccentricity",
21+
"Nucleus_Area",
22+
"Nucleus_Eccentricity",
23+
"Metadata_Well"]
24+
assert collapsed_colnames == expected_colnames
25+
26+
27+
def test_inflate_cols():
28+
"""meld.colfuncs.inflate_cols(dataframe)"""
29+
# create example dataframe
30+
example_df = pd.DataFrame(
31+
{"Image_ImageNumber": [1, 2, 3],
32+
"Cell_Area" : [20, 20, 20],
33+
"Nuclei_Perimeter" : [15, 15, 15]}
34+
)
35+
example_df.columns = meld.colfuncs.inflate_cols(example_df, sep="_")
36+
# check the columns are MultiIndexed
37+
assert isinstance(example_df.columns, pd.core.index.MultiIndex)

tests/test_data/test_run0/DATA.csv

+8
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
Image,Image,Cell,Cell,Nucleus,Nucleus,Metadata
2+
ImageNumber,Intensity_channel_1,Area,Eccentricity,Area,Eccentricity,Well
3+
1,0.1,10,0.5,2,0.2,A01
4+
1,0.1,10,0.5,2,0.2,A01
5+
1,0.3,10,0.5,2,0.2,A01
6+
2,0.2,20,0.5,3,0.2,A01
7+
2,0.3,20,0.5,3,0.2,A01
8+
2,0.5,30,0.5,3,0.2,A01

tests/test_data/test_run0/Image.csv

Whitespace-only changes.

tests/test_data/test_run1/DATA.csv

+8
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
Image,Image,Cell,Cell,Nucleus,Nucleus,Metadata
2+
ImageNumber,Intensity_channel_1,Area,Eccentricity,Area,Eccentricity,Well
3+
1,0.1,5,0.5,2,0.1,A02
4+
1,0.1,5,0.5,2,0.1,A02
5+
1,0.3,10,0.5,2,0.2,A02
6+
2,0.2,15,0.5,3,0.1,A02
7+
2,0.3,15,0.5,3,0.2,A02
8+
2,0.5,15,0.5,3,0.1,A02

tests/test_data/test_run1/Image.csv

Whitespace-only changes.

tests/test_data/test_run2/DATA.csv

+8
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
Image,Image,Cell,Cell,Nucleus,Nucleus,Metadata
2+
ImageNumber,Intensity_channel_1,Area,Eccentricity,Area,Eccentricity,Well
3+
1,0.3,10,0.5,2,0.2,A03
4+
1,0.2,10,0.5,2,0.2,A03
5+
1,0.1,10,0.5,2,0.2,A03
6+
2,0.5,20,0.5,3,0.2,A03
7+
2,0.4,20,0.5,3,0.2,A03
8+
2,0.5,30,0.5,3,0.2,A03

tests/test_data/test_run2/Image.csv

Whitespace-only changes.

tests/test_data/test_run3/DATA.csv

+8
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
Image,Image,Cell,Cell,Nucleus,Nucleus,Metadata
2+
ImageNumber,Intensity_channel_1,Area,Eccentricity,Area,Eccentricity,Well
3+
1,0.1,10,0.5,2,0.1,A04
4+
1,0.1,10,0.5,2,0.1,A04
5+
1,0.3,10,0.5,2,0.1,A04
6+
2,0.2,20,0.5,3,0.1,A04
7+
2,0.3,20,0.5,3,0.1,A04
8+
2,0.5,30,0.5,3,0.1,A04

tests/test_data/test_run3/Image.csv

Whitespace-only changes.

tests/test_merge_to_db.py

+20
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
"""
2+
tests for meld.merge_to_db
3+
"""
4+
5+
6+
def test_create_db():
7+
"""meld.merge_to_db.Merger.create_db(location, db_name)"""
8+
assert False
9+
10+
11+
# TODO
12+
def test_to_db():
13+
"""meld.merge_to_db.Merger.to_db(select, header)"""
14+
assert False
15+
16+
17+
# TODO
18+
def test_to_db_agg():
19+
"""meld.merge_to_db.Merger.to_db_agg(select, header, by, method, prefix)"""
20+
assert False

tests/test_utils.py

+32
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
"""
2+
tests for meld.utils
3+
"""
4+
5+
6+
def test_aggregate():
7+
"""meld.utils.aggregate(data, on, method)"""
8+
assert False
9+
10+
11+
# TODO
12+
def test__check_inputs():
13+
"""meld.utils._check_inputs(data, on, method)"""
14+
assert False
15+
16+
17+
# TODO
18+
def test__check_featuredata():
19+
"""meld.utils._check_featuredata(data, on)"""
20+
assert False
21+
22+
23+
# TODO
24+
def test_get_featuredata():
25+
"""meld.utils.get_featuredata(data, metadata_string, prefix)"""
26+
assert False
27+
28+
29+
# TODO
30+
def test_get_metadata():
31+
"""meld.utils.get_metadata(data, metadata_string, prefix=False)"""
32+
assert False

0 commit comments

Comments
 (0)