def check_results(new_results):

    # check segment values
    truth = Data()

    truth.fuel = [ 14246. , 12234. , 12162.]
    truth.tow  = [ 53855. , 49919. , 39989.]

    error = Data()
    error.fuel = np.max(np.abs(new_results.fuel-truth.fuel))
    error.tow  = np.max(np.abs(new_results.tow-truth.tow))

    for k,v in error.items():
        assert(np.abs(v)<0.5)
def main():

    # define the problem
    vehicle, mission = full_setup()

    # run the problem
    # defining inputs of the module
    cruise_segment_tag = 'Cruise'
    mission_payload =             [11792. , 9868. ,    10. ]
    target_range =  np.multiply ( [ 3470. , 3158. ,  3804. ] , 1. * Units.nautical_mile )

    # call module
    distance,fuel,tow = size_weights_given_mission_range(vehicle,mission,cruise_segment_tag,mission_payload,target_range)

    # check the results
    results = Data()
    results.dist = distance
    results.fuel = fuel
    results.tow  = tow

    check_results(results)

    return