package Ġjson Ċ Ċ import Ġdev . sch la ubi . lav ak ord . rest . Track Response Ċ import Ġjson . src .* Ċ import Ġkotlin . js . Js Name Ċ import Ġkotlin . test . Test Ċ import Ġkotlin . test . assertTrue Ċ Ċ val Ġnever G on na Give You Up Ġ= ĠTrack Response . Partial Track ( ĊĠĠĠ Ġ" Q AAA jQ IA J VJ p Y 2 sg Q XN 0 b GV 5 IC 0 g T mV 2 ZX Ig R 2 9 ub m Eg R 2 l 2 ZSB Zb 3 Ug VX AAD l Jp Y 2 t Bc 3 Rs ZX l WR V ZP AAAAAA AD PC AAC 2 RR dz R 3 OV dn W GN R AA E AK 2 h 0 d HB z Oi 8 vd 3 d 3 Ln lv d XR 1 Ym Uu Y 2 9 t L 3 d hdG No P 3 Y 9 Z FF 3 NH c 5 V 2 d YY 1 E AB 3 lv d XR 1 Ym U AAAAAAAA AAA ==", ĊĠĠĠ ĠTrack Response . Partial Track . Info ( ĊĠĠĠĠĠĠĠ Ġ" d Qw 4 w 9 Wg Xc Q ", ĊĠĠĠĠĠĠĠ Ġtrue , ĊĠĠĠĠĠĠĠ Ġ" R ick Ast ley VE VO ", ĊĠĠĠĠĠĠĠĠ 2 1 2 0 0 0 , ĊĠĠĠĠĠĠĠ Ġfalse , ĊĠĠĠĠĠĠĠĠ 0 , ĊĠĠĠĠĠĠĠ Ġ" R ick ĠAst ley Ġ- ĠNever ĠG on na ĠGive ĠYou ĠUp ", ĊĠĠĠĠĠĠĠ Ġ" https :// www . youtube . com / watch ? v = d Qw 4 w 9 Wg Xc Q ", ĊĠĠĠĠĠĠĠ Ġ" youtube " ĊĠĠĠ Ġ) Ċ ) Ċ Ċ class ĠTrack Rest Test Ġ{ ĊĊĊĠĠĠ Ġ@ Js Name (" test Single Track ") ĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` test Ġsingle Ġtrack Ġloaded `() Ġ{ ĊĠĠĠĠĠĠĠ Ġtest < Track Response >( TRACK _ LOADED ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġload Type ĠshouldBe ĠTrack Response . Load Type . TRACK _ LOADED ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtracks ĠshouldBe ĠlistOf ( never G on na Give You Up ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Js Name (" test Playlist And SearchResult ") ĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` test Ġplaylist Ġand Ġsearch Result Ġloaded `() Ġ{ ĊĠĠĠĠĠĠĠ Ġfun ĠTrack Response . validate Tracks () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtracks ĠshouldBe ĠlistOf ( never G on na Give You Up , Ġnever G on na Give You Up , Ġnever G on na Give You Up ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġtest < Track Response >( SEARCH _ RESULT ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġload Type ĠshouldBe ĠTrack Response . Load Type . SEARCH _ RESULT ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvalidate Tracks () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġtest < Track Response >( PLAY LIST _ LOADED ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġload Type ĠshouldBe ĠTrack Response . Load Type . PLAY LIST _ LOADED ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvalidate Tracks () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġplaylist Info Ġ= Ġget Playlist Info () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġplaylist Info Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġname ĠshouldBe Ġ" Example ĠYouTube ĠPlaylist " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġselected Track ĠshouldBe Ġ 3 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Js Name (" test No Results ") ĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` test Ġno Ġresults Ġfound `() Ġ{ ĊĠĠĠĠĠĠĠ Ġtest < Track Response >( NO _ MATCH ES ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġload Type ĠshouldBe ĠTrack Response . Load Type . NO _ MATCH ES ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertTrue ( tracks . isEmpty ()) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Js Name (" test Load Failed ") ĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` test Ġload Ġfailed `() Ġ{ ĊĠĠĠĠĠĠĠ Ġtest < Track Response >( LOAD _ FAILED ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġload Type ĠshouldBe ĠTrack Response . Load Type . LOAD _ FAILED ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertTrue ( tracks . isEmpty ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġexception Ġ= Ġget Exception () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġexception Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmessage ĠshouldBe Ġ" The Ġup loader Ġhas Ġnot Ġmade Ġthis Ġvideo Ġavailable Ġin Ġyour Ġcountry ." ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġseverity ĠshouldBe ĠTrack Response . Error . Severity . COMMON ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ