package Ġrun . kt check Ċ Ċ import Ġjava . time . Duration Ċ Ċ /** Ċ Ġ* ĠRepresents Ġeach Ġtest Ġexecution . Ċ Ġ*/ Ċ interface ĠK t Property : ĠK t Property Entity , ĠK t Property Description Ċ Ċ /** Ċ Ġ* ĠRepresents Ġperformance Ġof Ġeach Ġtest Ġexecution . Ċ Ġ*/ Ċ interface ĠK t Property Entity Ġ{ ĊĊĠ Ġfun Ġperform (): ĠCheck Result Ċ } Ċ Ċ /** Ċ Ġ* ĠDescription Ġof Ġa Ġtest 's Ġcondition , Ġaction , Ġresult . ĠAlso Ġprovides Ġits Ġid Ġand Ġname . Ċ Ġ*/ Ċ interface ĠK t Property Description Ġ{ ĊĊĠ Ġval Ġid : ĠString ĊĊĠ Ġval Ġname : ĠString Ġget () Ġ= Ġ" Given Ġ$ given Description , ĠWhen Ġ$ when Description , ĠThen Ġ$ then Description " ĊĊĠ Ġval Ġgiven Description : ĠString ĊĊĠ Ġval Ġwhen Description : ĠString ĊĊĠ Ġval Ġthen Description : ĠString Ċ } Ċ Ċ /** Ċ Ġ* ĠRepresents Ġa Ġcontext Ġof Ġeach Ġtest Ġexecution . Ċ Ġ*/ Ċ interface ĠK t Property Context Ġ{ ĊĊĠ Ġval Ġtimer : ĠTimer ĊĊĠ Ġfun Ġexecution Time (): ĠDuration Ġ= Ġtimer . stop () ĊĊĠ Ġval Ġgiven : ĠAny ĊĊĠ Ġval Ġ` when `: ĠAny ? Ċ } Ċ