1 /* 2 * Copyright 2014, Haiku, inc. 3 * Distributed under the terms of the MIT licence 4 */ 5 6 7 #include "GeolocationTest.h" 8 9 #include <Geolocation.h> 10 11 #include <cppunit/TestCaller.h> 12 #include <cppunit/TestSuite.h> 13 14 15 using namespace BPrivate::Network; 16 17 18 GeolocationTest::GeolocationTest() 19 { 20 } 21 22 23 void 24 GeolocationTest::TestLocateSelf() 25 { 26 BGeolocation locator(BUrl( 27 "https://location.services.mozilla.com/v1/geolocate?key=test"), BUrl()); 28 float latitude, longitude; 29 status_t result = locator.LocateSelf(latitude, longitude); 30 31 CPPUNIT_ASSERT_EQUAL(B_OK, result); 32 printf("Your position is: %f %f\n", latitude, longitude); 33 } 34 35 36 void 37 GeolocationTest::TestCountry() 38 { 39 BGeolocation geocoder(BUrl(""), BUrl("https://secure.geonames.org/?username=demo")); 40 BCountry country; 41 status_t result = geocoder.Country(47.03f, 10.2f, country); 42 CPPUNIT_ASSERT_EQUAL(B_OK, result); 43 CPPUNIT_ASSERT_EQUAL(B_OK, country.InitCheck()); 44 CPPUNIT_ASSERT_EQUAL(BString("AT"), BString(country.Code())); 45 } 46 47 48 /* static */ void 49 GeolocationTest::AddTests(BTestSuite& parent) 50 { 51 CppUnit::TestSuite& suite = *new CppUnit::TestSuite("GeolocationTest"); 52 53 suite.addTest(new CppUnit::TestCaller<GeolocationTest>( 54 "GeolocationTest::LocateSelf", &GeolocationTest::TestLocateSelf)); 55 suite.addTest(new CppUnit::TestCaller<GeolocationTest>( 56 "GeolocationTest::Country", &GeolocationTest::TestCountry)); 57 58 parent.addTest("GeolocationTest", &suite); 59 }; 60