package Ġcom . dz ir bel . k otify . properties Ċ Ċ import Ġcom . dz ir bel . k otify . network . model . Spot ify Playlist Track Ċ import Ġcom . dz ir bel . k otify . network . model . Spot ify Saved Track Ċ import Ġcom . dz ir bel . k otify . network . model . Spot ify Track Ċ import Ġcom . google . common . truth . Truth . assertThat Ċ Ċ data Ġclass ĠTrack Properties ( ĊĠĠĠ Ġoverride Ġval Ġid : ĠString ?, ĊĠĠĠ Ġoverride Ġval Ġname : ĠString , ĊĠĠĠ Ġval Ġartist Names : ĠSet < String >, ĊĠĠĠ Ġval Ġdisc Number : ĠInt Ġ= Ġ 1 , ĊĠĠĠ Ġval Ġexplicit : ĠBoolean Ġ= Ġfalse , ĊĠĠĠ Ġval Ġis Local : ĠBoolean Ġ= Ġfalse , ĊĠĠĠ Ġval Ġtrack Number : ĠInt , ĊĠĠĠ Ġval Ġadded By : ĠString ? Ġ= Ġnull , ĊĠĠĠ Ġval Ġadded At : ĠString ? Ġ= Ġnull Ċ ) Ġ: ĠObject Properties ( type Ġ= Ġ" track ", Ġhref Null Ġ= Ġis Local ) Ġ{ ĊĠĠĠ Ġfun Ġcheck ( track : ĠSpotify Track ) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . check ( track ) ĊĊĠĠĠĠĠĠĠ ĠassertThat ( track . artists . map Ġ{ Ġit . name Ġ}). contains Exactly Elements In ( artist Names ) ĊĠĠĠĠĠĠĠ ĠassertThat ( track . track Number ). isEqualTo ( track Number ) ĊĠĠĠĠĠĠĠ ĠassertThat ( track . disc Number ). isEqualTo ( disc Number ) ĊĠĠĠĠĠĠĠ ĠassertThat ( track . duration Ms ). is At Least ( 0 ) ĊĠĠĠĠĠĠĠ ĠassertThat ( track . explicit ). isEqualTo ( explicit ) ĊĠĠĠĠĠĠĠ ĠassertThat ( track . is Local ). isEqualTo ( is Local ) ĊĠĠĠĠĠĠĠ ĠassertThat ( track . external Urls ). isNotNull () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġcheck ( playlist Track : ĠSpotify Playlist Track ) Ġ{ ĊĠĠĠĠĠĠĠ Ġcheck ( playlist Track . track ) ĊĊĠĠĠĠĠĠĠ ĠassertThat ( playlist Track . is Local ). isEqualTo ( is Local ) ĊĠĠĠĠĠĠĠ Ġadded By ?. let Ġ{ ĠassertThat ( playlist Track . added By . id ). isEqualTo ( it ) Ġ} ĊĠĠĠĠĠĠĠ Ġadded At ?. let Ġ{ ĠassertThat ( playlist Track . added At ). isEqualTo ( it ) Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġcheck ( saved Track : ĠSpotify Saved Track ) Ġ{ ĊĠĠĠĠĠĠĠ Ġcheck ( saved Track . track ) ĊĊĠĠĠĠĠĠĠ ĠassertThat ( added At ). isNotNull () ĊĠĠĠĠĠĠĠ ĠassertThat ( saved Track . added At ). isEqualTo ( added At ) ĊĠĠĠ Ġ} Ċ } Ċ