Unexpected result in EllipsoidGeodesic.interpolateUsingFraction()

When using the EllipsoidGeodesic class, I get unexpected results when attempting to interpolate between a start and end location. Longitude is correct, but latitude does not appear to match:

Example:

var startLocation = new Cesium.Cartographic(-86.9338, 40.4136, 0.0);
var endLocation = new Cesium.Cartographic(-86.764901, 40.710483, 0.0);
var geodesic = new Cesium.EllipsoidGeodesic(startLocation, endLocation, Cesium.Ellipsoid.WGS84);

geodesic.interpolateUsingFraction(0.0) --> {longitude: -86.9338, latitude: -0.42710449666730965, height: 0}

geodesic.interpolateUsingFraction(0.5) --> {longitude: -86.8457504212864, latitude: -0.2796710093749495, height: 0}

geodesic.interpolateUsingFraction(1.0) --> {longitude: -86.76490100000004, latitude: -0.13022149666731175, height: 0}

Unless specifically noted in the function, Cesium always expects radians, not degrees. Replace your Cartographic creation calls with the proper helper function.

var startLocation = new Cesium.Cartographic(-86.9338, 40.4136, 0.0);
var endLocation = new Cesium.Cartographic(-86.764901, 40.710483, 0.0);

with

var startLocation = Cesium.Cartographic.fromDegrees(-86.9338, 40.4136, 0.0);

var endLocation = Cesium.Cartographic.fromDegrees(-86.764901, 40.710483, 0.0);

And see if that now produces your expected results (results will be in radians). You can also use Cesium.Math.toDegrees and Cesium.Math.toRadians to go from one numeric representation to the other.