package Ġcom . hex agon kt . models Ċ Ċ import Ġorg . junit . jupiter . api . Test Ċ import Ġjava . lang . IllegalArgumentException Ċ import Ġkotlin . test . assertEquals Ċ import Ġkotlin . test . assert Fails With Ċ import Ġkotlin . test . assertNull Ċ Ċ internal Ġclass ĠPhone Test Ġ{ ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` Valid Ġph ones Ġcan Ġbe Ġcreated `() Ġ{ ĊĠĠĠĠĠĠĠ ĠPhone (" 6 5 4 3 2 1 0 ", Ġ"+ 3 4 ", Ġland Line Ġ= Ġtrue , Ġpersonal Ġ= Ġtrue ). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals (" 6 5 4 3 2 1 0 ", Ġnumber ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals ("+ 3 4 ", Ġcountry Code ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals ( true , Ġland Line ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals ( true , Ġpersonal ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ ĠPhone (" 6 5 4 3 2 1 0 ", Ġ"+ 3 4 "). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals (" 6 5 4 3 2 1 0 ", Ġnumber ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals ("+ 3 4 ", Ġcountry Code ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertNull ( land Line ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertNull ( personal ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ ĠPhone (" 6 5 4 3 2 1 0 "). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals (" 6 5 4 3 2 1 0 ", Ġnumber ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertNull ( country Code ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertNull ( land Line ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertNull ( personal ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` Invalid Ġph ones Ġthrow Ġexceptions Ġon Ġcreation `() Ġ{ ĊĠĠĠĠĠĠĠ Ġassert Fails With < IllegalArgumentException > Ġ{ ĠPhone (" Ġ", Ġ"+ 3 4 ") Ġ} ĊĠĠĠĠĠĠĠ Ġassert Fails With < IllegalArgumentException > Ġ{ ĠPhone (" 6 5 4 3 2 1 0 ", Ġ" Ġ") Ġ} ĊĠĠĠ Ġ} Ċ } Ċ