package Ġcom . github . che ap mon . bal ala ika . data . map pers Ċ Ċ import Ġcom . github . che ap mon . bal ala ika . data . db . category . Category Entity Ċ import Ġcom . github . che ap mon . bal ala ika . data . db . category . Widget Type Ċ import Ġcom . github . che ap mon . bal ala ika . data . db . entry . Dictionary Entry Dao Ċ import Ġcom . github . che ap mon . bal ala ika . data . db . entry . Dictionary Entry Entity Ċ import Ġcom . github . che ap mon . bal ala ika . data . db . lex eme . L exe me Entity Ċ import Ġcom . github . che ap mon . bal ala ika . data . db . property . Property Entity Ċ import Ġcom . github . che ap mon . bal ala ika . data . db . view . Dictionary View Entity Ċ import Ġcom . github . che ap mon . bal ala ika . data . db . view . Dictionary View With Categories Ċ import Ġcom . github . che ap mon . bal ala ika . model . Dictionary Entry Ċ import Ġcom . github . che ap mon . bal ala ika . model . Property Ċ import Ġkotlinx . coroutines . Experimental Cor outines Api Ċ import Ġkotlinx . coroutines . test . run Blocking Test Ċ import Ġorg . junit . Assert Ċ import Ġorg . junit . Test Ċ import Ġorg . mockito . Mockito .` when ` Ċ import Ġorg . mockito . Mockito . mock Ċ import Ġjava . util .* Ċ Ċ @ Opt In ( Experimental Cor outines Api :: class ) Ċ internal Ġclass ĠProperty Entity To Property Test Ġ{ ĊĠĠĠ Ġprivate Ġval Ġdictionary Entry Dao Ġ= Ġmock ( Dictionary Entry Dao :: class . java ) ĊĠĠĠ Ġprivate Ġval Ġto Dictionary Entry Ġ= Ġmock ( Dictionary Entry Entity To Dictionary Entry Mapper :: class . java ) ĊĊĠĠĠ Ġprivate Ġval Ġentry Ġ= ĠDictionary Entry ( ĊĠĠĠĠĠĠĠ Ġid Ġ= Ġ" lex _ a ", ĊĠĠĠĠĠĠĠ Ġrepresentation Ġ= Ġ" L exe me ĠA ", ĊĠĠĠĠĠĠĠ Ġbase Ġ= Ġnull , ĊĠĠĠĠĠĠĠ Ġproperties Ġ= ĠTreeMap (), ĊĠĠĠĠĠĠĠ Ġbookmark Ġ= Ġnull ĊĠĠĠ Ġ) ĊĊĠĠĠ Ġprivate Ġval Ġmake Triple Ġ= Ġ{ Ġvalue : ĠString , Ġwidget Type : ĠWidget Type , Ġprop : ĠProperty Ġ-> ĊĠĠĠĠĠĠĠ ĠTrip le ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠProperty Entity ( 1 , Ġ" cat _ a ", Ġ" dic _ a ", Ġ" lex _ a ", Ġvalue ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠCategory Entity (" cat _ a ", Ġ" dic _ a ", Ġ"", Ġwidget Type , Ġ"", Ġ 0 , Ġfalse , Ġfalse ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġprop ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĠĠĠ Ġprivate Ġval Ġvalues : ĠList < Triple < Property Entity , ĠCategory Entity , ĠProperty >> Ġ= ĠlistOf ( ĊĠĠĠĠĠĠĠ Ġmake Triple (" name ;;; value ", ĠWidget Type . AUDIO , ĠProperty . Audio (" name ", Ġ" value ")), ĊĠĠĠĠĠĠĠ Ġmake Triple (" name ;;; value ", ĠWidget Type . EXAMPLE , ĠProperty . Example (" name ", Ġ" value ")), ĊĠĠĠĠĠĠĠ Ġmake Triple (" value ", ĠWidget Type . KEY _ VALUE , ĠProperty . Simple (" value ")), ĊĠĠĠĠĠĠĠ Ġmake Triple (" a | b | c ", ĠWidget Type . MOR P HO LOG Y , ĠProperty . Morph ology ( listOf (" a ", Ġ" b ", Ġ" c ")) ), ĊĠĠĠĠĠĠĠ Ġmake Triple (" value ", ĠWidget Type . PLAIN , ĠProperty . Plain (" value ")), ĊĠĠĠĠĠĠĠ Ġmake Triple (" name ;;; lex _ a ", ĠWidget Type . REFERENCE , ĠProperty . Reference ( entry )), ĊĠĠĠĠĠĠĠ Ġmake Triple (" name ;;; value ", ĠWidget Type . URL , ĠProperty . Url (" name ", Ġ" value ")), ĊĠĠĠĠĠĠĠ Ġmake Triple (" name ;;; value ", ĠWidget Type . WORD NET , ĠProperty . Word net (" name ", Ġ" value ")) ĊĠĠĠ Ġ) ĊĊĠĠĠ Ġprivate Ġval Ġmapper Ġ= ĠProperty Entity To Property ( dictionary Entry Dao ) ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġmaps To Property () Ġ= Ġrun Blocking Test Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġentity Ġ= ĠDictionary Entry Entity ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġle xe me Ġ= ĠL exe me Entity ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġid Ġ= Ġ" lex _ a ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdictionary Id Ġ= Ġ" dic _ a ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġform Ġ= Ġ" L exe me ĠA ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbase Id Ġ= Ġnull ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbase Ġ= Ġnull , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġproperties Ġ= Ġempty List (), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbookmark Ġ= Ġnull ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġval Ġview Ġ= ĠDictionary View With Categories ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdictionary View Ġ= ĠDictionary View Entity ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġid Ġ= Ġ" view _ a ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdictionary Id Ġ= Ġ" dic _ a ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġname Ġ= Ġ" View ĠA " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcategories Ġ= Ġempty List () ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġ` when `( dictionary Entry Dao . find Entry ById (" dic _ a ", Ġ" lex _ a ")) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. thenReturn ( entity ) ĊĠĠĠĠĠĠĠ Ġ` when `( to Dictionary Entry ( entity , Ġview )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. thenReturn ( entry ) ĊĊĠĠĠĠĠĠĠ Ġfor Ġ(( prop , Ġcategory , Ġexpected ) Ġin Ġvalues ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġresult Ġ= Ġmapper ( prop , Ġcategory , Ġview , Ġto Dictionary Entry ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAssert . assertEquals ( expected , Ġresult ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ