package Ġcom . tk str . k ler ik Ċ Ċ import Ġcom . tk str . k ler ik . TestUtil . eval Boolean Ċ import Ġorg . jetbrains . spe k . api . Spe k Ċ import Ġkotlin . test . assertFalse Ċ import Ġkotlin . test . assertTrue Ċ Ċ /** Ċ Ġ* ĠBoolean Spec Ċ Ġ* Ċ Ġ* Ġ@ author ĠBen ĠTe ich man Ċ Ġ*/ Ċ class ĠBoolean Spec Ġ: ĠSpe k () Ġ{ Ġinit Ġ{ ĊĠĠĠ Ġgiven (" an Ġlogical Ġexpression ") Ġ{ ĊĠĠĠĠĠĠĠ Ġon (" evaluation ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġit (" should Ġ' and ' Ġb ooleans ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠassertFalse ( eval Boolean (" 1 Ġ&& Ġ 0 ")) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠassertTrue ( eval Boolean (" 1 Ġ&& Ġ 1 ")) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠassertFalse ( eval Boolean (" 0 Ġ&& Ġ 0 ")) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠassertFalse ( eval Boolean (" 0 Ġ&& Ġ 1 ")) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġit (" should Ġ' or ' Ġb ooleans ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠassertTrue ( eval Boolean (" 1 Ġ|| Ġ 0 ")) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠassertTrue ( eval Boolean (" 1 Ġ|| Ġ 1 ")) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠassertFalse ( eval Boolean (" 0 Ġ|| Ġ 0 ")) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠassertTrue ( eval Boolean (" 0 Ġ|| Ġ 1 ")) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġit (" should Ġevaluate Ġcomparisons ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠassertTrue ( eval Boolean (" 2 Ġ> Ġ 1 ")) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠassertFalse ( eval Boolean (" 2 Ġ< Ġ 1 ")) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠassertFalse ( eval Boolean (" 1 Ġ> Ġ 2 ")) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠassertTrue ( eval Boolean (" 1 Ġ< Ġ 2 ")) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠassertTrue ( eval Boolean (" 1 Ġ>= Ġ 1 ")) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠassertTrue ( eval Boolean (" 1 . 1 Ġ>= Ġ 1 ")) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠassertFalse ( eval Boolean (" 1 Ġ>= Ġ 2 ")) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠassertTrue ( eval Boolean (" 1 Ġ<= Ġ 1 ")) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠassertFalse ( eval Boolean (" 1 . 1 Ġ<= Ġ 1 ")) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠassertTrue ( eval Boolean (" 1 Ġ<= Ġ 2 ")) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠassertFalse ( eval Boolean (" 1 Ġ== Ġ 2 ")) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠassertTrue ( eval Boolean (" 1 Ġ== Ġ 1 ")) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠassertTrue ( eval Boolean (" 1 Ġ!= Ġ 2 ")) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠassertFalse ( eval Boolean (" 1 Ġ!= Ġ 1 ")) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġit (" should Ġevaluate Ġcombined Ġcomparisons ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠassertTrue ( eval Boolean ("( 2 Ġ> Ġ 1 ) Ġ|| Ġ( 1 Ġ== Ġ 0 ) ")) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠassertFalse ( eval Boolean ("( 2 Ġ> Ġ 3 ) Ġ|| Ġ( 1 Ġ== Ġ 0 ) ")) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠassertTrue ( eval Boolean ("( 2 Ġ> Ġ 3 ) Ġ|| Ġ( 1 Ġ== Ġ 0 ) Ġ|| Ġ( 1 Ġ&& Ġ 1 ) ")) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġit (" should Ġevaluate Ġmixed Ġexpressions ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠassertFalse ( eval Boolean (" 1 . 5 Ġ* Ġ 7 Ġ== Ġ 3 ")) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠassertTrue ( eval Boolean (" 1 . 5 Ġ* Ġ 7 Ġ== Ġ 1 0 . 5 ")) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġit (" should Ġevaluate Ġconstants ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠassertTrue ( eval Boolean (" true Ġ!= Ġfalse ")) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠassertFalse ( eval Boolean (" true Ġ== Ġ 2 ")) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠassertFalse ( eval Boolean (" true Ġ&& Ġfalse ")) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠassertTrue ( eval Boolean (" true Ġ|| Ġfalse ")) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ }