Skip to content

Commit 1fc9726

Browse files
committed
Increased test coverage
Signed-off-by: Marvin Hansen <[email protected]>
1 parent 29e3d10 commit 1fc9726

File tree

1 file changed

+50
-36
lines changed

1 file changed

+50
-36
lines changed

deep_causality/tests/types/csm_types/csm_tests.rs

Lines changed: 50 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@
66
use deep_causality::*;
77

88
use deep_causality::utils_test::test_utils;
9-
use deep_causality::utils_test::test_utils::get_test_error_causaloid;
109

1110
// Standard action that succeeds
1211
fn state_action() -> Result<(), ActionError> {
@@ -17,6 +16,14 @@ fn get_test_action() -> CausalAction {
1716
CausalAction::new(state_action, "Test action", 1)
1817
}
1918

19+
fn get_test_error_action() -> CausalAction {
20+
fn err_state_action() -> Result<(), ActionError> {
21+
Err(ActionError("Error".to_string()))
22+
}
23+
24+
CausalAction::new(err_state_action, "Test action", 1)
25+
}
26+
2027
// Causaloid that returns a non-deterministic effect
2128
fn get_test_probabilistic_causaloid() -> BaseCausaloid {
2229
fn causal_fn(_: &Evidence) -> Result<PropagatingEffect, CausalityError> {
@@ -25,6 +32,13 @@ fn get_test_probabilistic_causaloid() -> BaseCausaloid {
2532
Causaloid::new(99, causal_fn, "Probabilistic Causaloid")
2633
}
2734

35+
fn get_test_error_causaloid() -> BaseCausaloid {
36+
fn causal_fn(_: &Evidence) -> Result<PropagatingEffect, CausalityError> {
37+
Err(CausalityError::new("Error".to_string()))
38+
}
39+
Causaloid::new(78, causal_fn, "Probabilistic Causaloid")
40+
}
41+
2842
#[test]
2943
fn test_new() {
3044
let id = 42;
@@ -199,40 +213,6 @@ fn remove_single_state_err_not_found() {
199213
assert_eq!(csm.len(), 1);
200214
}
201215

202-
#[test]
203-
fn eval_single_state() {
204-
let id = 42;
205-
let version = 1;
206-
let data = Evidence::Numerical(0.23f64);
207-
let causaloid = test_utils::get_test_causaloid();
208-
209-
let cs = CausalState::new(id, version, data, causaloid);
210-
let ca = get_test_action();
211-
let state_action = &[(&cs, &ca)];
212-
let csm = CSM::new(state_action);
213-
214-
let data = test_utils::get_test_single_data(0.23f64);
215-
let res = csm.eval_single_state(23, data);
216-
assert!(res.is_err())
217-
}
218-
219-
#[test]
220-
fn eval_single_state_error_non_deter() {
221-
let id = 42;
222-
let version = 1;
223-
let data = Evidence::Numerical(0.23f64);
224-
let causaloid = get_test_probabilistic_causaloid();
225-
226-
let cs = CausalState::new(id, version, data, causaloid);
227-
let ca = get_test_action();
228-
let state_action = &[(&cs, &ca)];
229-
let csm = CSM::new(state_action);
230-
231-
let data = test_utils::get_test_single_data(0.23f64);
232-
let res = csm.eval_single_state(23, data);
233-
assert!(res.is_err())
234-
}
235-
236216
#[test]
237217
fn eval_single_state_error_fail_action() {
238218
let id = 42;
@@ -241,7 +221,7 @@ fn eval_single_state_error_fail_action() {
241221
let causaloid = get_test_error_causaloid();
242222

243223
let cs = CausalState::new(id, version, data, causaloid);
244-
let ca = get_test_action();
224+
let ca = get_test_error_action();
245225
let state_action = &[(&cs, &ca)];
246226
let csm = CSM::new(state_action);
247227

@@ -292,3 +272,37 @@ fn update_all_states() {
292272

293273
assert_eq!(csm.len(), 2)
294274
}
275+
276+
#[test]
277+
fn eval_single_state() {
278+
let id = 42;
279+
let version = 1;
280+
let data = Evidence::Numerical(0.23f64);
281+
let causaloid = test_utils::get_test_causaloid();
282+
283+
let cs = CausalState::new(id, version, data, causaloid);
284+
let ca = get_test_action();
285+
let state_action = &[(&cs, &ca)];
286+
let csm = CSM::new(state_action);
287+
288+
let data = test_utils::get_test_single_data(0.23f64);
289+
let res = csm.eval_single_state(23, data);
290+
assert!(res.is_err())
291+
}
292+
293+
#[test]
294+
fn eval_single_state_error_non_deter() {
295+
let id = 42;
296+
let version = 1;
297+
let data = Evidence::Numerical(0.23f64);
298+
let causaloid = get_test_probabilistic_causaloid();
299+
300+
let cs = CausalState::new(id, version, data, causaloid);
301+
let ca = get_test_action();
302+
let state_action = &[(&cs, &ca)];
303+
let csm = CSM::new(state_action);
304+
305+
let data = test_utils::get_test_single_data(0.23f64);
306+
let res = csm.eval_single_state(23, data);
307+
assert!(res.is_err())
308+
}

0 commit comments

Comments
 (0)