package Ġorg . jetbrains . kotlin x . dataframe . api Ċ Ċ import Ġio . kot est . assertions . throw ables . should Throw Ċ import Ġio . kot est . matchers . shouldBe Ċ import Ġorg . jetbrains . kotlin x . dataframe . DataFrame Ċ import Ġorg . jetbrains . kotlin x . dataframe . annotations . Data Schema Ċ import Ġorg . junit . Test Ċ import Ġjava . lang . Class CastException Ċ import Ġjava . lang . IllegalArgumentException Ċ Ċ class ĠGet Tests Ġ{ ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` exceptions Ġfrom Ġempty Ġdataframe `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġempty Ġ= ĠDataFrame . empty () ĊĠĠĠĠĠĠĠ Ġshould Throw < NoSuch ElementException > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġempty . first () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġshould Throw < NoSuch ElementException > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġempty . last () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġshould Throw < Index OutOfBoundsException > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġempty [ 0 ] ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` get Ġvalue Ġfrom Ġrow `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġa Ġby Ġcolumn < Int >() ĊĠĠĠĠĠĠĠ Ġval Ġc Ġby Ġcolumn < Int >() ĊĠĠĠĠĠĠĠ Ġdata Ġclass ĠA ( val Ġa : ĠInt , Ġval Ġb : ĠInt , Ġval Ġc : ĠInt ) ĊĊĠĠĠĠĠĠĠ Ġval Ġdf Ġ= Ġdata Frame Of (" a ", Ġ" b ")( 1 , Ġ 2 ) ĊĠĠĠĠĠĠĠ Ġval Ġrow Ġ= Ġdf [ 0 ] ĊĊĠĠĠĠĠĠĠ Ġrow [" a "] ĠshouldBe Ġ 1 ĊĠĠĠĠĠĠĠ Ġrow . getValue < Int >(" a ") ĠshouldBe Ġ 1 ĊĠĠĠĠĠĠĠ Ġrow . getValue ( a ) ĠshouldBe Ġ 1 ĊĠĠĠĠĠĠĠ Ġrow . getValue ( A :: a ) ĠshouldBe Ġ 1 ĊĊĠĠĠĠĠĠĠ Ġrow . getValue OrNull < Int >(" c ") ĠshouldBe Ġnull ĊĠĠĠĠĠĠĠ Ġrow . getValue OrNull ( c ) ĠshouldBe Ġnull ĊĠĠĠĠĠĠĠ Ġrow . getValue OrNull ( A :: c ) ĠshouldBe Ġnull ĊĊĠĠĠĠĠĠĠ Ġshould Throw < IllegalArgumentException > Ġ{ Ġrow . getValue < Int >(" c ") Ġ} ĊĠĠĠĠĠĠĠ Ġshould Throw < IllegalArgumentException > Ġ{ Ġrow . getValue ( c ) Ġ} ĊĠĠĠĠĠĠĠ Ġshould Throw < IllegalArgumentException > Ġ{ Ġrow . getValue ( A :: c ) Ġ} ĊĊĠĠĠĠĠĠĠ Ġval Ġadded Ġ= Ġdf . add ( A :: c ) Ġ{ Ġ" 3 " Ġ} [ 0 ] ĊĊĠĠĠĠĠĠĠ Ġshould Throw < Class CastException > Ġ{ Ġadded . getValue ( c ) Ġ+ Ġ 1 Ġ} ĊĠĠĠĠĠĠĠ Ġshould Throw < Class CastException > Ġ{ Ġadded . getValue < Int >(" c ") Ġ+ Ġ 1 Ġ} ĊĠĠĠĠĠĠĠ Ġshould Throw < Class CastException > Ġ{ Ġadded . getValue ( A :: c ) Ġ+ Ġ 1 Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Data Schema ĊĠĠĠ Ġdata Ġclass ĠSchema ( val Ġa : ĠInt ) ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` create Ġtyped Ġframe Ġcolumn Ġaccessor `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġdf Ġ= Ġdata Frame Of ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcolumn Of ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdata Frame Of (" a ")( 1 ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdata Frame Of (" a ", Ġ" b ")( 2 , Ġ 3 , Ġ 4 , Ġ 5 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ). named (" x ") ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġval Ġx Ġby Ġframe Column < Schema >() ĊĠĠĠĠĠĠĠ Ġdf [ x ][ 0 ]. a [ 0 ] ĠshouldBe Ġ 1 ĊĠĠĠĠĠĠĠ Ġdf [ 1 ][ x ]. a [ 1 ] ĠshouldBe Ġ 4 ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` create Ġtyped Ġcolumn Ġgroup Ġaccessor `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġdf Ġ= Ġdata Frame Of ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdata Frame Of (" a ", Ġ" b ")( 1 , Ġ 2 , Ġ 3 , Ġ 4 ). as Column Group (" x ") ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġval Ġx Ġby Ġcolumn Group < Schema >() ĊĠĠĠĠĠĠĠ Ġdf [ x ][ 0 ]. a ĠshouldBe Ġ 1 ĊĠĠĠĠĠĠĠ Ġdf [ 1 ][ x ]. a ĠshouldBe Ġ 3 ĊĠĠĠ Ġ} Ċ } Ċ