defineSuite([ 'Core/CartographicGeocoderService', 'Core/Cartesian3' ], function( CartographicGeocoderService, Cartesian3) { 'use strict'; var service = new CartographicGeocoderService(); it('returns cartesian with matching coordinates for NS/EW input', function (done) { var query = '35N 75W'; service.geocode(query).then(function(results) { expect(results.length).toEqual(1); expect(results[0].destination).toEqual(Cartesian3.fromDegrees(-75.0, 35.0, 300.0)); done(); }); }); it('returns cartesian with matching coordinates for EW/NS input', function (done) { var query = '75W 35N'; service.geocode(query).then(function(results) { expect(results.length).toEqual(1); expect(results[0].destination).toEqual(Cartesian3.fromDegrees(-75.0, 35.0, 300.0)); done(); }); }); it('returns cartesian with matching coordinates for long/lat/height input', function (done) { var query = ' 1.0, 2.0, 3.0 '; service.geocode(query).then(function(results) { expect(results.length).toEqual(1); expect(results[0].destination).toEqual(Cartesian3.fromDegrees(1.0, 2.0, 3.0)); done(); }); }); it('returns cartesian with matching coordinates for long/lat input', function (done) { var query = ' 1.0, 2.0 '; var defaultHeight = 300.0; service.geocode(query).then(function(results) { expect(results.length).toEqual(1); expect(results[0].destination).toEqual(Cartesian3.fromDegrees(1.0, 2.0, defaultHeight)); done(); }); }); it('returns empty array for input with only longitudinal coordinates', function (done) { var query = ' 1e 1e '; service.geocode(query).then(function(results) { expect(results.length).toEqual(0); done(); }); }); it('returns empty array for input with only one NSEW coordinate', function (done) { var query = ' 1e 1 '; service.geocode(query).then(function(results) { expect(results.length).toEqual(0); done(); }); }); it('returns empty array for input with only one number', function (done) { var query = ' 2.0 '; service.geocode(query).then(function(results) { expect(results.length).toEqual(0); done(); }); }); it('returns empty array for with string', function (done) { var query = ' aoeu '; service.geocode(query).then(function(results) { expect(results.length).toEqual(0); done(); }); }); });