package Ġm ary k . core . query . changes Ċ Ċ import Ġm ary k . check Json Conversion Ċ import Ġm ary k . check Proto Buf Conversion Ċ import Ġm ary k . check Yaml Conversion Ċ import Ġm ary k . core . extensions . to Unit Lambda Ċ import Ġm ary k . core . query . RequestContext Ċ import Ġm ary k . core . values . div Ċ import Ġm ary k . lib . time . DateTime Ċ import Ġm ary k . test . models . Complete M ary k Model Ċ import Ġm ary k . test . models . Embedded M ary k Model Ċ import Ġm ary k . test . models . Test M ary k Model Ċ import Ġkotlin . test . Test Ċ import Ġkotlin . test . assertEquals Ċ import Ġkotlin . test . expect Ċ Ċ class ĠInc Map Addition Test Ġ{ ĊĠĠĠ Ġprivate Ġval Ġinc Map Addition Ġ= ĠInc Map Addition ( ĊĠĠĠĠĠĠĠ ĠInc Map Key Add itions ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠComplete M ary k Model Ġ{ Ġinc Map :: ref Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠ ĠlistOf ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 2 2 u , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 2 3 u ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠlistOf ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠEmbedded M ary k Model ( value Ġ= Ġ" ho "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠEmbedded M ary k Model ( value Ġ= Ġ" ha ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ) ĊĊĠĠĠ Ġprivate Ġval Ġinc Map Less Addition Ġ= ĠInc Map Addition ( ĊĠĠĠĠĠĠĠ ĠInc Map Key Add itions ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠComplete M ary k Model Ġ{ Ġinc Map :: ref Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠ ĠlistOf ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 2 2 u , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 2 3 u ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ) ĊĊĠĠĠ Ġprivate Ġval Ġcontext Ġ= ĠRequest Context ( ĊĠĠĠĠĠĠĠ Ġmap Of ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠComplete M ary k Model . name Ġto Unit Lambda Ġ{ ĠComplete M ary k Model Ġ} ĊĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠ Ġdata Model Ġ= ĠComplete M ary k Model ĊĠĠĠ Ġ) ĊĊĠĠĠ Ġprivate Ġval Ġen ric hed Context Ġ= ĠRequest Context ( ĊĠĠĠĠĠĠĠ Ġdata Models Ġ= Ġmap Of ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠComplete M ary k Model . name Ġto Unit Lambda Ġ{ ĠComplete M ary k Model Ġ} ĊĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠ Ġdata Model Ġ= ĠComplete M ary k Model ĊĠĠĠ Ġ). apply Ġ{ ĊĠĠĠĠĠĠĠ Ġcollect Inc Map Change ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠInc Map Change ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠComplete M ary k Model Ġ{ Ġinc Map :: ref Ġ}. change ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠlistOf ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠEmbedded M ary k Model ( value Ġ= Ġ" ho "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠEmbedded M ary k Model ( value Ġ= Ġ" ha ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġval Ġconversion Checker Ġ= Ġ{ Ġconverted : ĠInc Map Addition , Ġ_: ĠInc Map Addition Ġ-> ĊĠĠĠĠĠĠĠ ĠassertEquals ( inc Map Less Addition , Ġconverted ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun ĠconvertTo Proto Buf And Back Without En ric hed Context () Ġ{ ĊĠĠĠĠĠĠĠ Ġcheck Proto Buf Conversion ( this . inc Map Addition , ĠInc Map Addition , Ġ{ Ġthis . context Ġ}, Ġconversion Checker ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun ĠconvertTo JSON And Back Without En ric hed Context () Ġ{ ĊĠĠĠĠĠĠĠ Ġcheck Json Conversion ( this . inc Map Addition , ĠInc Map Addition , Ġ{ Ġthis . context Ġ}, Ġconversion Checker ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun ĠconvertTo YAML And Back Without En ric hed Context () Ġ{ ĊĠĠĠĠĠĠĠ Ġexpect ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠ Ġinc Map : ĊĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġadded Keys : Ġ[ 2 2 , Ġ 2 3 ] ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ""" . trim Indent () ĊĠĠĠĠĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcheck Yaml Conversion ( this . inc Map Addition , ĠInc Map Addition , Ġ{ Ġthis . context Ġ}, Ġconversion Checker ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun ĠconvertTo Proto Buf And Back With En ric hed Context () Ġ{ ĊĠĠĠĠĠĠĠ Ġcheck Proto Buf Conversion ( this . inc Map Addition , ĠInc Map Addition , Ġ{ Ġen ric hed Context Ġ}) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun ĠconvertTo JSON And Back With En ric hed Context () Ġ{ ĊĠĠĠĠĠĠĠ Ġcheck Json Conversion ( this . inc Map Addition , ĠInc Map Addition , Ġ{ Ġen ric hed Context Ġ}) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun ĠconvertTo YAML And Back With En ric hed Context () Ġ{ ĊĠĠĠĠĠĠĠ Ġexpect ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠ Ġinc Map : ĊĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġadded Keys : Ġ[ 2 2 , Ġ 2 3 ] ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ""" . trim Indent () ĊĠĠĠĠĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcheck Yaml Conversion ( this . inc Map Addition , ĠInc Map Addition , Ġ{ Ġen ric hed Context Ġ}) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġchange Values Test () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġoriginal Ġ= ĠTest M ary k Model ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġstring Ġ= Ġ" hello Ġworld ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġint Ġ= Ġ 5 , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġuint Ġ= Ġ 3 u , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdouble Ġ= Ġ 2 . 3 , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠdateTime Ġ= ĠDateTime ( 2 0 1 8 , Ġ 7 , Ġ 1 8 ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġinc Map Ġ= Ġmap Of ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 1 u Ġto Ġ" one ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 2 u Ġto Ġ" two ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 3 u Ġto Ġ" three " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġembedded Values Ġ= ĠEmbedded M ary k Model ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvalue Ġ= Ġ" test ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm ary k Model Ġ= ĠTest M ary k Model ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstring Ġ= Ġ" hi Ġworld ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġint Ġ= Ġ 3 , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġuint Ġ= Ġ 6 7 u , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdouble Ġ= Ġ 2 3 2 5 2 3 . 3 , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠdateTime Ġ= ĠDateTime ( 2 0 2 0 , Ġ 1 0 , Ġ 1 8 ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġinc Map Ġ= Ġmap Of ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 1 1 u Ġto Ġ" ele ven ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 1 2 u Ġto Ġ" tw el ve ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 1 3 u Ġto Ġ" th ir teen " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġval Ġchanged Ġ= Ġoriginal . change ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠInc Map Addition ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠInc Map Key Add itions ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠTest M ary k Model Ġ{ Ġinc Map :: ref Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġadded Keys Ġ= ĠlistOf ( 4 u , Ġ 5 u ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġadded Values Ġ= ĠlistOf ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" four ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" five " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ ĠassertEquals ( map Of ( ĊĠĠĠĠĠĠĠĠĠĠĠĠ 1 u Ġto Ġ" one ", ĊĠĠĠĠĠĠĠĠĠĠĠĠ 2 u Ġto Ġ" two ", ĊĠĠĠĠĠĠĠĠĠĠĠĠ 3 u Ġto Ġ" three ", ĊĠĠĠĠĠĠĠĠĠĠĠĠ 4 u Ġto Ġ" four ", ĊĠĠĠĠĠĠĠĠĠĠĠĠ 5 u Ġto Ġ" five " ĊĠĠĠĠĠĠĠ Ġ), Ġchanged Ġ{ Ġinc Map Ġ}) ĊĊĠĠĠĠĠĠĠ ĠassertEquals ( map Of ( ĊĠĠĠĠĠĠĠĠĠĠĠĠ 1 u Ġto Ġ" one ", ĊĠĠĠĠĠĠĠĠĠĠĠĠ 2 u Ġto Ġ" two ", ĊĠĠĠĠĠĠĠĠĠĠĠĠ 3 u Ġto Ġ" three " ĊĠĠĠĠĠĠĠ Ġ), Ġoriginal Ġ{ Ġinc Map Ġ}) ĊĊĠĠĠĠĠĠĠ Ġval Ġdeep Changed Ġ= Ġoriginal . change ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠInc Map Addition ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠInc Map Key Add itions ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠTest M ary k Model Ġ{ Ġembedded Values Ġ{ Ġm ary k Model Ġ{ Ġinc Map :: ref Ġ} Ġ} Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġadded Keys Ġ= ĠlistOf ( 1 4 u , Ġ 1 5 u ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġadded Values Ġ= ĠlistOf ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" four teen ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" fif teen " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ ĠassertEquals ( map Of ( ĊĠĠĠĠĠĠĠĠĠĠĠĠ 1 1 u Ġto Ġ" ele ven ", ĊĠĠĠĠĠĠĠĠĠĠĠĠ 1 2 u Ġto Ġ" tw el ve ", ĊĠĠĠĠĠĠĠĠĠĠĠĠ 1 3 u Ġto Ġ" th ir teen ", ĊĠĠĠĠĠĠĠĠĠĠĠĠ 1 4 u Ġto Ġ" four teen ", ĊĠĠĠĠĠĠĠĠĠĠĠĠ 1 5 u Ġto Ġ" fif teen " ĊĠĠĠĠĠĠĠ Ġ), Ġdeep Changed Ġ{ Ġembedded Values Ġ} Ġ/ Ġ{ Ġm ary k Model Ġ} Ġ/ Ġ{ Ġinc Map Ġ}) ĊĠĠĠĠĠĠĠ ĠassertEquals ( map Of ( ĊĠĠĠĠĠĠĠĠĠĠĠĠ 1 1 u Ġto Ġ" ele ven ", ĊĠĠĠĠĠĠĠĠĠĠĠĠ 1 2 u Ġto Ġ" tw el ve ", ĊĠĠĠĠĠĠĠĠĠĠĠĠ 1 3 u Ġto Ġ" th ir teen " ĊĠĠĠĠĠĠĠ Ġ), Ġoriginal Ġ{ Ġembedded Values Ġ} Ġ/ Ġ{ Ġm ary k Model Ġ} Ġ/ Ġ{ Ġinc Map Ġ}) ĊĠĠĠ Ġ} Ċ } Ċ