package Ġcom . github . spe ky . core . specification Ċ Ċ import Ġcom . github . spe ky . core . Class Ref Ċ import Ġcom . github . spe ky . core . Lens Ċ import Ġio . kot est . assertions . throw ables . should Throw Ċ import Ġio . kot est . core . spec . style . Fun Spec Ċ import Ġio . kot est . matchers . collections . should Contain Ċ import Ġio . kot est . matchers . collections . should Have Size Ċ import Ġio . kot est . matchers . shouldBe Ċ import Ġio . kot est . matchers . should Not Be Ċ import Ġio . kot est . matchers . types . shouldBe InstanceOf Ċ Ċ internal Ġclass ĠS ink Test Ġ: ĠFun Spec ({ ĊĠ Ġtest (" insert Ġinto Ġtable ") Ġ{ ĊĠĠĠ Ġval Ġinsert Ġ= ĠS ink . insert < Table 1 >( ĊĠĠĠĠĠ ĠlistOf ( ĊĠĠĠĠĠĠĠ ĠValue . of (" id ", Ġ 1 L ), ĊĠĠĠĠĠĠĠ ĠValue . of (" name ", Ġ" A hm ad ") ĊĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ) ĊĊĠĠĠ Ġinsert . shouldBe InstanceOf < Sink . Insert < Table 1 >>() ĊĠĠĠ Ġinsert . alias . shouldBe InstanceOf < Alias . Just Class Ref < Table 1 >>() ĊĠĠĠ Ġinsert . class Ref ĠshouldBe Ġinsert . alias . class Ref ĊĠĠĠ Ġinsert . class Ref ĠshouldBe ĠClass Ref . of () ĊĠĠĠ Ġinsert . values Ġshould Have Size Ġ 2 ĊĠĠĠ Ġinsert . values Ġshould Contain ĠValue . of (" id ", Ġ 1 L ) ĊĠĠĠ Ġinsert . values Ġshould Contain ĠValue . of (" name ", Ġ" A hm ad ") ĊĠ Ġ} ĊĊĠ Ġtest (" insert Ġwithout Ġcolumns Ġshould Ġthrow ") Ġ{ ĊĠĠĠ Ġshould Throw < NoSuch ElementException > Ġ{ ĠS ink . insert < Table 1 >( emptyList ()) Ġ} ĊĠ Ġ} ĊĊĠ Ġtest (" in consistent Ġvalues Ġin ĠInsert ") Ġ{ ĊĠĠĠ Ġval Ġe Ġ= Ġshould Throw < IllegalArgumentException > Ġ{ ĊĠĠĠĠĠ ĠS ink . insert < Table 1 >( ĊĠĠĠĠĠĠĠ ĠlistOf ( ĊĠĠĠĠĠĠĠĠĠ ĠValue . of (" id ", Ġ 1 L ), ĊĠĠĠĠĠĠĠĠĠ ĠValue . of (" name ", Ġ" A hm ad "), ĊĊĠĠĠĠĠĠĠĠĠ ĠValue . of (" id ", Ġ 2 L ), ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġe . message ?. should Not Be ( null ) ĊĠĠĠ Ġe . message !! ĠshouldBe ĊĠĠĠĠĠĠĠ Ġ" in consistent Ġvalue Ġcount Ġfor Ġcolumns . Ġmax Ġvalue Ġcount Ġis Ġ 2 , Ġbut Ġname Ġhave Ġless Ġcount ." ĊĠ Ġ} ĊĊĠ Ġtest (" Sink . show Ġon ĠInsert ") Ġ{ ĊĠĠĠ Ġval Ġinsert Ġ= ĠS ink . insert < Table 1 >( ĊĠĠĠĠĠ ĠlistOf ( ĊĠĠĠĠĠĠĠ ĠValue . of (" id ", Ġ 1 L ), ĊĠĠĠĠĠĠĠ ĠValue . of (" name ", Ġ" A hm ad ") ĊĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ) ĊĊĠĠĠ Ġwith ( Sink . show ) Ġ{ ĊĠĠĠĠĠ Ġinsert . show () ĠshouldBe Ġ" Insert Ġinto Ġtable 1 " ĊĠĠĠ Ġ} ĊĠ Ġ} ĊĊĠ Ġtest (" update Ġall Ġcolumns ") Ġ{ ĊĠĠĠ Ġval Ġupdate Ġ= ĠS ink . update < Table 1 >( ĊĠĠĠĠĠ Ġset Of ( ĊĠĠĠĠĠĠĠ ĠValue . of (" name ", Ġ" B az "), ĊĠĠĠĠĠĠĠ ĠValue . of (" name ", Ġ" Foo "), ĊĠĠĠĠĠĠĠ ĠValue . of (" name ", Ġ" Foo "), ĊĠĠĠĠĠĠĠ ĠValue . of (" name ", Ġ" Foo "), ĊĠĠĠĠĠĠĠ ĠValue . of (" name ", Ġ" Foo "), ĊĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ) ĊĊĠĠĠ Ġupdate . shouldBe InstanceOf < Sink . Update < Table 1 >>() ĊĠĠĠ Ġupdate . alias . shouldBe InstanceOf < Alias . Just Class Ref < Table 1 >>() ĊĠĠĠ Ġupdate . class Ref ĠshouldBe Ġupdate . alias . class Ref ĊĠĠĠ Ġupdate . class Ref ĠshouldBe ĠClass Ref . of () ĊĠĠĠ Ġupdate . values Ġshould Have Size Ġ 2 ĊĠĠĠ Ġupdate . values Ġshould Contain ĠValue . of (" name ", Ġ" B az ") ĊĠĠĠ Ġupdate . values Ġshould Contain ĠValue . of (" name ", Ġ" Foo ") ĊĠ Ġ} ĊĊĠ Ġtest (" update Ġwith Ġfilter ") Ġ{ ĊĠĠĠ Ġval Ġupdate Ġ= ĠS ink . update < Table 1 >( set Of ( Value . of (" name ", Ġ" B az "))) ĊĠĠĠĠĠ Ġ. filter ( Filter . eq ( Lens . on < Table 1 , ĠLong >(" id "), Ġ 1 0 )) ĊĊĠĠĠ Ġupdate . shouldBe InstanceOf < Filtered < Table 1 , ĠLong >>() ĊĠĠĠ Ġupdate . alias . shouldBe InstanceOf < Alias . Just Class Ref < Table 1 >>() ĊĠĠĠ Ġupdate . class Ref ĠshouldBe Ġupdate . alias . class Ref ĊĠĠĠ Ġupdate . class Ref ĠshouldBe ĠClass Ref . of () ĊĊĠĠĠ Ġupdate . delegate . shouldBe InstanceOf < Sink . Update < Table 1 >>() ĊĠĠĠ Ġ( update . delegate Ġas ĠS ink . Update < Table 1 >). values Ġshould Have Size Ġ 1 ĊĠĠĠ Ġ( update . delegate Ġas ĠS ink . Update < Table 1 >). values Ġshould Contain ĠValue . of (" name ", Ġ" B az ") ĊĠ Ġ} ĊĊĠ Ġtest (" Sink . show Ġon ĠUpdate ") Ġ{ ĊĠĠĠ Ġval Ġupdate Ġ= ĠS ink . update < Table 1 >( ĊĠĠĠĠĠ Ġset Of ( ĊĠĠĠĠĠĠĠ ĠValue . of (" id ", Ġ 1 L ), ĊĠĠĠĠĠĠĠ ĠValue . of (" name ", Ġ" A hm ad ") ĊĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ) ĊĊĠĠĠ Ġwith ( Sink . show ) Ġ{ ĊĠĠĠĠĠ Ġupdate . show () ĠshouldBe Ġ" Update Ġtable 1 " ĊĠĠĠ Ġ} ĊĠ Ġ} Ċ }) Ċ