package Ġfr . free . n rw . commons . bookmarks . locations Ċ Ċ import Ġandroid . content . Content Provider Client Ċ import Ġandroid . content . Content Values Ċ import Ġandroid . database . Cursor Ċ import Ġandroid . database . Matrix Cursor Ċ import Ġandroid . database . sqlite . SQLite Database Ċ import Ġandroid . net . Uri Ċ import Ġandroid . os . Remote Exception Ċ import Ġcom . n ha ar man . mock it ok otlin 2 .* Ċ import Ġfr . free . n rw . commons . Test Common s Application Ċ import Ġfr . free . n rw . commons . bookmarks . locations . Bookmark Locations Content Provider . BASE _ URI Ċ import Ġfr . free . n rw . commons . bookmarks . locations . Bookmark Locations Dao . Table .* Ċ import Ġfr . free . n rw . commons . location . LatLng Ċ import Ġfr . free . n rw . commons . near by . Label Ċ import Ġfr . free . n rw . commons . near by . Place Ċ import Ġfr . free . n rw . commons . near by . S itel inks Ċ import Ġjunit . framework . Assert .* Ċ import Ġorg . junit . Before Ċ import Ġorg . junit . Test Ċ import Ġorg . junit . runner . RunWith Ċ import Ġorg . ro bo lectric . Ro bo lectric TestRunner Ċ import Ġorg . ro bo lectric . annotation . Config Ċ Ċ @ RunWith ( Ro bo lectric TestRunner :: class ) Ċ @ Config ( sdk Ġ= Ġ[ 2 1 ], Ġapplication Ġ= ĠTest Common s Application :: class ) Ċ class ĠBook Mark Location Dao Test Ġ{ ĊĠĠĠ Ġprivate Ġval Ġcolumns Ġ= ĠarrayOf ( COLUMN _ NAME , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠCOLUMN _ LANGUAGE , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠCOLUMN _ DESCRIPTION , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠCOLUMN _ CATEGORY , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠCOLUMN _ LABEL _ TEXT , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠCOLUMN _ LABEL _ ICON , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠCOLUMN _ IMAGE _ URL , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠCOLUMN _ WI KI PE DI A _ LINK , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠCOLUMN _ WI K ID ATA _ LINK , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠCOLUMN _ COMMON S _ LINK , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠCOLUMN _ LAT , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠCOLUMN _ LONG , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠCOLUMN _ PIC , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠCOLUMN _ DESTROY ED ) ĊĠĠĠ Ġprivate Ġval Ġclient : ĠContent Provider Client Ġ= Ġmock () ĊĠĠĠ Ġprivate Ġval Ġdatabase : ĠSQLite Database Ġ= Ġmock () ĊĠĠĠ Ġprivate Ġval Ġcapt or Ġ= Ġargument Captor < Content Values >() ĊĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġtest Object : ĠBook mark Locations Dao ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġexample Place Bookmark : ĠPlace ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġexample Label : ĠLabel ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġexample Uri : ĠUri ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġexample Location : ĠLat Lng ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġbuilder : ĠS itel inks . Builder ĊĊĠĠĠ Ġ@ Before ĊĠĠĠ Ġfun ĠsetUp () Ġ{ ĊĠĠĠĠĠĠĠ Ġexample Label Ġ= ĠLabel . FO REST ĊĠĠĠĠĠĠĠ Ġexample Uri Ġ= ĠUri . parse (" wik imedia / uri ") ĊĠĠĠĠĠĠĠ Ġexample Location Ġ= ĠLat Lng ( 4 0 . 0 , 5 1 . 4 , Ġ 1 f ) ĊĊĠĠĠĠĠĠĠ Ġbuilder Ġ= ĠS itel inks . Builder () ĊĠĠĠĠĠĠĠ Ġbuilder . set W ikipedia Link (" wikipedia Link ") ĊĠĠĠĠĠĠĠ Ġbuilder . set W ik idata Link (" wik idata Link ") ĊĠĠĠĠĠĠĠ Ġbuilder . set Common s Link (" commons Link ") ĊĊĊĠĠĠĠĠĠĠ Ġexample Place Bookmark Ġ= ĠPlace (" en ", Ġ" place Name ", Ġexample Label , Ġ" place Description " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ, Ġexample Location , Ġ" place Category ", Ġbuilder . build (), " pic Name "," place Destroyed ") ĊĠĠĠĠĠĠĠ Ġtest Object Ġ= ĠBook mark Locations Dao Ġ{ Ġclient Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġcreate Table () Ġ{ ĊĠĠĠĠĠĠĠ ĠonCreate ( database ) ĊĠĠĠĠĠĠĠ Ġverify ( database ). exec SQL ( CREATE _ TABLE _ STATE MENT ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġdelete Table () Ġ{ ĊĠĠĠĠĠĠĠ ĠonDelete ( database ) ĊĠĠĠĠĠĠĠ Ġin Order ( database ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġverify ( database ). exec SQL ( DROP _ TABLE _ STATE MENT ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġverify ( database ). exec SQL ( CREATE _ TABLE _ STATE MENT ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġcreate From Cursor () Ġ{ ĊĠĠĠĠĠĠĠ Ġcreate Cursor ( 1 ). let Ġ{ Ġcursor Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcursor . moveTo First () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtest Object . from Cursor ( cursor ). let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals (" en ", Ġit . language ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals (" place Name ", Ġit . name ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals ( Label . FO REST , Ġit . label ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals (" place Description ", Ġit . long Description ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals ( 4 0 . 0 , Ġit . location . latitude ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals ( 5 1 . 4 , Ġit . location . longitude ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals (" place Category ", Ġit . category ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals ( builder . build (). wikipedia Link , Ġit . site Links . wikipedia Link ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals ( builder . build (). wik idata Link , Ġit . site Links . wik idata Link ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals ( builder . build (). commons Link , Ġit . site Links . commons Link ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals (" pic Name ", it . pic ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals (" place Destroyed ", Ġit . destroy ed ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun ĠgetAll Location Book marks () Ġ{ ĊĠĠĠĠĠĠĠ Ġwhenever ( client . query ( any (), Ġany (), Ġany OrNull (), Ġany (), Ġany OrNull ())). thenReturn ( create Cursor ( 1 4 )) ĊĊĠĠĠĠĠĠĠ Ġvar Ġresult Ġ= Ġtest Object . all Book marks Locations ĊĊĠĠĠĠĠĠĠ ĠassertEquals ( 1 4 ,( result . size )) ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ( expected Ġ= ĠRuntimeException :: class ) ĊĠĠĠ Ġfun ĠgetAll Location Book marks Trans lates Exceptions () Ġ{ ĊĠĠĠĠĠĠĠ Ġwhenever ( client . query ( any (), Ġany (), Ġany OrNull (), Ġany (), Ġany OrNull ())). then Throw ( Remote Exception ("")) ĊĠĠĠĠĠĠĠ Ġtest Object . all Book marks Locations ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun ĠgetAll Location Book marks Returns Empty List _ empty Cursor () Ġ{ ĊĠĠĠĠĠĠĠ Ġwhenever ( client . query ( any (), Ġany (), Ġany OrNull (), Ġany (), Ġany OrNull ())). thenReturn ( create Cursor ( 0 )) ĊĠĠĠĠĠĠĠ ĠassertTrue ( test Object . all Book marks Locations . isEmpty ()) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun ĠgetAll Location Book marks Returns Empty List _ null Cursor () Ġ{ ĊĠĠĠĠĠĠĠ Ġwhenever ( client . query ( any (), Ġany (), Ġany OrNull (), Ġany (), Ġany OrNull ())). thenReturn ( null ) ĊĠĠĠĠĠĠĠ ĠassertTrue ( test Object . all Book marks Locations . isEmpty ()) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġcurs ors Are Closed After GetAll Location Book marks Query () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġmock Cursor : ĠCursor Ġ= Ġmock () ĊĠĠĠĠĠĠĠ Ġwhenever ( client . query ( any (), Ġany (), Ġany OrNull (), Ġany (), Ġany OrNull ())). thenReturn ( mock Cursor ) ĊĠĠĠĠĠĠĠ Ġwhenever ( mock Cursor . moveTo First ()). thenReturn ( false ) ĊĊĠĠĠĠĠĠĠ Ġtest Object . all Book marks Locations ĊĊĠĠĠĠĠĠĠ Ġverify ( mock Cursor ). close () ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġupdate New Location Bookmark () Ġ{ ĊĠĠĠĠĠĠĠ Ġwhenever ( client . insert ( any (), Ġany ())). thenReturn ( Uri . EMPTY ) ĊĠĠĠĠĠĠĠ Ġwhenever ( client . query ( any (), Ġany (), Ġany (), Ġany (), Ġany OrNull ())). thenReturn ( null ) ĊĊĠĠĠĠĠĠĠ ĠassertTrue ( test Object . update Bookmark Location ( example Place Bookmark )) ĊĠĠĠĠĠĠĠ Ġverify ( client ). insert ( eq ( BASE _ URI ), Ġcapt or . capture ()) ĊĠĠĠĠĠĠĠ Ġcapt or . first Value . let Ġ{ Ġcv Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals ( 1 3 , Ġcv . size ()) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals ( example Place Bookmark . name , Ġcv . get AsString ( COLUMN _ NAME )) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals ( example Place Bookmark . language , Ġcv . get AsString ( COLUMN _ LANGUAGE )) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals ( example Place Bookmark . long Description , Ġcv . get AsString ( COLUMN _ DESCRIPTION )) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals ( example Place Bookmark . label . text , Ġcv . get AsString ( COLUMN _ LABEL _ TEXT )) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals ( example Place Bookmark . category , Ġcv . get AsString ( COLUMN _ CATEGORY )) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals ( example Place Bookmark . location . latitude , Ġcv . getAs Double ( COLUMN _ LAT )) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals ( example Place Bookmark . location . longitude , Ġcv . getAs Double ( COLUMN _ LONG )) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals ( example Place Bookmark . site Links . wikipedia Link . toString (), Ġcv . get AsString ( COLUMN _ WI KI PE DI A _ LINK )) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals ( example Place Bookmark . site Links . wik idata Link . toString (), Ġcv . get AsString ( COLUMN _ WI K ID ATA _ LINK )) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals ( example Place Bookmark . site Links . commons Link . toString (), Ġcv . get AsString ( COLUMN _ COMMON S _ LINK )) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals ( example Place Bookmark . pic . toString (), Ġcv . get AsString ( COLUMN _ PIC )) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals ( example Place Bookmark . destroy ed . toString (), Ġcv . get AsString ( COLUMN _ DESTROY ED )) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġupdate Existing Location Bookmark () Ġ{ ĊĠĠĠĠĠĠĠ Ġwhenever ( client . delete ( is A (), Ġis Null (), Ġis Null ())). thenReturn ( 1 ) ĊĠĠĠĠĠĠĠ Ġwhenever ( client . query ( any (), Ġany (), Ġany (), Ġany (), Ġany OrNull ())). thenReturn ( create Cursor ( 1 )) ĊĊĠĠĠĠĠĠĠ ĠassertFalse ( test Object . update Bookmark Location ( example Place Bookmark )) ĊĠĠĠĠĠĠĠ Ġverify ( client ). delete ( eq ( Bookmark Locations Content Provider . uri For Name ( example Place Bookmark . name )), Ġis Null (), Ġis Null ()) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġfind Existing Location Bookmark () Ġ{ ĊĠĠĠĠĠĠĠ Ġwhenever ( client . query ( any (), Ġany (), Ġany (), Ġany (), Ġany OrNull ())). thenReturn ( create Cursor ( 1 )) ĊĠĠĠĠĠĠĠ ĠassertTrue ( test Object . find Bookmark Location ( example Place Bookmark )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ( expected Ġ= ĠRuntimeException :: class ) ĊĠĠĠ Ġfun Ġfind Location Bookmark Trans lates Exceptions () Ġ{ ĊĠĠĠĠĠĠĠ Ġwhenever ( client . query ( any (), Ġany (), Ġany OrNull (), Ġany (), Ġany OrNull ())). then Throw ( Remote Exception ("")) ĊĠĠĠĠĠĠĠ Ġtest Object . find Bookmark Location ( example Place Bookmark ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġfind Not Existing Location Bookmark Returns Null _ empty Cursor () Ġ{ ĊĠĠĠĠĠĠĠ Ġwhenever ( client . query ( any (), Ġany (), Ġany (), Ġany (), Ġany OrNull ())). thenReturn ( create Cursor ( 0 )) ĊĠĠĠĠĠĠĠ ĠassertFalse ( test Object . find Bookmark Location ( example Place Bookmark )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġfind Not Existing Location Bookmark Returns Null _ null Cursor () Ġ{ ĊĠĠĠĠĠĠĠ Ġwhenever ( client . query ( any (), Ġany (), Ġany (), Ġany (), Ġany OrNull ())). thenReturn ( null ) ĊĠĠĠĠĠĠĠ ĠassertFalse ( test Object . find Bookmark Location ( example Place Bookmark )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġcurs ors Are Closed After Find Location Bookmark Query () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġmock Cursor : ĠCursor Ġ= Ġmock () ĊĠĠĠĠĠĠĠ Ġwhenever ( client . query ( any (), Ġany (), Ġany (), Ġany (), Ġany OrNull ())). thenReturn ( mock Cursor ) ĊĠĠĠĠĠĠĠ Ġwhenever ( mock Cursor . moveTo First ()). thenReturn ( false ) ĊĊĠĠĠĠĠĠĠ Ġtest Object . find Bookmark Location ( example Place Bookmark ) ĊĊĠĠĠĠĠĠĠ Ġverify ( mock Cursor ). close () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġmigrate Table Version From _ v 1 _ to _ v 2 () Ġ{ ĊĠĠĠĠĠĠĠ ĠonUpdate ( database , Ġ 1 , Ġ 2 ) ĊĠĠĠĠĠĠĠ Ġ// ĠTable Ġdid nt Ġexist Ġbefore Ġv 5 ĊĠĠĠĠĠĠĠ Ġverify Zero Interactions ( database ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġmigrate Table Version From _ v 2 _ to _ v 3 () Ġ{ ĊĠĠĠĠĠĠĠ ĠonUpdate ( database , Ġ 2 , Ġ 3 ) ĊĠĠĠĠĠĠĠ Ġ// ĠTable Ġdid nt Ġexist Ġbefore Ġv 5 ĊĠĠĠĠĠĠĠ Ġverify Zero Interactions ( database ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġmigrate Table Version From _ v 3 _ to _ v 4 () Ġ{ ĊĠĠĠĠĠĠĠ ĠonUpdate ( database , Ġ 3 , Ġ 4 ) ĊĠĠĠĠĠĠĠ Ġ// ĠTable Ġdid nt Ġexist Ġbefore Ġv 5 ĊĠĠĠĠĠĠĠ Ġverify Zero Interactions ( database ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġmigrate Table Version From _ v 4 _ to _ v 5 () Ġ{ ĊĠĠĠĠĠĠĠ ĠonUpdate ( database , Ġ 4 , Ġ 5 ) ĊĠĠĠĠĠĠĠ Ġ// ĠTable Ġdid nt Ġchange Ġin Ġversion Ġ 5 ĊĠĠĠĠĠĠĠ Ġverify Zero Interactions ( database ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġmigrate Table Version From _ v 5 _ to _ v 6 () Ġ{ ĊĠĠĠĠĠĠĠ ĠonUpdate ( database , Ġ 5 , Ġ 6 ) ĊĠĠĠĠĠĠĠ Ġ// ĠTable Ġdid nt Ġchange Ġin Ġversion Ġ 6 ĊĠĠĠĠĠĠĠ Ġverify Zero Interactions ( database ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġmigrate Table Version From _ v 6 _ to _ v 7 () Ġ{ ĊĠĠĠĠĠĠĠ ĠonUpdate ( database , Ġ 6 , Ġ 7 ) ĊĠĠĠĠĠĠĠ Ġ// ĠTable Ġdid nt Ġchange Ġin Ġversion Ġ 7 ĊĠĠĠĠĠĠĠ Ġverify Zero Interactions ( database ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġmigrate Table Version From _ v 7 _ to _ v 8 () Ġ{ ĊĠĠĠĠĠĠĠ ĠonUpdate ( database , Ġ 7 , Ġ 8 ) ĊĠĠĠĠĠĠĠ Ġverify ( database ). exec SQL ( CREATE _ TABLE _ STATE MENT ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġmigrate Table Version From _ v 1 2 _ to _ v 1 3 () Ġ{ ĊĠĠĠĠĠĠĠ ĠonUpdate ( database , Ġ 1 2 , Ġ 1 3 ) ĊĠĠĠĠĠĠĠ Ġverify ( database ). exec SQL (" ALTER ĠTABLE Ġbook marks Locations ĠADD ĠCOLUMN Ġlocation _ destroy ed ĠSTRING ; ") ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġmigrate Table Version From _ v 1 3 _ to _ v 1 4 () Ġ{ ĊĠĠĠĠĠĠĠ ĠonUpdate ( database , Ġ 1 3 , Ġ 1 4 ) ĊĠĠĠĠĠĠĠ Ġverify ( database ). exec SQL (" ALTER ĠTABLE Ġbook marks Locations ĠADD ĠCOLUMN Ġlocation _ language ĠSTRING ; ") ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġprivate Ġfun Ġcreate Cursor ( rowCount : ĠInt ) Ġ= ĠMatrix Cursor ( columns , Ġrow Count ). apply Ġ{ ĊĊĠĠĠĠĠĠĠ Ġfor Ġ( i Ġin Ġ 0 Ġuntil Ġrow Count ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġadd Row ( listOf (" place Name ", Ġ" en ", Ġ" place Description ", Ġ" place Category ", Ġexample Label . text , Ġexample Label . icon , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġexample Uri , Ġbuilder . build (). wikipedia Link , Ġbuilder . build (). wik idata Link , Ġbuilder . build (). commons Link , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġexample Location . latitude , Ġexample Location . longitude , Ġ" pic Name ", Ġ" place Destroyed ")) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ