@testset "NLP Solver" begin using PlotlyJS: savefig println("Testing NLP solver") # This will be the only test to verify rather than testing different complexities n = 50 flybys = [Earth, Venus, Mars]#, Jupiter] launch_window = DateTime(2021,10,1), DateTime(2021,12,1) latest_arrival = DateTime(2028,1,1) dates = [DateTime(2021,11,1), DateTime(2022,3,27), DateTime(2022,8,28)] # DateTime(2028,3,1)] phases = Vector{Phase}() launch_v∞, _, tof1 = Thesis.lamberts(flybys[1], flybys[2], dates[1], dates[2]) for i in 1:length(dates)-2 v∞_in1, tof1 = Thesis.lamberts(flybys[i], flybys[i+1], dates[i], dates[i+1])[2:3] v∞_out2 = Thesis.lamberts(flybys[i+1], flybys[i+2], dates[i+1], dates[i+2])[1] push!(phases, Phase(flybys[i+1], v∞_in1, v∞_out2, tof1, 0.01*ones(50,3))) end v∞_in, tof = Thesis.lamberts(flybys[end-1], flybys[end], dates[end-1], dates[end])[2:3] push!(phases, Phase(flybys[end], v∞_in, v∞_in, tof, 0.01*ones(50,3))) guess = Mission_Guess(bepi, 3_600., dates[1], launch_v∞, phases) m = solve_mission(guess, launch_window, latest_arrival, 200., 20., verbose=true, print_level=4) @test typeof(m) == Mission if typeof(m) == Mission p = plot(m, title="NLP Test Solution (2 Phases)") savefig(p,"../plots/nlp_test_2_phase.html") store(m, "missions/nlp_2_phase") end end