xref: /haiku/src/tests/kits/net/service/GeolocationTest.cpp (revision a5061ecec55353a5f394759473f1fd6df04890da)
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