package Ġso y . gab im ore no . aud ioc lean . domain . use case Ċ Ċ import Ġandroid . media . Audio Recording Configuration Ċ import Ġarrow . core . Either Ċ import Ġio . mock k . every Ċ import Ġio . mock k . mock k Ċ import Ġorg . junit . Assert . assertTrue Ċ import Ġorg . junit . Test Ċ import Ġso y . gab im ore no . aud ioc lean . framework . Get Active Recording Configurations Ċ Ċ class ĠGet Audio SessionId UseCase Test Ġ{ ĊĊĠĠĠ Ġprivate Ġval Ġget Active Recording Configurations UseCase Ġ= Ġmock k < Get Active Recording Configurations >() ĊĠĠĠ Ġprivate Ġval Ġaudio Recording Configuration Ġ= Ġmock k < Audio Recording Configuration >() ĊĠĠĠ Ġprivate Ġval Ġaudio Recording Configurations Ġ= Ġmock k < List < Audio Recording Configuration >>() ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` if Ġthere Ġis Ġno Ġactive Ġsession , Ġthen Ġreturns Ġthen Ġcorresponding Ġerror `() Ġ{ ĊĠĠĠĠĠĠĠ Ġgiven No Active Sessions () ĊĠĠĠĠĠĠĠ Ġval Ġuse Case Ġ= Ġbuild Get Audio SessionId UseCase () ĊĊĠĠĠĠĠĠĠ Ġval Ġaudio SessionId Ġ= Ġuse Case () ĊĊĠĠĠĠĠĠĠ ĠassertTrue ( Get Audio SessionId UseCase . Error . No Active Recording Configuration . type Ġ== Ġaudio SessionId ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` if Ġno Ġaudio Session Ġis Ġfound Ġin Ġany Ġof Ġthe Ġactive Ġsessions , Ġthen Ġreturns Ġthe Ġcorresponding Ġerror `() Ġ{ ĊĠĠĠĠĠĠĠ Ġgiven Active Sessions () ĊĠĠĠĠĠĠĠ Ġevery Ġ{ Ġaudio Recording Configuration . client Audio SessionId Ġ} Ġreturns ĠGet Audio SessionId UseCase . Error . No Audio SessionId . type ĊĠĠĠĠĠĠĠ Ġval Ġuse Case Ġ= Ġbuild Get Audio SessionId UseCase () ĊĊĠĠĠĠĠĠĠ Ġval Ġaudio SessionId Ġ= Ġuse Case () ĊĊĠĠĠĠĠĠĠ ĠassertTrue ( Get Audio SessionId UseCase . Error . No Audio SessionId . type Ġ== Ġaudio SessionId ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` if Ġaudio Session Ġis Ġfound Ġin Ġany Ġof Ġthe Ġactive Ġsessions , Ġthen Ġreturns Ġthe Ġaudio SessionId `() Ġ{ ĊĠĠĠĠĠĠĠ Ġgiven Active Sessions () ĊĠĠĠĠĠĠĠ Ġval Ġfake Audio SessionId Ġ= Ġ 1 2 3 4 ĊĠĠĠĠĠĠĠ Ġval Ġfake Audio Recording SessionId Ġ= Ġ 1 2 3 4 Ġ+ ĠGet Audio SessionId UseCase . AUDIO _ SESSION _ ID _ STEP ĊĠĠĠĠĠĠĠ Ġevery Ġ{ Ġaudio Recording Configuration . client Audio SessionId Ġ} Ġreturns Ġfake Audio Recording SessionId ĊĠĠĠĠĠĠĠ Ġval Ġuse Case Ġ= Ġbuild Get Audio SessionId UseCase () ĊĊĠĠĠĠĠĠĠ Ġval Ġaudio SessionId Ġ= Ġuse Case () ĊĊĠĠĠĠĠĠĠ ĠassertTrue ( fake Audio SessionId Ġ== Ġaudio SessionId ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġgiven No Active Sessions () Ġ{ ĊĠĠĠĠĠĠĠ Ġevery Ġ{ Ġget Active Recording Configurations UseCase () Ġ} Ġreturns ĊĠĠĠĠĠĠĠĠĠĠĠ ĠEither . left ( Get Active Recording Configurations . No Active Recording ConfigurationException ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġgiven Active Sessions () Ġ{ ĊĠĠĠĠĠĠĠ Ġevery Ġ{ Ġaudio Recording Configurations [ 0 ] Ġ} Ġreturns Ġaudio Recording Configuration ĊĠĠĠĠĠĠĠ Ġevery Ġ{ Ġget Active Recording Configurations UseCase () Ġ} Ġreturns ĠEither . right ( audio Recording Configurations ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġbuild Get Audio SessionId UseCase () Ġ= ĊĠĠĠĠĠĠĠ ĠGet Audio SessionId UseCase ( getActive Recording Configurations UseCase ) Ċ } Ċ