Skip to content

Commit e606e7b

Browse files
committed
up test export
1 parent c753e04 commit e606e7b

1 file changed

Lines changed: 62 additions & 56 deletions

File tree

test/test_export_import.jl

Lines changed: 62 additions & 56 deletions
Original file line numberDiff line numberDiff line change
@@ -6,70 +6,76 @@ function remove_if_exists(filename::String)
66
end
77

88
function test_export_import()
9-
try
10-
#
11-
ocp, sol = solution_example()
129

13-
# JSON
14-
CTModels.export_ocp_solution(sol; filename="solution_test", format=:JSON)
15-
sol_reloaded = CTModels.import_ocp_solution(
16-
ocp; filename="solution_test", format=:JSON
17-
)
18-
@test sol.objective sol_reloaded.objective atol=1e-8
10+
#
11+
ocp, sol = solution_example()
1912

20-
# JLD
21-
CTModels.export_ocp_solution(sol; filename="solution_test") # default is :JLD)
22-
sol_reloaded = CTModels.import_ocp_solution(
23-
ocp; filename="solution_test", format=:JLD
24-
)
25-
@test sol.objective sol_reloaded.objective atol=1e-8
13+
# JSON
14+
CTModels.export_ocp_solution(sol; filename="solution_test", format=:JSON)
15+
sol_reloaded = CTModels.import_ocp_solution(
16+
ocp; filename="solution_test", format=:JSON
17+
)
18+
@test sol.objective sol_reloaded.objective atol=1e-8
19+
@test CTModels.objective(sol) CTModels.objective(sol_reloaded) atol=1e-8
2620

27-
#
28-
ocp, sol = solution_example(; fun=true)
21+
# JLD
22+
CTModels.export_ocp_solution(sol; filename="solution_test") # default is :JLD)
23+
sol_reloaded = CTModels.import_ocp_solution(
24+
ocp; filename="solution_test", format=:JLD
25+
)
26+
@test sol.objective sol_reloaded.objective atol=1e-8
27+
@test CTModels.objective(sol) CTModels.objective(sol_reloaded) atol=1e-8
2928

30-
# JSON
31-
CTModels.export_ocp_solution(sol; filename="solution_test", format=:JSON)
32-
sol_reloaded = CTModels.import_ocp_solution(
33-
ocp; filename="solution_test", format=:JSON
34-
)
35-
@test sol.objective sol_reloaded.objective atol=1e-8
29+
#
30+
ocp, sol = solution_example(; fun=true)
3631

37-
# JLD
38-
CTModels.export_ocp_solution(sol; filename="solution_test", format=:JLD)
39-
sol_reloaded = CTModels.import_ocp_solution(
40-
ocp; filename="solution_test", format=:JLD
41-
)
42-
@test sol.objective sol_reloaded.objective atol=1e-8
32+
# JSON
33+
CTModels.export_ocp_solution(sol; filename="solution_test", format=:JSON)
34+
sol_reloaded = CTModels.import_ocp_solution(
35+
ocp; filename="solution_test", format=:JSON
36+
)
37+
@test sol.objective sol_reloaded.objective atol=1e-8
38+
@test CTModels.objective(sol) CTModels.objective(sol_reloaded) atol=1e-8
4339

44-
# --------------------------------------------------------------------------------------
45-
# Other problem
46-
ocp = @def begin
47-
t [0, 1], time
48-
x R², state
49-
u R, control
50-
x₂(t) 1.2
51-
x(0) == [-1, 0]
52-
x(1) == [0, 0]
53-
(t) == [x₂(t), u(t)]
54-
(0.5u(t)^2) min
55-
end;
40+
# JLD
41+
CTModels.export_ocp_solution(sol; filename="solution_test", format=:JLD)
42+
sol_reloaded = CTModels.import_ocp_solution(
43+
ocp; filename="solution_test", format=:JLD
44+
)
45+
@test sol.objective sol_reloaded.objective atol=1e-8
46+
@test CTModels.objective(sol) CTModels.objective(sol_reloaded) atol=1e-8
5647

57-
sol = CTDirect.solve(ocp)
48+
# --------------------------------------------------------------------------------------
49+
# Other problem
50+
ocp = @def begin
51+
t [0, 1], time
52+
x R², state
53+
u R, control
54+
x₂(t) 1.2
55+
x(0) == [-1, 0]
56+
x(1) == [0, 0]
57+
(t) == [x₂(t), u(t)]
58+
(0.5u(t)^2) min
59+
end;
5860

59-
# JLD
60-
CTModels.export_ocp_solution(sol; filename="solution_test")
61-
sol_reloaded = CTModels.import_ocp_solution(ocp; filename="solution_test")
62-
@test sol.objective sol_reloaded.objective atol=1e-8
61+
sol = CTDirect.solve(ocp)
6362

64-
# JSON
65-
CTModels.export_ocp_solution(sol; filename="solution_test", format=:JSON)
66-
sol_reloaded = CTModels.import_ocp_solution(
67-
ocp; filename="solution_test", format=:JSON
68-
)
69-
@test sol.objective sol_reloaded.objective atol=1e-8
63+
# JLD
64+
CTModels.export_ocp_solution(sol; filename="solution_test")
65+
sol_reloaded = CTModels.import_ocp_solution(ocp; filename="solution_test")
66+
@test sol.objective sol_reloaded.objective atol=1e-8
67+
@test CTModels.objective(sol) CTModels.objective(sol_reloaded) atol=1e-8
68+
69+
# JSON
70+
CTModels.export_ocp_solution(sol; filename="solution_test", format=:JSON)
71+
sol_reloaded = CTModels.import_ocp_solution(
72+
ocp; filename="solution_test", format=:JSON
73+
)
74+
@test sol.objective sol_reloaded.objective atol=1e-8
75+
@test CTModels.objective(sol) CTModels.objective(sol_reloaded) atol=1e-8
76+
77+
# Cleanup
78+
remove_if_exists("solution_test.jld2")
79+
remove_if_exists("solution_test.json")
7080

71-
finally
72-
remove_if_exists("solution_test.jld2")
73-
remove_if_exists("solution_test.json")
74-
end
7581
end

0 commit comments

Comments
 (0)