Skip to content

Commit b7fa87f

Browse files
committed
Improved test coverage for Assumption.
Signed-off-by: Marvin Hansen <[email protected]>
1 parent bb80213 commit b7fa87f

File tree

4 files changed

+38
-14
lines changed

4 files changed

+38
-14
lines changed

deep_causality/src/traits/assumable/mod.rs

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,7 @@
33
* Copyright (c) "2025" . The DeepCausality Authors and Contributors. All Rights Reserved.
44
*/
55

6-
use crate::{
7-
AssumptionError, DescriptionValue, EvalFn, Identifiable, NumericalValue, PropagatingEffect,
8-
};
6+
use crate::{AssumptionError, DescriptionValue, Identifiable, NumericalValue, PropagatingEffect};
97

108
/// The Assumable trait defines the interface for objects that represent
119
/// assumptions that can be tested and verified. Assumable types must also
@@ -27,7 +25,6 @@ use crate::{
2725
///
2826
pub trait Assumable: Identifiable {
2927
fn description(&self) -> DescriptionValue;
30-
fn assumption_fn(&self) -> EvalFn;
3128
fn assumption_tested(&self) -> bool;
3229
fn assumption_valid(&self) -> bool;
3330
fn verify_assumption(&self, data: &[PropagatingEffect]) -> Result<bool, AssumptionError>;

deep_causality/src/types/model_types/assumption/assumable.rs

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,17 +3,13 @@
33
* Copyright (c) "2025" . The DeepCausality Authors and Contributors. All Rights Reserved.
44
*/
55
use crate::types::model_types::assumption::Assumption;
6-
use crate::{Assumable, AssumptionError, DescriptionValue, EvalFn, PropagatingEffect};
6+
use crate::{Assumable, AssumptionError, DescriptionValue, PropagatingEffect};
77

88
impl Assumable for Assumption {
99
fn description(&self) -> DescriptionValue {
1010
self.description.to_string() as DescriptionValue
1111
}
1212

13-
fn assumption_fn(&self) -> EvalFn {
14-
self.assumption_fn
15-
}
16-
1713
fn assumption_tested(&self) -> bool {
1814
*self.assumption_tested.read().unwrap()
1915
}

deep_causality/src/utils_test/test_utils.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -200,7 +200,7 @@ pub fn get_test_assumption() -> Assumption {
200200
}
201201

202202
fn test_has_data(data: &[PropagatingEffect]) -> Result<bool, AssumptionError> {
203-
Ok(!data.is_empty())
203+
Ok(!data.is_empty()) // Data is NOT empty i.e. true when it is
204204
}
205205

206206
pub fn get_test_num_array() -> [NumericalValue; 10] {

deep_causality/tests/types/model_types/assumption/assumption_tests.rs

Lines changed: 35 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ fn test_assumption_tested() {
2727
}
2828

2929
#[test]
30-
fn test_verify_assumption() {
30+
fn test_verify_assumption_success() {
3131
let assumption = test_utils::get_test_assumption();
3232

3333
let tested = assumption.assumption_tested();
@@ -40,7 +40,14 @@ fn test_verify_assumption() {
4040
.iter()
4141
.map(|&x| PropagatingEffect::Numerical(x))
4242
.collect();
43-
let valid = assumption.verify_assumption(&data).unwrap();
43+
44+
let res = assumption.verify_assumption(&data);
45+
assert!(res.is_ok());
46+
47+
let tested = assumption.assumption_tested();
48+
assert!(tested);
49+
50+
let valid = assumption.assumption_valid();
4451
assert!(valid);
4552
}
4653

@@ -58,8 +65,9 @@ fn test_assumption_valid() {
5865
.iter()
5966
.map(|&x| PropagatingEffect::Numerical(x))
6067
.collect();
61-
let valid = assumption.verify_assumption(&data).unwrap();
62-
assert!(valid);
68+
69+
let res = assumption.verify_assumption(&data);
70+
assert!(res.is_ok());
6371

6472
let tested = assumption.assumption_tested();
6573
assert!(tested);
@@ -68,6 +76,29 @@ fn test_assumption_valid() {
6876
assert!(valid);
6977
}
7078

79+
#[test]
80+
fn test_verify_assumption_invalid() {
81+
let assumption = test_utils::get_test_assumption();
82+
83+
let tested = assumption.assumption_tested();
84+
assert!(!tested);
85+
86+
let valid = assumption.assumption_valid();
87+
assert!(!valid);
88+
89+
// Should eval to false b/c data empty
90+
let res = assumption.verify_assumption(&[]);
91+
assert!(res.is_ok());
92+
93+
// has been tested now.
94+
let tested = assumption.assumption_tested();
95+
assert!(tested);
96+
97+
// it is not valid
98+
let valid = assumption.assumption_valid();
99+
assert!(!valid);
100+
}
101+
71102
#[test]
72103
fn test_assumption_id() {
73104
let id = 1;

0 commit comments

Comments
 (0)