package Ġio . pol ymorphic p anda . k spec . samples Ċ Ċ import Ġcom . nat pr y ce . ham k rest . assertion . assertThat Ċ import Ġcom . nat pr y ce . ham k rest . equalTo Ċ import Ġio . pol ymorphic p anda . k spec .* Ċ import Ġio . pol ymorphic p anda . k spec . junit . JUnit K Spec Runner Ċ import Ġorg . junit . runner . RunWith Ċ Ċ /** Ċ Ġ* Ġ@ author ĠR anie ĠJ ade ĠRam iso Ċ Ġ*/ Ċ @ RunWith ( JUnit K Spec Runner :: class ) Ċ class ĠCalculator Spec : ĠK Spec () Ġ{ ĊĠĠĠ Ġoverride Ġfun Ġspec () Ġ{ ĊĠĠĠĠĠĠĠ Ġdescribe ( Calculator :: class ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġit Be haves Like ( calculator ()) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġfun Ġcalculator () Ġ= Ġshared Example < Calculator > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdescribe (" add ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit (" 1 Ġ+ Ġ 1 Ġ= Ġ 2 ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( subject . add ( 1 , Ġ 1 ), ĠequalTo ( 2 )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġdescribe (" minus ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit (" 1 Ġ- Ġ 1 Ġ= Ġ 0 ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( subject . minus ( 1 , Ġ 1 ), ĠequalTo ( 0 )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġdescribe (" multiply ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit (" 1 Ġ* Ġ 2 Ġ= Ġ 2 ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( subject . multiply ( 1 , Ġ 2 ), ĠequalTo ( 2 )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġdescribe (" divide ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit (" 1 0 Ġ/ Ġ 5 Ġ= Ġ 2 ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( subject . divide ( 1 0 , Ġ 5 ), ĠequalTo ( 2 )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ