package Ġorg . kode in . db . impl . data Ċ Ċ import Ġorg . kode in . db . Value Ċ import Ġorg . kode in . db . test . utils . assert Bytes Equals Ċ import Ġorg . kode in . db . test . utils . array Ċ import Ġorg . kode in . db . test . utils . int Ċ import Ġorg . kode in . db . test . utils . ushort Ċ import Ġorg . kode in . db . toArray Memory Ċ import Ġorg . kode in . memory . io . Allocation Ċ import Ġorg . kode in . memory . io . as Memory Ċ import Ġorg . kode in . memory . io . native Ċ import Ġorg . kode in . memory . use Ċ import Ġorg . kode in . memory . util . defer Scope Ċ import Ġkotlin . test . Test Ċ import Ġkotlin . test . assertEquals Ċ import Ġkotlin . test . assertNull Ċ Ċ @ Suppress (" ClassName ") Ċ class ĠData Keys Tests _ 0 1 _ Index Key Ġ{ ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest 0 0 _ Simple Index Key () Ġ{ ĊĠĠĠĠĠĠĠ Ġdefer Scope Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġid Ġ= ĠValue . of (" one ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġindex Size Ġ= Ġget Index Key Size ( id . toArray Memory (), Ġ" Symbols ", ĠValue . of (" alpha ")) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals ( 2 4 , Ġindex Size ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġindex Key Ġ= ĠAl location . native ( index Size ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġwrite Index Key ( 1 , Ġid . toArray Memory (), Ġ" Symbols ", ĠValue . of (" alpha ")) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}. use In Scope () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġassert Bytes Equals ( array (' i ', Ġ 0 , Ġint ( 1 ), Ġ" Symbols ", Ġ 0 , Ġ" alpha ", Ġ 0 , Ġ" one ", Ġ 0 ), Ġindex Key ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest 0 1 _ Composite Index Key () Ġ{ ĊĠĠĠĠĠĠĠ Ġdefer Scope Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġid Ġ= ĠValue . of (" one ", Ġ" two ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġindex Size Ġ= Ġget Index Key Size ( id . toArray Memory (), Ġ" Symbols ", ĠValue . of (" alpha ", Ġ" beta ")) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals ( 3 3 , Ġindex Size ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġindex Key Ġ= ĠAl location . native ( index Size ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġwrite Index Key ( 1 , Ġid . toArray Memory (), Ġ" Symbols ", ĠValue . of (" alpha ", Ġ" beta ")) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}. use In Scope () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġassert Bytes Equals ( array (' i ', Ġ 0 , Ġint ( 1 ), Ġ" Symbols ", Ġ 0 , Ġ" alpha ", Ġ 0 , Ġ" beta ", Ġ 0 , Ġ" one ", Ġ 0 , Ġ" two ", Ġ 0 ), Ġindex Key ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest 0 2 _ Simple Index Key Start () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġsize Ġ= Ġget Index Key Start Size (" Symbols ", ĠValue . of (" alpha ")) ĊĠĠĠĠĠĠĠ ĠassertEquals ( size , Ġ 2 0 ) ĊĠĠĠĠĠĠĠ ĠAl location . native ( size ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwrite Index Key Start ( 1 , Ġ" Symbols ", ĠValue . of (" alpha ")) ĊĠĠĠĠĠĠĠ Ġ} Ġ. use Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġassert Bytes Equals ( array (' i ', Ġ 0 , Ġint ( 1 ), Ġ" Symbols ", Ġ 0 , Ġ" alpha ", Ġ 0 ), Ġit ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest 0 3 _ Simple Index Key Start Prefix () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġsize Ġ= Ġget Index Key Start Size (" Symbols ", ĠValue . of (" alpha "), ĠisOpen Ġ= Ġtrue ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( size , Ġ 1 9 ) ĊĠĠĠĠĠĠĠ ĠAl location . native ( size ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwrite Index Key Start ( 1 , Ġ" Symbols ", ĠValue . of (" alpha "), ĠisOpen Ġ= Ġtrue ) ĊĠĠĠĠĠĠĠ Ġ} Ġ. use Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġassert Bytes Equals ( array (' i ', Ġ 0 , Ġint ( 1 ), Ġ" Symbols ", Ġ 0 , Ġ" alpha "), Ġit ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest 0 4 _ Composite Index Key Start () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġsize Ġ= Ġget Index Key Start Size (" Symbols ", ĠValue . of (" alpha ", Ġ" beta ")) ĊĠĠĠĠĠĠĠ ĠassertEquals ( size , Ġ 2 5 ) ĊĠĠĠĠĠĠĠ ĠAl location . native ( size ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwrite Index Key Start ( 1 , Ġ" Symbols ", ĠValue . of (" alpha ", Ġ" beta ")) ĊĠĠĠĠĠĠĠ Ġ} Ġ. use Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġassert Bytes Equals ( array (' i ', Ġ 0 , Ġint ( 1 ), Ġ" Symbols ", Ġ 0 , Ġ" alpha ", Ġ 0 , Ġ" beta ", Ġ 0 ), Ġit ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest 0 5 _ Composite Index Key Start Prefix () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġsize Ġ= Ġget Index Key Start Size (" Symbols ", ĠValue . of (" alpha ", Ġ" beta "), ĠisOpen Ġ= Ġtrue ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( size , Ġ 2 4 ) ĊĠĠĠĠĠĠĠ ĠAl location . native ( size ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwrite Index Key Start ( 1 , Ġ" Symbols ", ĠValue . of (" alpha ", Ġ" beta "), ĠisOpen Ġ= Ġtrue ) ĊĠĠĠĠĠĠĠ Ġ} Ġ. use Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġassert Bytes Equals ( array (' i ', Ġ 0 , Ġint ( 1 ), Ġ" Symbols ", Ġ 0 , Ġ" alpha ", Ġ 0 , Ġ" beta "), Ġit ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest 0 6 _ Null Index Prefix () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġsize Ġ= Ġget Index Key Start Size (" Symbols ", Ġnull ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( size , Ġ 1 4 ) ĊĠĠĠĠĠĠĠ ĠAl location . native ( size ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwrite Index Key Start ( 1 , Ġ" Symbols ", Ġnull ) ĊĠĠĠĠĠĠĠ Ġ} Ġ. use Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġassert Bytes Equals ( array (' i ', Ġ 0 , Ġint ( 1 ), Ġ" Symbols ", Ġ 0 ), Ġit ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest 0 7 _ Index Body Without Metadata () Ġ{ ĊĠĠĠĠĠĠĠ Ġdefer Scope Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġindex Body Ġ= ĠAl location . native ( 3 2 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġwrite Index Body ( Value . of (" one "). toArray Memory (), ĠValue . of (" value "), Ġnull ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}. use In Scope () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġassert Bytes Equals ( array ( 1 2 8 , Ġushort ( 5 ), Ġushort ( 3 )), Ġindex Body ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest 0 8 _ Index Body With Metadata () Ġ{ ĊĠĠĠĠĠĠĠ Ġdefer Scope Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġindex Body Ġ= ĠAl location . native ( 3 2 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġwrite Index Body ( Value . of (" one "). toArray Memory (), ĠValue . of (" value "), ĠValue . of (" metadata ")) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}. use In Scope () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġassert Bytes Equals ( array ( 1 2 8 , Ġushort ( 5 ), Ġushort ( 3 ), Ġ" metadata "), Ġindex Body ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest 0 9 _ Index Infos () Ġ{ ĊĠĠĠĠĠĠĠ Ġdefer Scope Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġid Ġ= ĠValue . of (" One "). toArray Memory () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġvalue Ġ= ĠValue . of (" alpha ", Ġ" beta ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġindex Key Ġ= ĠAl location . native ( 3 2 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġwrite Index Key ( 1 , Ġid , Ġ" Symbols ", Ġvalue ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}. use In Scope () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġindex Body Ġ= ĠAl location . native ( 3 2 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġwrite Index Body ( id , Ġvalue , ĠValue . of (" Metadata ")) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}. use In Scope () ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals (" Symbols ", Ġget Index KeyName ( index Key )) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals ( 1 , Ġget Index Key Document Type ( index Key )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġassert Bytes Equals ( array (" One "), Ġget Index Document Id ( index Key , Ġindex Body )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġassert Bytes Equals ( array (" Metadata "), Ġget Index Body Associated Data ( index Body ) !! ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest 1 0 _ Index V 0 Infos () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġindex Key Ġ= Ġarray (' i ', Ġ 0 , Ġint ( 1 ), Ġ" Symbols ", Ġ 0 , Ġ" alpha ", Ġ 0 , Ġ" beta ", Ġ 0 , Ġ" one ", Ġ 0 ). as Memory () ĊĠĠĠĠĠĠĠ Ġval Ġindex Body Ġ= Ġarray (' o ', Ġ 0 , Ġint ( 1 ), Ġ" one ", Ġ 0 ). as Memory () ĊĠĠĠĠĠĠĠ Ġassert Bytes Equals ( array (" one "), Ġget Index Document Id ( index Key , Ġindex Body )) ĊĠĠĠĠĠĠĠ ĠassertNull ( getIndex Body Associated Data ( index Body )) ĊĠĠĠ Ġ} Ċ } Ċ