package Ġm ary k . core . properties . definitions Ċ Ċ 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 . bytes . MAX _ BYTE Ċ import Ġm ary k . core . extensions . bytes . ZERO _ BYTE Ċ import Ġm ary k . core . properties . types . Key Ċ import Ġm ary k . core . query . Definitions Context Ċ import Ġm ary k . lib . exceptions . ParseException Ċ import Ġm ary k . test . Byte Collector Ċ import Ġm ary k . test . models . Model V 1 Ċ import Ġm ary k . test . models . Model V 1 _ 1 Ċ import Ġm ary k . test . models . Model V 1 _ 1 Wrong Key Ċ import Ġm ary k . test . models . Test M ary k Model Ċ import Ġkotlin . test . Test Ċ import Ġkotlin . test . assert Fails With Ċ import Ġkotlin . test . assertFalse Ċ import Ġkotlin . test . assertTrue Ċ import Ġkotlin . test . expect Ċ Ċ internal Ġclass ĠReference Definition Test Ġ{ ĊĠĠĠ Ġprivate Ġval Ġref To Test Ġ= ĠarrayOf < Key < Test M ary k Model >>( ĊĠĠĠĠĠĠĠ ĠKey ( ByteArray ( 7 ) Ġ{ ĠZERO _ BYTE Ġ}), ĊĠĠĠĠĠĠĠ ĠKey ( ByteArray ( 7 ) Ġ{ ĠMAX _ BYTE Ġ}), ĊĠĠĠĠĠĠĠ ĠKey ( ByteArray ( 7 ) Ġ{ Ġif Ġ( it Ġ% Ġ 2 Ġ== Ġ 1 ) Ġ 0 b 1 0 0 0 _ 1 0 0 0 . to Byte () Ġelse ĠMAX _ BYTE Ġ}) ĊĠĠĠ Ġ) ĊĊĠĠĠ Ġval Ġdef Ġ= ĠReference Definition ( ĊĠĠĠĠĠĠĠ Ġdata Model Ġ= Ġ{ ĠTest M ary k Model Ġ} ĊĠĠĠ Ġ) ĊĠĠĠ Ġval Ġdef Max Defined Ġ= ĠReference Definition ( ĊĠĠĠĠĠĠĠ Ġrequired Ġ= Ġfalse , ĊĠĠĠĠĠĠĠ Ġfinal Ġ= Ġtrue , ĊĠĠĠĠĠĠĠ Ġunique Ġ= Ġtrue , ĊĠĠĠĠĠĠĠ Ġmin Value Ġ= Ġref To Test [ 0 ], ĊĠĠĠĠĠĠĠ ĠmaxValue Ġ= Ġref To Test [ 1 ], ĊĠĠĠĠĠĠĠ Ġdata Model Ġ= Ġ{ ĠTest M ary k Model Ġ}, ĊĠĠĠĠĠĠĠ Ġdefault Ġ= ĠKey ( ByteArray ( 7 ) Ġ{ Ġ 1 Ġ}) ĊĠĠĠ Ġ) ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġhas Values () Ġ{ ĊĠĠĠĠĠĠĠ Ġexpect ( Test M ary k Model ) Ġ{ Ġdef . data Model Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġconvert Values ToString And Back () Ġ{ ĊĠĠĠĠĠĠĠ Ġfor Ġ( key Ġin Ġref To Test ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġb Ġ= Ġdef . asString ( key ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġexpect ( key ) Ġ{ Ġdef . fromString ( b ) Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġinvalid StringValue Should Throw Exception () Ġ{ ĊĠĠĠĠĠĠĠ Ġassert Fails With < ParseException > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdef . fromString (" wrong Â§ ") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġconvert Values To Storage Bytes And Back () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġbc Ġ= ĠByte Collector () ĊĠĠĠĠĠĠĠ Ġfor Ġ( key Ġin Ġref To Test ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbc . reserve ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdef . calculate Storage Byte Length ( key ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdef . write Storage Bytes ( key , Ġbc :: write ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġexpect ( key ) Ġ{ Ġdef . read Storage Bytes ( bc . size , Ġbc :: read ) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbc . reset () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġconvert Values To Transport Bytes And Back () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġbc Ġ= ĠByte Collector () ĊĠĠĠĠĠĠĠ Ġfor Ġ( it Ġin Ġref To Test ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcheck Proto Buf Conversion ( bc , Ġit , Ġthis . def ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġconvert Definition To Proto Buf And Back () Ġ{ ĊĠĠĠĠĠĠĠ Ġcheck Proto Buf Conversion ( this . def , ĠReference Definition . Model , Ġ{ ĠDefinitions Context () Ġ}) ĊĠĠĠĠĠĠĠ Ġcheck Proto Buf Conversion ( this . def Max Defined , ĠReference Definition . Model , Ġ{ ĠDefinitions Context () Ġ}) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġconvert Definition To JSON And Back () Ġ{ ĊĠĠĠĠĠĠĠ Ġcheck Json Conversion ( this . def , ĠReference Definition . Model , Ġ{ ĠDefinitions Context () Ġ}) ĊĠĠĠĠĠĠĠ Ġcheck Json Conversion ( this . def Max Defined , ĠReference Definition . Model , Ġ{ ĠDefinitions Context () Ġ}) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġconvert Definition To YAML And Back () Ġ{ ĊĠĠĠĠĠĠĠ Ġcheck Yaml Conversion ( this . def , ĠReference Definition . Model , Ġ{ ĠDefinitions Context () Ġ}) ĊĊĠĠĠĠĠĠĠ Ġexpect ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrequired : Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfinal : Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġunique : Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmin Value : ĠA AAAAAAAA A ĊĠĠĠĠĠĠĠĠĠĠĠ ĠmaxValue : Ġ// /////// w ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdefault : ĠA QE BA QE BA Q ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdata Model : ĠTest M ary k Model ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ""" . trim Indent () ĊĠĠĠĠĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcheck Yaml Conversion ( this . def Max Defined , ĠReference Definition . Model , Ġ{ ĠDefinitions Context () Ġ}) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġis Compatible () Ġ{ ĊĠĠĠĠĠĠĠ ĠassertTrue Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠReference Definition ( data Model Ġ= Ġ{ ĠModel V 1 Ġ}). compatible With ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠReference Definition ( data Model Ġ= Ġ{ ĠModel V 1 _ 1 Ġ}) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ ĠassertFalse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠReference Definition ( data Model Ġ= Ġ{ ĠModel V 1 Ġ}). compatible With ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠReference Definition ( data Model Ġ= Ġ{ ĠModel V 1 _ 1 Wrong Key Ġ}) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ ĠassertFalse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠReference Definition ( data Model Ġ= Ġ{ ĠModel V 1 Ġ}). compatible With ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠReference Definition ( data Model Ġ= Ġ{ ĠTest M ary k Model Ġ}) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ