let check ec param =
if ec.assertion param then
(* assertion succeeded *)
if ec.success_last then
(* and it succeeded last time too -- no change *)
None
else
(* it did not succeed last time -- change to success *)
begin
ec.success_last <- true;
Some (ec.success_alert param)
end
else
(* assertion failed *)
if ec.success_last then
(* but succeeded last time -- change to failure *)
begin
ec.success_last <- false;
Some (ec.fail_alert param)
end
else
(* but failed last time -- no change *)
None