package Ġcom . mit te lo upe . random gen kt . f iel dd at apro vider Ċ Ċ import Ġcom . n ha ar man . mock it ok otlin 2 . given Ċ import Ġorg . junit . Assert . assertEquals Ċ import Ġorg . junit . Test Ċ import Ġorg . junit . runner . RunWith Ċ import Ġorg . mockito . Mock Ċ import Ġorg . mockito . junit . Mockito JUnit Runner Ċ import Ġjava . util . Random Ċ Ċ /** Ċ Ġ* ĠCreated Ġby ĠEr an ĠB ou dj nah Ġon Ġ 1 0 / 0 8 / 2 0 1 8 . Ċ Ġ*/ Ċ @ RunWith ( Mockito JUnit Runner :: class ) Ċ class ĠDouble Field DataProvider Test Ġ{ ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġcut : ĠDouble Field DataProvider < Any > ĊĊĠĠĠ Ġ@ Mock ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġrandom : ĠRandom ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġgiven Random Double Value When Generate Then Returns Same Value () Ġ{ ĊĠĠĠĠĠĠĠ Ġ// ĠGiven ĊĠĠĠĠĠĠĠ Ġcut Ġ= ĠDouble Field DataProvider . getInstance ( random ) ĊĠĠĠĠĠĠĠ Ġgiven ( random . next Double ()). willReturn ( 0 . 0 ) ĊĊĠĠĠĠĠĠĠ Ġ// ĠWhen ĊĠĠĠĠĠĠĠ Ġvar Ġresult Ġ= Ġcut . invoke () ĊĊĠĠĠĠĠĠĠ Ġ// ĠThen ĊĠĠĠĠĠĠĠ ĠassertEquals ( 0 . 0 , Ġresult , Ġ 0 . 0 0 0 0 1 ) ĊĊĠĠĠĠĠĠĠ Ġ// ĠGiven ĊĠĠĠĠĠĠĠ Ġgiven ( random . next Double ()). willReturn ( 0 . 9 9 9 9 9 9 9 9 9 9 9 ) ĊĊĠĠĠĠĠĠĠ Ġ// ĠWhen ĊĠĠĠĠĠĠĠ Ġresult Ġ= Ġcut . invoke () ĊĊĠĠĠĠĠĠĠ Ġ// ĠThen ĊĠĠĠĠĠĠĠ ĠassertEquals ( 1 . 0 , Ġresult , Ġ 0 . 0 0 0 0 1 ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġgiven Random Double Value And Range When Generate Then Returns Correct Value () Ġ{ ĊĠĠĠĠĠĠĠ Ġ// ĠGiven ĊĠĠĠĠĠĠĠ Ġcut Ġ= ĠDouble Field DataProvider . getInstance With Range ( random , ĠDouble . MIN _ VALUE , ĠDouble . MAX _ VALUE ) ĊĠĠĠĠĠĠĠ Ġgiven ( random . next Double ()). willReturn ( 0 . 0 ) ĊĊĠĠĠĠĠĠĠ Ġ// ĠWhen ĊĠĠĠĠĠĠĠ Ġvar Ġresult Ġ= Ġcut . invoke () ĊĊĠĠĠĠĠĠĠ Ġ// ĠThen ĊĠĠĠĠĠĠĠ ĠassertEquals ( Double . MIN _ VALUE , Ġresult , Ġ 0 . 0 0 0 0 1 ) ĊĊĠĠĠĠĠĠĠ Ġ// ĠGiven ĊĠĠĠĠĠĠĠ Ġgiven ( random . next Double ()). willReturn ( 0 . 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 ) ĊĊĠĠĠĠĠĠĠ Ġ// ĠWhen ĊĠĠĠĠĠĠĠ Ġresult Ġ= Ġcut . invoke () ĊĊĠĠĠĠĠĠĠ Ġ// ĠThen ĊĠĠĠĠĠĠĠ ĠassertEquals ( Double . MAX _ VALUE , Ġresult , Ġ 0 . 0 0 0 0 1 ) ĊĠĠĠ Ġ} Ċ }