package Ġcom . sk sam uel . kot est . matchers . float s Ċ Ċ import Ġio . kot est . assertions . throw ables . should Throw Ċ import Ġio . kot est . core . script . context Ċ import Ġio . kot est . core . spec . style . String Spec Ċ import Ġio . kot est . matchers . double s . shouldBe Within Percentage Of Ċ import Ġio . kot est . matchers . float s . shouldBe Exactly Ċ import Ġio . kot est . matchers . float s . shouldBe GreaterThan Ċ import Ġio . kot est . matchers . float s . shouldBe GreaterThan OrEqual Ċ import Ġio . kot est . matchers . float s . shouldBe LessThan Ċ import Ġio . kot est . matchers . float s . shouldBe LessThan OrEqual Ċ import Ġio . kot est . matchers . float s . shouldBe Within Percentage Of Ċ import Ġio . kot est . matchers . float s . shouldBe Zero Ċ import Ġio . kot est . matchers . float s . should Not Be Exactly Ċ import Ġio . kot est . matchers . float s . should Not Be GreaterThan Ċ import Ġio . kot est . matchers . float s . should Not Be GreaterThan OrEqual Ċ import Ġio . kot est . matchers . float s . should Not Be LessThan Ċ import Ġio . kot est . matchers . float s . should Not Be LessThan OrEqual Ċ import Ġio . kot est . matchers . float s . should Not Be Zero Ċ import Ġio . kot est . property . Ar b Ċ import Ġio . kot est . property . ar bitrary . bind Ċ import Ġio . kot est . property . ar bitrary . double Ċ import Ġio . kot est . property . ar bitrary . float Ċ Ċ class ĠFloat Matchers Test Ġ: ĠString Spec () Ġ{ ĊĠ Ġinit Ġ{ ĊĠĠĠ Ġ" shouldBe LessThan " Ġ{ ĊĠĠĠĠĠĠ 1 f ĠshouldBe LessThan Ġ 2 f ĊĠĠĠĠĠĠ 1 . 9 9 9 9 9 f ĠshouldBe LessThan Ġ 2 f ĊĠĠĠĠĠ ĠFloat . MIN _ VALUE ĠshouldBe LessThan ĠFloat . MAX _ VALUE ĊĠĠĠĠĠ ĠFloat . NEGATIVE _ INFINITY ĠshouldBe LessThan ĠFloat . POSITIVE _ INFINITY ĊĠĠĠ Ġ} ĊĠĠĠ Ġ" shouldBe LessThan OrEqual " Ġ{ ĊĠĠĠĠĠĠ 1 f ĠshouldBe LessThan OrEqual Ġ 2 f ĊĠĠĠĠĠĠ 1 . 5 f ĠshouldBe LessThan OrEqual Ġ 1 . 5 f ĊĠĠĠĠĠĠ 1 f ĠshouldBe LessThan OrEqual Ġ 1 f ĊĠĠĠĠĠĠ 2 f ĠshouldBe LessThan OrEqual Ġ 2 f ĊĠĠĠĠĠ ĠFloat . MIN _ VALUE ĠshouldBe LessThan OrEqual ĠFloat . MAX _ VALUE ĊĠĠĠĠĠ ĠFloat . MIN _ VALUE ĠshouldBe LessThan OrEqual ĠFloat . MIN _ VALUE ĊĠĠĠĠĠ ĠFloat . MAX _ VALUE ĠshouldBe LessThan OrEqual ĠFloat . MAX _ VALUE ĊĠĠĠĠĠ ĠFloat . NEGATIVE _ INFINITY ĠshouldBe LessThan OrEqual ĠFloat . POSITIVE _ INFINITY ĊĠĠĠ Ġ} ĊĠĠĠ Ġ" should Not Be LessThan " Ġ{ ĊĠĠĠĠĠĠ 2 f Ġshould Not Be LessThan Ġ 1 f ĊĠĠĠĠĠĠ 2 f Ġshould Not Be LessThan Ġ 1 . 9 9 9 f ĊĠĠĠĠĠ ĠFloat . MAX _ VALUE Ġshould Not Be LessThan ĠFloat . MIN _ VALUE ĊĠĠĠĠĠ ĠFloat . POSITIVE _ INFINITY Ġshould Not Be LessThan ĠFloat . NEGATIVE _ INFINITY ĊĠĠĠ Ġ} ĊĠĠĠ Ġ" should Not Be LessThan OrEqual " Ġ{ ĊĠĠĠĠĠĠ 2 f Ġshould Not Be LessThan OrEqual Ġ 1 f ĊĠĠĠĠĠĠ 2 . 0 0 0 0 0 1 f Ġshould Not Be LessThan OrEqual Ġ 2 f ĊĠĠĠĠĠ ĠFloat . MAX _ VALUE Ġshould Not Be LessThan OrEqual ĠFloat . MIN _ VALUE ĊĠĠĠĠĠ ĠFloat . POSITIVE _ INFINITY Ġshould Not Be LessThan OrEqual ĠFloat . NEGATIVE _ INFINITY ĊĠĠĠ Ġ} ĊĠĠĠ Ġ" shouldBe GreaterThan " Ġ{ ĊĠĠĠĠĠĠ 2 f ĠshouldBe GreaterThan Ġ 1 f ĊĠĠĠĠĠ ĠFloat . MAX _ VALUE ĠshouldBe GreaterThan ĠFloat . MIN _ VALUE ĊĠĠĠĠĠ ĠFloat . POSITIVE _ INFINITY ĠshouldBe GreaterThan ĠFloat . NEGATIVE _ INFINITY ĊĠĠĠ Ġ} ĊĠĠĠ Ġ" shouldBe GreaterThan OrEqual " Ġ{ ĊĠĠĠĠĠĠ 2 f ĠshouldBe GreaterThan OrEqual Ġ 1 f ĊĠĠĠĠĠĠ 2 f ĠshouldBe GreaterThan OrEqual Ġ 2 f ĊĠĠĠĠĠĠ 1 f ĠshouldBe GreaterThan OrEqual Ġ 1 f ĊĠĠĠĠĠ ĠFloat . MAX _ VALUE ĠshouldBe GreaterThan OrEqual ĠFloat . MIN _ VALUE ĊĠĠĠĠĠ ĠFloat . MAX _ VALUE ĠshouldBe GreaterThan OrEqual ĠFloat . MAX _ VALUE ĊĠĠĠĠĠ ĠFloat . MIN _ VALUE ĠshouldBe GreaterThan OrEqual ĠFloat . MIN _ VALUE ĊĠĠĠĠĠ ĠFloat . POSITIVE _ INFINITY ĠshouldBe GreaterThan OrEqual ĠFloat . NEGATIVE _ INFINITY ĊĠĠĠ Ġ} ĊĠĠĠ Ġ" should Not Be GreaterThan " Ġ{ ĊĠĠĠĠĠĠ 1 f Ġshould Not Be GreaterThan Ġ 2 f ĊĠĠĠĠĠĠ 1 . 9 9 9 9 9 f Ġshould Not Be GreaterThan Ġ 2 f ĊĠĠĠĠĠ ĠFloat . MIN _ VALUE Ġshould Not Be GreaterThan ĠFloat . MAX _ VALUE ĊĠĠĠĠĠ ĠFloat . NEGATIVE _ INFINITY Ġshould Not Be GreaterThan ĠFloat . POSITIVE _ INFINITY ĊĠĠĠ Ġ} ĊĠĠĠ Ġ" should Not Be GreaterThan OrEqual " Ġ{ ĊĠĠĠĠĠĠ 1 f Ġshould Not Be GreaterThan OrEqual Ġ 2 f ĊĠĠĠĠĠĠ 1 . 9 9 9 9 9 f Ġshould Not Be GreaterThan OrEqual Ġ 2 f ĊĠĠĠĠĠ ĠFloat . MIN _ VALUE Ġshould Not Be GreaterThan OrEqual ĠFloat . MAX _ VALUE ĊĠĠĠĠĠ ĠFloat . NEGATIVE _ INFINITY Ġshould Not Be GreaterThan OrEqual ĠFloat . POSITIVE _ INFINITY ĊĠĠĠ Ġ} ĊĠĠĠ Ġ" shouldBe Exactly " Ġ{ ĊĠĠĠĠĠĠ 1 f ĠshouldBe Exactly Ġ 1 f ĊĠĠĠĠĠ Ġ- 1 f ĠshouldBe Exactly Ġ- 1 f ĊĠĠĠĠĠĠ 0 . 0 0 0 0 2 f ĠshouldBe Exactly Ġ 0 . 0 0 0 0 2 f ĊĠĠĠĠĠ ĠFloat . MIN _ VALUE ĠshouldBe Exactly ĠFloat . MIN _ VALUE ĊĠĠĠĠĠ ĠFloat . MAX _ VALUE ĠshouldBe Exactly ĠFloat . MAX _ VALUE ĊĠĠĠĠĠ ĠFloat . POSITIVE _ INFINITY ĠshouldBe Exactly ĠFloat . POSITIVE _ INFINITY ĊĠĠĠĠĠ ĠFloat . NEGATIVE _ INFINITY ĠshouldBe Exactly ĠFloat . NEGATIVE _ INFINITY ĊĠĠĠ Ġ} ĊĠĠĠ Ġ" should Not Be Exactly " Ġ{ ĊĠĠĠĠĠĠ 1 f Ġshould Not Be Exactly Ġ- 1 f ĊĠĠĠĠĠĠ 1 f Ġshould Not Be Exactly Ġ 1 . 0 0 0 0 0 1 f ĊĠĠĠĠĠĠ 1 f Ġshould Not Be Exactly Ġ 0 . 9 9 9 9 9 9 f ĊĠĠĠĠĠ ĠFloat . MIN _ VALUE Ġshould Not Be Exactly ĠFloat . MAX _ VALUE ĊĠĠĠĠĠ ĠFloat . MIN _ VALUE Ġshould Not Be Exactly ĠFloat . NaN ĊĠĠĠĠĠ ĠFloat . MIN _ VALUE Ġshould Not Be Exactly ĠFloat . POSITIVE _ INFINITY ĊĠĠĠĠĠ ĠFloat . MIN _ VALUE Ġshould Not Be Exactly ĠFloat . NEGATIVE _ INFINITY ĊĠĠĠĠĠ ĠFloat . MAX _ VALUE Ġshould Not Be Exactly ĠFloat . MIN _ VALUE ĊĠĠĠĠĠ ĠFloat . MAX _ VALUE Ġshould Not Be Exactly ĠFloat . NaN ĊĠĠĠĠĠ ĠFloat . MAX _ VALUE Ġshould Not Be Exactly ĠFloat . POSITIVE _ INFINITY ĊĠĠĠĠĠ ĠFloat . MAX _ VALUE Ġshould Not Be Exactly ĠFloat . NEGATIVE _ INFINITY ĊĠĠĠ Ġ} ĊĠĠĠ Ġ" shouldBe Zero " Ġ{ ĊĠĠĠĠĠĠ 0 f . shouldBe Zero () ĊĠĠĠ Ġ} ĊĠĠĠ Ġ" should Not Be Zero " Ġ{ ĊĠĠĠĠĠĠ 0 . 0 0 0 0 0 1 f . should Not Be Zero () ĊĠĠĠĠĠ Ġ(- 0 . 0 0 0 0 0 1 f ). should Not Be Zero () ĊĠĠĠĠĠ ĠFloat . MIN _ VALUE . should Not Be Zero () ĊĠĠĠĠĠ ĠFloat . MAX _ VALUE . should Not Be Zero () ĊĠĠĠĠĠ ĠFloat . NaN . should Not Be Zero () ĊĠĠĠĠĠ ĠFloat . POSITIVE _ INFINITY . should Not Be Zero () ĊĠĠĠĠĠ ĠFloat . NEGATIVE _ INFINITY . should Not Be Zero () ĊĠĠĠ Ġ} ĊĊĠĠĠĠ Ġcontext (" Percentage ") Ġ{ ĊĠĠĠĠĠĠĠ Ġtest (" Match Ġequal Ġnumbers ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠ ĠA rb . bind ( Ar b . float (), ĠA rb . double ( 0 . 0 , Ġ 5 . 0 )) Ġ{ Ġvalue , Ġpercentage Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvalue . shouldBe Within Percentage Of ( value , Ġpercentage ) ĊĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġtest (" Ref use Ġnegative Ġpercentage ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠ Ġshould Throw < IllegalArgumentException > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 1 . 0 . shouldBe Within Percentage Of ( 1 . 0 , Ġ- 0 . 1 ) ĊĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġtest (" Match Ġclose Ġenough Ġnumbers ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠ ĠA rb . bind ( Ar b . float (), ĠA rb . double ( 0 . 0 , Ġ 5 . 0 )) Ġ{ Ġvalue , Ġpercentage Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvalue . shouldBe Within Percentage Of (( value Ġ- Ġvalue . times ( percentage Ġ/ Ġ 1 0 0 ). toFloat ()), Ġpercentage ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvalue . shouldBe Within Percentage Of (( value Ġ+ Ġvalue . times ( percentage Ġ/ Ġ 1 0 0 )). toFloat (), Ġpercentage ) ĊĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠ Ġ} ĊĠ Ġ} Ċ } Ċ