1
1
using SciMLBase
2
- mutable struct DummySolution
3
- retcode:: Any
2
+
3
+ struct DummySolution
4
+ retcode:: SciMLBase.ReturnCode.T
4
5
end
5
6
7
+ SciMLBase. solution_new_retcode (:: DummySolution , code) = DummySolution (code)
8
+
6
9
mutable struct DummyIntegrator{Alg, IIP, U, T} <: SciMLBase.DEIntegrator{Alg, IIP, U, T}
7
10
uprev:: U
8
11
tprev:: T
@@ -46,6 +49,9 @@ function SciMLBase.done(integrator::DummyIntegrator)
46
49
integrator. t > 10
47
50
end
48
51
52
+ SciMLBase. check_error (:: DummyIntegrator ) = ReturnCode. Success
53
+ SciMLBase. postamble! (:: DummyIntegrator ) = nothing
54
+
49
55
integrator = DummyIntegrator ()
50
56
@test step_dt! (integrator, 1.5 ) == 2
51
57
@test step_dt! (integrator, 1.5 , true ) == 1.5
@@ -62,3 +68,14 @@ for (uprev, tprev, u, t) in intervals(DummyIntegrator())
62
68
end
63
69
@test eltype (collect (intervals (DummyIntegrator ()))) ==
64
70
Tuple{Vector{Float64}, Float64, Vector{Float64}, Float64}
71
+
72
+ @test integrator. sol. retcode == ReturnCode. Default
73
+ @test check_error (integrator) == ReturnCode. Success
74
+ @test integrator. sol. retcode == ReturnCode. Default
75
+ @test SciMLBase. check_error! (integrator) == ReturnCode. Success
76
+ @test integrator. sol. retcode == ReturnCode. Success
77
+
78
+ let
79
+ integrator = DummyIntegrator ()
80
+ @test 0 == @allocated SciMLBase. check_error! (integrator)
81
+ end
0 commit comments