package Ġinfo . fi ro z ans ari . game of life Ċ Ċ import Ġorg . junit . jupiter . api . Assertions . assertTrue Ċ import Ġorg . junit . jupiter . api . Test Ċ import Ġorg . junit . jupiter . params . Parameterized Test Ċ import Ġorg . junit . jupiter . params . provider . Value Source Ċ Ċ class ĠCon ways Original Rule Test Ġ{ ĊĊĠĠĠ Ġprivate Ġval Ġcon ways Rule Ġ= ĠCon ways Original Rule ĊĊĠĠĠ Ġ@ Parameterized Test ĊĠĠĠ Ġ@ Value Source ( ints Ġ= Ġ[ 0 , Ġ 1 ]) ĊĠĠĠ Ġfun Ġ` any Ġlive Ġcell Ġwith Ġfewer Ġthan Ġtwo Ġlive Ġne ighbours Ġdies , Ġas Ġif Ġcaused Ġby Ġunder population `( ĊĠĠĠĠĠĠĠ Ġlive Neighbors : ĠInt ĊĠĠĠ Ġ) Ġ= ĊĠĠĠĠĠĠĠ Ġ` assertThat Ġit Ġdies `( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcon ways Rule . apply To ( Live Cell , ĠNumber Of Live Neighbors ( live Neighbors )) ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠ Ġ@ Parameterized Test ĊĠĠĠ Ġ@ Value Source ( ints Ġ= Ġ[ 2 , Ġ 3 ]) ĊĠĠĠ Ġfun Ġ` any Ġlive Ġcell Ġwith Ġtwo Ġor Ġthree Ġlive Ġne ighbours Ġlives Ġon Ġto Ġthe Ġnext Ġgeneration `( ĊĠĠĠĠĠĠĠ Ġlive Neighbors : ĠInt ĊĠĠĠ Ġ) Ġ= ĊĠĠĠĠĠĠĠ Ġ` assertThat Ġit Ġlives `( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcon ways Rule . apply To ( Live Cell , ĠNumber Of Live Neighbors ( live Neighbors )) ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠ Ġ@ Parameterized Test ĊĠĠĠ Ġ@ Value Source ( ints Ġ= Ġ[ 4 , Ġ 5 , Ġ 6 , Ġ 7 , Ġ 8 ]) ĊĠĠĠ Ġfun Ġ` any Ġlive Ġcell Ġwith Ġmore Ġthan Ġthree Ġlive Ġne ighbours Ġdies , Ġas Ġif Ġby Ġover population `( ĊĠĠĠĠĠĠĠ Ġlive Neighbors : ĠInt ĊĠĠĠ Ġ) Ġ= ĊĠĠĠĠĠĠĠ Ġ` assertThat Ġit Ġdies `( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcon ways Rule . apply To ( Live Cell , ĠNumber Of Live Neighbors ( live Neighbors )) ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` any Ġdead Ġcell Ġwith Ġexactly Ġthree Ġlive Ġne ighbours Ġbecomes Ġa Ġlive Ġcell , Ġas Ġif Ġby Ġreproduction `() Ġ= ĊĠĠĠĠĠĠĠ Ġ` assertThat Ġit Ġlives `( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcon ways Rule . apply To ( Dead Cell , ĠNumber Of Live Neighbors ( 3 )) ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠ Ġprivate Ġfun Ġ` assertThat Ġit Ġdies `( cell : ĠCell ) Ġ{ ĊĠĠĠĠĠĠĠ ĠassertTrue ( cell . is Dead ()) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġ` assertThat Ġit Ġlives `( cell : ĠCell ) Ġ{ ĊĠĠĠĠĠĠĠ ĠassertTrue ( cell . is Alive ()) ĊĠĠĠ Ġ} Ċ } Ċ