This unit test is failing on the reaction getter while the atom value is correct
#[test]
fn test_reversible_reaction() {
let a_b_reversible_subtraction = a_b_reversible_subtraction();
a_reversible().set(0);
b_reversible().set(0);
a_reversible().update(|state| *state = 40);
assert_eq!(a_reversible().get(), 40, "We should get 40 as value for a");
assert_eq!(
a_b_reversible_subtraction.get(),
40,
"We should get 40 for subtraction because setting"
);
global_reverse_queue().travel_backwards();
assert_eq!(
a_reversible().get(),
0,
"We should get 0 on a because back in time"
);
assert_eq!(
a_b_reversible_subtraction.get(),
0,
"We should get 0 as result for subtraction because back in time"
);
b_reversible().inert_set(0);
assert_eq!(
a_b_reversible_subtraction.get(),
0,
"We should get 0 for subtraction because setting inert"
);
a_reversible().set(20);
assert_eq!(
a_b_reversible_subtraction.get(),
20,
"We should get 20 for subtraction because setting"
);
}
I do not understand the code under the atomic/reaction level. What do you think can cause the reaction to not update its value correctly ?
This unit test is failing on the reaction getter while the atom value is correct
I do not understand the code under the atomic/reaction level. What do you think can cause the reaction to not update its value correctly ?