package Ġcom . line corp . clo va . extension . converter . jackson Ċ Ċ import Ġcom . fasterxml . jackson . databind . ObjectMapper Ċ import Ġcom . line corp . clo va . extension . model . audio . Audio Item Ċ import Ġcom . line corp . clo va . extension . model . audio . Audio Source Ċ import Ġcom . line corp . clo va . extension . model . audio . Audio Stream Info Ċ import Ġcom . line corp . clo va . extension . model . audio . Play Behavior Ċ import Ġcom . line corp . clo va . extension . model . directive . Directive Ċ import Ġcom . line corp . clo va . extension . model . payload . Audio Play Payload Ċ import Ġcom . line corp . clo va . extension . model . response . Clo va Extension Response Ċ import Ġcom . line corp . clo va . extension . model . response . ResponseBody Ċ import Ġcom . line corp . clo va . extension . model . response . Simple Speech Ċ import Ġcom . line corp . clo va . extension . model . response . Speech Info Ċ import Ġcom . line corp . clo va . extension . model . response . Speech Info Type Ċ import Ġcom . line corp . clo va . extension . model . response . Speech List Ċ import Ġcom . line corp . clo va . extension . model . response . Speech Set Ċ import Ġcom . line corp . clo va . extension . model . response . Supported Language Ċ import Ġorg . junit . jupiter . api . Assertions . assertTrue Ċ import Ġorg . junit . jupiter . api . BeforeEach Ċ import Ġorg . junit . jupiter . api . DisplayName Ċ import Ġorg . junit . jupiter . api . Test Ċ Ċ @ DisplayName (" Testing Ġthe Ġresponse Ġserialization ") Ċ class ĠResponse Serialization Test Ġ{ ĊĊĠĠĠ Ġlateinit Ġvar Ġmapper : ĠObjectMapper ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest Response Serialization () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġclo va Response Ġ= ĠClo va Extension Response ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġversion Ġ= Ġ" 0 . 1 . 0 ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsession Attributes Ġ= Ġmap Of (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġresponse Body Ġ= ĠResponse Body ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoutput Speech Ġ= ĠSimple Speech ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvalues Ġ= ĠSpeech Info ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtype Ġ= ĠSpeech Info Type . Plain Text , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlang Ġ= ĠSupported Language . EN , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvalue Ġ= Ġ" This Ġis Ġtest " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdirectives Ġ= Ġarray ListOf (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcards Ġ= Ġarray ListOf (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġshould End Session Ġ= Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġval Ġresult Ġ= Ġmapper . writeValue AsString ( clo va Response ) ĊĠĠĠĠĠĠĠ ĠassertTrue ( result Ġ== Ġ"{\" version \":\" 0 . 1 . 0 \",\" session Attributes \": {}, \" response \": {" Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ"\" output Speech \":{\" type \":\" Simple Speech \",\" values \":{\" type \":\" Plain Text \",\" lang \":\" en \",\" value \":\" This Ġis Ġtest \" }}, " Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ"\" card \": {}, \" directives \": [], \" should End Session \": false }} ") ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest Simple Speech () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġspeech Ġ= ĠSimple Speech ( values Ġ= ĠSpeech Info ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtype Ġ= ĠSpeech Info Type . Plain Text , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlang Ġ= ĠSupported Language . EN , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvalue Ġ= Ġ" This Ġis Ġtest " ĊĠĠĠĠĠĠĠ Ġ)) ĊĠĠĠĠĠĠĠ Ġval Ġresult Ġ= Ġmapper . writeValue AsString ( speech ) ĊĠĠĠĠĠĠĠ ĠassertTrue ("{ \" type \":\" Simple Speech \",\" values \ ":" Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ"{\" type \":\" Plain Text \",\" lang \":\" en \",\" value \":\" This Ġis Ġtest \"" Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" }}" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ== Ġresult ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest Speech List () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġspeech Ġ= ĠSpeech List ( values Ġ= Ġarray ListOf ( Speech Info ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtype Ġ= ĠSpeech Info Type . Plain Text , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlang Ġ= ĠSupported Language . EN , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvalue Ġ= Ġ" This Ġis Ġtest " ĊĠĠĠĠĠĠĠ Ġ))) ĊĠĠĠĠĠĠĠ Ġval Ġresult Ġ= Ġmapper . writeValue AsString ( speech ) ĊĠĠĠĠĠĠĠ ĠassertTrue ("{ \" type \":\" Speech List \",\" values \ ":" Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ"[ {\" type \":\" Plain Text \",\" lang \":\" en \",\" value \":\" This Ġis Ġtest \" }" Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ"] }" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ== Ġresult ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest Speech Set () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġspeech Ġ= ĠSpeech Set ( values Ġ= Ġhash Map Of ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" test 1 " Ġto ĠSpeech Info ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtype Ġ= ĠSpeech Info Type . Plain Text , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlang Ġ= ĠSupported Language . EN , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvalue Ġ= Ġ" This Ġis Ġtest 1 " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" test 2 " Ġto ĠSpeech Info ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtype Ġ= ĠSpeech Info Type . Plain Text , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlang Ġ= ĠSupported Language . JA , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvalue Ġ= Ġ" This Ġis Ġtest 2 " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ)) ĊĠĠĠĠĠĠĠ Ġval Ġresult Ġ= Ġmapper . writeValue AsString ( speech ) ĊĠĠĠĠĠĠĠ ĠassertTrue ("{ \" type \":\" Speech Set \",\" test 1 \": {" Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ"\" type \":\" Plain Text \",\" lang \":\" en \",\" value \":\" This Ġis Ġtest 1 \" }," Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ"\" test 2 \":{\" type \":\" Plain Text \",\" lang \":\" ja \",\" value \":\" This Ġis Ġtest 2 \" }" Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" }" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ== Ġresult ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest Speech Info With Plain Text () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġspeech Info Ġ= ĠSpeech Info ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtype Ġ= ĠSpeech Info Type . Plain Text , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlang Ġ= ĠSupported Language . EN , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvalue Ġ= Ġ" This Ġis Ġtest " ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġval Ġresult Ġ= Ġmapper . writeValue AsString ( speech Info ) ĊĠĠĠĠĠĠĠ ĠassertTrue ("{ \" type \":\" Plain Text \",\" lang \":\" en \",\" value \":\" This Ġis Ġtest \" }" Ġ== Ġresult ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest Speech Info With J apanese () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġspeech Info Ġ= ĠSpeech Info ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtype Ġ= ĠSpeech Info Type . Plain Text , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlang Ġ= ĠSupported Language . JA , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvalue Ġ= Ġ" This Ġis Ġtest " ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġval Ġresult Ġ= Ġmapper . writeValue AsString ( speech Info ) ĊĠĠĠĠĠĠĠ ĠassertTrue ("{ \" type \":\" Plain Text \",\" lang \":\" ja \",\" value \":\" This Ġis Ġtest \" }" Ġ== Ġresult ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest Speech Info With Plain Url () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġspeech Info Ġ= ĠSpeech Info ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtype Ġ= ĠSpeech Info Type . Url , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlang Ġ= ĠSupported Language . EN , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvalue Ġ= Ġ" This Ġis Ġtest " ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġval Ġresult Ġ= Ġmapper . writeValue AsString ( speech Info ) ĊĠĠĠĠĠĠĠ ĠassertTrue ("{ \" type \":\" URL \",\" lang \":\" en \",\" value \":\" This Ġis Ġtest \" }" Ġ== Ġresult ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest Re prompt () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġclo va Response Ġ= ĠClo va Extension Response ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġversion Ġ= Ġ" 0 . 1 . 0 ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsession Attributes Ġ= Ġmap Of (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġresponse Body Ġ= ĠResponse Body ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoutput Speech Ġ= ĠSimple Speech ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvalues Ġ= ĠSpeech Info ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtype Ġ= ĠSpeech Info Type . Plain Text , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlang Ġ= ĠSupported Language . EN , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvalue Ġ= Ġ" This Ġis Ġtest " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdirectives Ġ= Ġarray ListOf (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcards Ġ= Ġarray ListOf (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġshould End Session Ġ= Ġfalse , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrepro mpt Ġ= ĠSimple Speech ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvalues Ġ= ĠSpeech Info ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtype Ġ= ĠSpeech Info Type . Plain Text , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlang Ġ= ĠSupported Language . EN , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvalue Ġ= Ġ" This Ġis Ġrepro mpt Ġtest " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġval Ġresult Ġ= Ġmapper . writeValue AsString ( clo va Response ) ĊĠĠĠĠĠĠĠ ĠassertTrue ( result Ġ== Ġ"{\" version \":\" 0 . 1 . 0 \",\" session Attributes \": {}, \" response \": {" Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ"\" output Speech \": {" Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ"\" type \":\" Simple Speech \ "," Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ"\" values \":{\" type \":\" Plain Text \",\" lang \":\" en \",\" value \":\" This Ġis Ġtest \" }}, " Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ"\" card \": {}, " Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ"\" directives \": [], " Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ"\" should End Session \": false ," Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ"\" re prompt \":{\" output Speech \": {" Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ"\" type \":\" Simple Speech \ "," Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ"\" values \":{\" type \":\" Plain Text \",\" lang \":\" en \",\" value \":\" This Ġis Ġrepro mpt Ġtest \" }} }} }") ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest Session Attributes () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġclo va Response Ġ= ĠClo va Extension Response ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġversion Ġ= Ġ" 0 . 1 . 0 ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsession Attributes Ġ= Ġmap Of ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" my Value " Ġto Ġ 1 2 3 4 , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" my Str " Ġto Ġ" TEST " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġresponse Body Ġ= ĠResponse Body ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoutput Speech Ġ= ĠSimple Speech ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvalues Ġ= ĠSpeech Info ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtype Ġ= ĠSpeech Info Type . Plain Text , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlang Ġ= ĠSupported Language . EN , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvalue Ġ= Ġ" This Ġis Ġtest " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdirectives Ġ= Ġarray ListOf (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcards Ġ= Ġarray ListOf (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġshould End Session Ġ= Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġval Ġresult Ġ= Ġmapper . writeValue AsString ( clo va Response ) ĊĠĠĠĠĠĠĠ ĠassertTrue ( result Ġ== Ġ"{\" version \":\" 0 . 1 . 0 \",\" session Attributes \":{\" my Value \": 1 2 3 4 ,\" my Str \":\" TEST \" }, \" response \": {" Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ"\" output Speech \":{\" type \":\" Simple Speech \",\" values \":{\" type \":\" Plain Text \",\" lang \":\" en \",\" value \":\" This Ġis Ġtest \" }}, " Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ"\" card \": {}, \" directives \": [], \" should End Session \": false }} ") ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġinternal Ġfun Ġtest Directives () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġfactory Ġ= ĠDirective . Audio Play Factory ( requestId Ġ= Ġ" test ") ĊĠĠĠĠĠĠĠ Ġval Ġaudio Play Payload Ġ= ĠAudio Play Payload ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġaudio Item Ġ= ĠAudio Item ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġaudio ItemId Ġ= Ġ" abc de ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtitle Text Ġ= Ġ" test ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtitle Sub Text 1 Ġ= Ġ" sub Test 1 ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstream Ġ= ĠAudio Stream Info ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtoken Ġ= Ġ" token ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġurl Ġ= Ġ" http :// test . com ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġurl Play able Ġ= Ġtrue , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbegin At In Milliseconds Ġ= Ġ 1 0 )), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsource Ġ= ĠAudio Source ( name Ġ= Ġ" w ah aha ", Ġlogo Url Ġ= Ġ" http :// test . com "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġplay Behavior Ġ= ĠPlay Behavior . REPLACE _ ALL ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġval Ġclo va Response Ġ= ĠClo va Extension Response ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġversion Ġ= Ġ" 0 . 1 . 0 ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsession Attributes Ġ= Ġmap Of (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġresponse Body Ġ= ĠResponse Body ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoutput Speech Ġ= ĠSimple Speech ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvalues Ġ= ĠSpeech Info ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtype Ġ= ĠSpeech Info Type . Plain Text , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlang Ġ= ĠSupported Language . EN , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvalue Ġ= Ġ" This Ġis Ġtest " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdirectives Ġ= Ġarray ListOf ( factory . get Play ( audio Play Payload )), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcards Ġ= Ġarray ListOf (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġshould End Session Ġ= Ġfalse , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrepro mpt Ġ= ĠSimple Speech ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvalues Ġ= ĠSpeech Info ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtype Ġ= ĠSpeech Info Type . Plain Text , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlang Ġ= ĠSupported Language . EN , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvalue Ġ= Ġ" This Ġis Ġrepro mpt Ġtest " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġval Ġresult Ġ= Ġmapper . writeValue AsString ( clo va Response ) ĊĠĠĠĠĠĠĠ Ġval Ġexpected Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" {" Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ"\" version \":\" 0 . 1 . 0 \ "," Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ"\" session Attributes \": {}, " Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ"\" response \": {" Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ"\" output Speech \": {" Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ"\" type \":\" Simple Speech \ "," Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ"\" values \": {" Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ"\" type \":\" Plain Text \ "," Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ"\" lang \":\" en \ "," Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ"\" value \":\" This Ġis Ġtest \"" Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" }" Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" }," Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ"\" card \": {}, " Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ"\" directives \": [{" Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ"\" header \": {" Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ"\" name \":\" Play \ "," Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ"\" name Space \":\" Audio Player \ "," Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ"\" dialog RequestId \":\" test \ "," Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ"\" message Id \":\" ${ clo va Response . response Body . directives [ 0 ]. header . message Id }\ "" Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" }," Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ"\" payload \": {" Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ"\" audio Item \": {" Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ"\" audio ItemId \":\" abc de \ "," Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ"\" title Text \":\" test \ "," Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ"\" stream \": {" Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ"\" token \":\" token \ "," Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ"\" url \":\" http :// test . com \ "," Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ"\" url Play able \": true ," Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ"\" begin At In Milliseconds \": 1 0 " Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" }," Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ"\" title Sub Text 1 \":\" sub Test 1 \"" Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" }," Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ"\" source \": {" Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ"\" name \":\" w ah aha \ "," Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ"\" logo Url \":\" http :// test . com \"" Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" }," Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ"\" play Behavior \":\" REPLACE _ ALL \"" Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" }" Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" }], " Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ"\" should End Session \": false ," Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ"\" re prompt \": {" Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ"\" output Speech \": {" Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ"\" type \":\" Simple Speech \ "," Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ"\" values \": {" Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ"\" type \":\" Plain Text \ "," Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ"\" lang \":\" en \ "," Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ"\" value \":\" This Ġis Ġrepro mpt Ġtest \" }} }} }" ĊĊĠĠĠĠĠĠĠ ĠassertTrue ( result Ġ== Ġexpected ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ BeforeEach ĊĠĠĠ Ġinternal Ġfun ĠsetUp () Ġ{ ĊĠĠĠĠĠĠĠ Ġmapper Ġ= Ġclo va ObjectMapper () ĊĠĠĠ Ġ} Ċ } Ċ