Skip to content

Commit d87e8a0

Browse files
committed
Added extra test for coverage
1 parent fe80b75 commit d87e8a0

1 file changed

Lines changed: 86 additions & 0 deletions

File tree

tests/discovery_tests/test_abstract_discovery.py

Lines changed: 86 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -176,6 +176,92 @@ def test_write_dot_invalid_independence_outcome(self):
176176
with self.assertRaises(ValueError):
177177
abstract_discovery.write_dot(dag, "dag.dot")
178178

179+
def test_evaluate_tests_inestimable(self):
180+
scarf_df = pd.read_csv("tests/resources/data/scarf_data.csv")
181+
scarf_df = scarf_df.loc[(scarf_df["completed"]) & (scarf_df["color"] != "grey")]
182+
183+
dag = CausalDAG()
184+
dag.add_nodes_from(scarf_df.columns)
185+
dag.add_edges_from([("length_in", "completed"), ("large_gauge", "completed")])
186+
187+
abstract_discovery = AbstractDiscovery(scarf_df)
188+
test_results = abstract_discovery.evaluate_tests(dag)
189+
expected_results = pd.DataFrame(
190+
[
191+
{
192+
"result": TestResult.PASS,
193+
"expected_effect": "NoEffect",
194+
"treatment": "length_in",
195+
"outcome": "large_gauge",
196+
"effect": "negative",
197+
},
198+
{
199+
"result": TestResult.PASS,
200+
"expected_effect": "NoEffect",
201+
"treatment": "large_gauge",
202+
"outcome": "length_in",
203+
"effect": "negative",
204+
},
205+
{
206+
"result": TestResult.PASS,
207+
"expected_effect": "NoEffect",
208+
"treatment": "length_in",
209+
"outcome": "color",
210+
"effect": None,
211+
},
212+
{
213+
"result": TestResult.PASS,
214+
"expected_effect": "NoEffect",
215+
"treatment": "color",
216+
"outcome": "length_in",
217+
"effect": None,
218+
},
219+
{
220+
"result": TestResult.FAIL,
221+
"expected_effect": "SomeEffect",
222+
"treatment": "length_in",
223+
"outcome": "completed",
224+
"effect": "negative",
225+
},
226+
{
227+
"result": TestResult.PASS,
228+
"expected_effect": "NoEffect",
229+
"treatment": "large_gauge",
230+
"outcome": "color",
231+
"effect": None,
232+
},
233+
{
234+
"result": TestResult.PASS,
235+
"expected_effect": "NoEffect",
236+
"treatment": "color",
237+
"outcome": "large_gauge",
238+
"effect": None,
239+
},
240+
{
241+
"result": TestResult.FAIL,
242+
"expected_effect": "SomeEffect",
243+
"treatment": "large_gauge",
244+
"outcome": "completed",
245+
"effect": "negative",
246+
},
247+
{
248+
"result": TestResult.PASS,
249+
"expected_effect": "NoEffect",
250+
"treatment": "color",
251+
"outcome": "completed",
252+
"effect": None,
253+
},
254+
{
255+
"result": TestResult.INESTIMABLE,
256+
"expected_effect": "NoEffect",
257+
"treatment": "completed",
258+
"outcome": "color",
259+
"effect": None,
260+
},
261+
]
262+
)
263+
pd.testing.assert_frame_equal(test_results, expected_results)
264+
179265
def test_evaluate_tests(self):
180266
scarf_df = pd.read_csv("tests/resources/data/scarf_data.csv")
181267

0 commit comments

Comments
 (0)