package Ġcom . github . lj tf re itas . jul ian . k Ċ Ċ import Ġcom . github . lj tf re itas . jul ian . Arguments Ċ import Ġcom . github . lj tf re itas . jul ian . Collection Response T Ċ import Ġcom . github . lj tf re itas . jul ian . Endpoint Ċ import Ġcom . github . lj tf re itas . jul ian . Java Type Ċ import Ġcom . github . lj tf re itas . jul ian . Java Type . Wildcard Ċ import Ġcom . github . lj tf re itas . jul ian . Object Response T Ċ import Ġcom . github . lj tf re itas . jul ian . Promise Ċ import Ġcom . github . lj tf re itas . jul ian . Response Ċ import Ġcom . github . lj tf re itas . jul ian . Stream Response T Ċ import Ġio . kot est . core . spec . style . Describe Spec Ċ import Ġio . kot est . matchers . sequences . should Contain Exactly Ċ import Ġio . kot est . matchers . shouldBe Ċ import Ġio . mock k . every Ċ import Ġio . mock k . mock k Ċ import Ġjava . util . stream . Stream Ċ Ċ class ĠSequence Response T Test Ġ: ĠDescribe Spec ({ ĊĊĠĠĠ Ġval Ġsubject Ġ= ĠSequence Response T ĊĊĠĠĠ Ġval Ġendpoint Ġ= Ġmock k < Endpoint >() ĊĊĠĠĠ Ġdescribe (" a ĠResponse T Ġinstance Ġfor ĠSequence < T > Ġvalues ") Ġ{ ĊĊĠĠĠĠĠĠĠ Ġdescribe (" predicates ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġit (" supports ĠSequence < T > Ġas Ġfunction Ġreturn Ġtype ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġevery Ġ{ Ġendpoint . returnType () Ġ} Ġreturns ĠJava Type . parameter ized ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠSequence :: class . java , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠW ildcard . lower ( String :: class . java ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsubject . test ( endpoint ) ĠshouldBe Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġit (" does n 't Ġsupport Ġany Ġother Ġreturn Ġtype ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġevery Ġ{ Ġendpoint . returnType () Ġ} Ġreturns ĠJava Type . valueOf ( String :: class . java ) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsubject . test ( endpoint ) ĠshouldBe Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġdescribe (" adapt Ġto Ġexpected Ġtype ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġit (" ad ap ts Ġa ĠSequence < T > Ġto ĠStream < T >") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġevery Ġ{ Ġendpoint . returnType () Ġ} Ġreturns ĠJava Type . parameter ized ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠSequence :: class . java , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠW ildcard . lower ( String :: class . java ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsubject . adapt ed ( endpoint ) ĠshouldBe ĠJava Type . parameter ized ( Stream :: class . java , ĠString :: class . java ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġdescribe (" bind ") Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġit (" bind Ġa ĠStream < T > Ġto Ġa ĠSequence < T >") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġfn Ġ= Ġsubject . bind < Collection < Any >>( endpoint , Ġnext Ġ= ĠStream Response T () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. bind ( endpoint , ĠCollection Response T () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. bind ( endpoint , ĠObject Response T < Collection < Any >>() ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. bind ( endpoint , Ġnull )))) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġsequence Ġ= Ġfn . join ( Promise . done ( Response . done ( listOf (" one ", Ġ" two ", Ġ" three ")) ), ĠArguments . empty ()) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsequence Ġshould Contain Exactly Ġsequence Of (" one ", Ġ" two ", Ġ" three ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }) Ċ