package Ġch . lead rian . samp . k amp . core . api . data Ċ Ċ import Ġorg . assertj . core . api . Assertions . assertThat Ċ import Ġorg . assertj . core . data . Percentage . with Percentage Ċ import Ġorg . junit . jupiter . api . Nested Ċ import Ġorg . junit . jupiter . api . extension . Extension Context Ċ import Ġorg . junit . jupiter . params . Parameterized Test Ċ import Ġorg . junit . jupiter . params . provider . Arguments Ċ import Ġorg . junit . jupiter . params . provider . Arguments Provider Ċ import Ġorg . junit . jupiter . params . provider . Arguments Source Ċ import Ġjava . util . stream . Stream Ċ Ċ internal Ġclass ĠShapes Test Ġ{ ĊĊĠĠĠ Ġ@ Nested ĊĠĠĠ Ġinner Ġclass ĠRectangle Tests Ġ{ ĊĊĠĠĠĠĠĠĠ Ġ@ Parameterized Test ĊĠĠĠĠĠĠĠ Ġ@ Arguments Source ( Rectangle Factory Arguments Provider :: class ) ĊĠĠĠĠĠĠĠ Ġfun Ġshould Have Expected Area ( factory : Ġ( Float , ĠFloat , ĠFloat , ĠFloat ) Ġ-> ĠRectangle ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġrectangle Ġ= Ġfactory (- 1 f , Ġ 2 f , Ġ 5 f , Ġ 1 0 f ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġarea Ġ= Ġrectangle . area ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( area ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. is Close To ( 1 5 f , Ġwith Percentage ( 0 . 0 0 0 1 )) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ@ Parameterized Test ĊĠĠĠĠĠĠĠ Ġ@ Arguments Source ( Rectangle Factory Arguments Provider :: class ) ĊĠĠĠĠĠĠĠ Ġfun Ġshould Have Expected Width ( factory : Ġ( Float , ĠFloat , ĠFloat , ĠFloat ) Ġ-> ĠRectangle ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġrectangle Ġ= Ġfactory (- 1 f , Ġ 2 f , Ġ 5 f , Ġ 1 0 f ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġwidth Ġ= Ġrectangle . width ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( width ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. is Close To ( 3 f , Ġwith Percentage ( 0 . 0 0 0 1 )) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ@ Parameterized Test ĊĠĠĠĠĠĠĠ Ġ@ Arguments Source ( Rectangle Factory Arguments Provider :: class ) ĊĠĠĠĠĠĠĠ Ġfun Ġshould Have Expected Height ( factory : Ġ( Float , ĠFloat , ĠFloat , ĠFloat ) Ġ-> ĠRectangle ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġrectangle Ġ= Ġfactory (- 1 f , Ġ 2 f , Ġ 5 f , Ġ 1 0 f ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġheight Ġ= Ġrectangle . height ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( height ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. is Close To ( 5 f , Ġwith Percentage ( 0 . 0 0 0 1 )) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ@ Parameterized Test ĊĠĠĠĠĠĠĠ Ġ@ Arguments Source ( Rectangle Factory Arguments Provider :: class ) ĊĠĠĠĠĠĠĠ Ġfun Ġto Rectangle Should Return Immutable Rectangle ( factory : Ġ( Float , ĠFloat , ĠFloat , ĠFloat ) Ġ-> ĠRectangle ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġmin X Ġ= Ġ- 1 f ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġmax X Ġ= Ġ 2 f ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġmin Y Ġ= Ġ 5 f ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġmax Y Ġ= Ġ 1 0 f ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġrectangle Ġ= Ġfactory ( min X , Ġmax X , Ġmin Y , Ġmax Y ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġimmutable Rectangle : ĠRectangle Ġ= Ġrectangle . to Rectangle () ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( immutable Rectangle ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. isNot InstanceOf ( Mutable Rectangle :: class . java ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. satisf ies Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( it . min X ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. isEqualTo ( min X ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( it . max X ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. isEqualTo ( max X ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( it . min Y ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. isEqualTo ( min Y ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( it . max Y ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. isEqualTo ( max Y ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ@ Parameterized Test ĊĠĠĠĠĠĠĠ Ġ@ Arguments Source ( Rectangle Factory Arguments Provider :: class ) ĊĠĠĠĠĠĠĠ Ġfun Ġto Mutable Rectangle Should Return Mutable Rectangle ( factory : Ġ( Float , ĠFloat , ĠFloat , ĠFloat ) Ġ-> ĠRectangle ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġmin X Ġ= Ġ- 1 f ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġmax X Ġ= Ġ 2 f ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġmin Y Ġ= Ġ 5 f ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġmax Y Ġ= Ġ 1 0 f ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġrectangle Ġ= Ġfactory ( min X , Ġmax X , Ġmin Y , Ġmax Y ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġmutable Rectangle : ĠMutable Rectangle Ġ= Ġrectangle . to Mutable Rectangle () ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( mutable Rectangle ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. satisf ies Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( it . min X ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. isEqualTo ( min X ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( it . max X ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. isEqualTo ( max X ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( it . min Y ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. isEqualTo ( min Y ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( it . max Y ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. isEqualTo ( max Y ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ@ Parameterized Test ĊĠĠĠĠĠĠĠ Ġ@ Arguments Source ( Rectangle Contains Arguments Provider :: class ) ĊĠĠĠĠĠĠĠ Ġfun Ġshould Contain Coordinates ( rectangle : ĠRectangle , Ġcoordinates : ĠVector 2 D ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġcontains Ġ= Ġrectangle . contains ( coordinates ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( contains ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. isTrue () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ@ Parameterized Test ĊĠĠĠĠĠĠĠ Ġ@ Arguments Source ( Rectangle DoesNot Contain Arguments Provider :: class ) ĊĠĠĠĠĠĠĠ Ġfun Ġshould Not Contain Coordinates ( rectangle : ĠRectangle , Ġcoordinates : ĠVector 2 D ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġcontains Ġ= Ġrectangle . contains ( coordinates ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( contains ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. isFalse () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Nested ĊĠĠĠ Ġinner Ġclass ĠBox Tests Ġ{ ĊĊĠĠĠĠĠĠĠ Ġ@ Parameterized Test ĊĠĠĠĠĠĠĠ Ġ@ Arguments Source ( Box Factory Arguments Provider :: class ) ĊĠĠĠĠĠĠĠ Ġfun Ġshould Have Expected Area ( factory : Ġ( Float , ĠFloat , ĠFloat , ĠFloat , ĠFloat , ĠFloat ) Ġ-> ĠBox ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġbox Ġ= Ġfactory (- 1 f , Ġ 2 f , Ġ 5 f , Ġ 1 0 f , Ġ- 2 0 f , Ġ 5 0 f ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġarea Ġ= Ġbox . volume ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( area ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. is Close To ( 1 0 5 0 f , Ġwith Percentage ( 0 . 0 0 0 1 )) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ@ Parameterized Test ĊĠĠĠĠĠĠĠ Ġ@ Arguments Source ( Box Factory Arguments Provider :: class ) ĊĠĠĠĠĠĠĠ Ġfun Ġto Box Should Return Immutable Box ( factory : Ġ( Float , ĠFloat , ĠFloat , ĠFloat , ĠFloat , ĠFloat ) Ġ-> ĠBox ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġmin X Ġ= Ġ- 1 f ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġmax X Ġ= Ġ 2 f ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġmin Y Ġ= Ġ 5 f ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġmax Y Ġ= Ġ 1 0 f ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġmin Z Ġ= Ġ- 2 0 f ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġmax Z Ġ= Ġ 5 0 f ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġbox Ġ= Ġfactory ( min X , Ġmax X , Ġmin Y , Ġmax Y , Ġmin Z , Ġmax Z ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġimmutable Box : ĠBox Ġ= Ġbox . to Box () ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( immutable Box ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. isNot InstanceOf ( Mutable Box :: class . java ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. satisf ies Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( it . min X ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. isEqualTo ( min X ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( it . max X ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. isEqualTo ( max X ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( it . min Y ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. isEqualTo ( min Y ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( it . max Y ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. isEqualTo ( max Y ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( it . min Z ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. isEqualTo ( min Z ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( it . max Z ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. isEqualTo ( max Z ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ@ Parameterized Test ĊĠĠĠĠĠĠĠ Ġ@ Arguments Source ( Box Factory Arguments Provider :: class ) ĊĠĠĠĠĠĠĠ Ġfun Ġto Mutable Box Should Return Mutable Box ( factory : Ġ( Float , ĠFloat , ĠFloat , ĠFloat , ĠFloat , ĠFloat ) Ġ-> ĠBox ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġmin X Ġ= Ġ- 1 f ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġmax X Ġ= Ġ 2 f ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġmin Y Ġ= Ġ 5 f ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġmax Y Ġ= Ġ 1 0 f ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġmin Z Ġ= Ġ- 2 0 f ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġmax Z Ġ= Ġ 5 0 f ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġbox Ġ= Ġfactory ( min X , Ġmax X , Ġmin Y , Ġmax Y , Ġmin Z , Ġmax Z ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġmutable Box : ĠMutable Box Ġ= Ġbox . to Mutable Box () ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( mutable Box ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. satisf ies Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( it . min X ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. isEqualTo ( min X ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( it . max X ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. isEqualTo ( max X ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( it . min Y ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. isEqualTo ( min Y ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( it . max Y ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. isEqualTo ( max Y ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( it . min Z ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. isEqualTo ( min Z ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( it . max Z ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. isEqualTo ( max Z ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ@ Parameterized Test ĊĠĠĠĠĠĠĠ Ġ@ Arguments Source ( Box Contains Arguments Provider :: class ) ĊĠĠĠĠĠĠĠ Ġfun Ġshould Contain Coordinates ( box : ĠBox , Ġcoordinates : ĠVector 3 D ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġcontains Ġ= Ġbox . contains ( coordinates ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( contains ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. isTrue () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ@ Parameterized Test ĊĠĠĠĠĠĠĠ Ġ@ Arguments Source ( Box DoesNot Contain Arguments Provider :: class ) ĊĠĠĠĠĠĠĠ Ġfun Ġshould Not Contain Coordinates ( box : ĠBox , Ġcoordinates : ĠVector 3 D ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġcontains Ġ= Ġbox . contains ( coordinates ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( contains ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. isFalse () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Nested ĊĠĠĠ Ġinner Ġclass ĠCircle Tests Ġ{ ĊĊĠĠĠĠĠĠĠ Ġ@ Parameterized Test ĊĠĠĠĠĠĠĠ Ġ@ Arguments Source ( Circle Factory Arguments Provider :: class ) ĊĠĠĠĠĠĠĠ Ġfun Ġshould Have Expected Area ( factory : Ġ( Float , ĠFloat , ĠFloat ) Ġ-> ĠCircle ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġcircle Ġ= Ġfactory ( 2 f , Ġ 5 f , Ġ 3 . 5 f ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġarea Ġ= Ġcircle . area ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( area ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. is Close To ( 3 8 . 4 8 4 5 1 0 0 0 6 5 f , Ġwith Percentage ( 0 . 0 0 0 1 )) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ@ Parameterized Test ĊĠĠĠĠĠĠĠ Ġ@ Arguments Source ( Circle Factory Arguments Provider :: class ) ĊĠĠĠĠĠĠĠ Ġfun Ġto Circle Should Return Immutable Circle ( factory : Ġ( Float , ĠFloat , ĠFloat ) Ġ-> ĠCircle ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġx Ġ= Ġ 2 f ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġy Ġ= Ġ 5 f ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġradius Ġ= Ġ 3 . 5 f ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġcircle Ġ= Ġfactory ( x , Ġy , Ġradius ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġimmutable Circle : ĠCircle Ġ= Ġcircle . to Circle () ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( immutable Circle ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. isNot InstanceOf ( Mutable Circle :: class . java ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. satisf ies Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( it . x ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. isEqualTo ( x ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( it . y ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. isEqualTo ( y ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( it . radius ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. isEqualTo ( radius ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ@ Parameterized Test ĊĠĠĠĠĠĠĠ Ġ@ Arguments Source ( Circle Factory Arguments Provider :: class ) ĊĠĠĠĠĠĠĠ Ġfun Ġto Mutable Circle Should Return Mutable Circle ( factory : Ġ( Float , ĠFloat , ĠFloat ) Ġ-> ĠCircle ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġx Ġ= Ġ 2 f ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġy Ġ= Ġ 5 f ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġradius Ġ= Ġ 3 . 5 f ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġcircle Ġ= Ġfactory ( x , Ġy , Ġradius ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġmutable Circle : ĠMutable Circle Ġ= Ġcircle . to Mutable Circle () ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( mutable Circle ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. satisf ies Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( it . x ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. isEqualTo ( x ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( it . y ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. isEqualTo ( y ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( it . radius ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. isEqualTo ( radius ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ@ Parameterized Test ĊĠĠĠĠĠĠĠ Ġ@ Arguments Source ( Circle Contains Arguments Provider :: class ) ĊĠĠĠĠĠĠĠ Ġfun Ġshould Contain Coordinates ( circle : ĠCircle , Ġcoordinates : ĠVector 2 D ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġcontains Ġ= Ġcircle . contains ( coordinates ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( contains ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. isTrue () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ@ Parameterized Test ĊĠĠĠĠĠĠĠ Ġ@ Arguments Source ( Circle DoesNot Contain Arguments Provider :: class ) ĊĠĠĠĠĠĠĠ Ġfun Ġshould Not Contain Coordinates ( circle : ĠCircle , Ġcoordinates : ĠVector 2 D ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġcontains Ġ= Ġcircle . contains ( coordinates ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( contains ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. isFalse () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Nested ĊĠĠĠ Ġinner Ġclass ĠSphere Tests Ġ{ ĊĊĠĠĠĠĠĠĠ Ġ@ Parameterized Test ĊĠĠĠĠĠĠĠ Ġ@ Arguments Source ( Sphere Factory Arguments Provider :: class ) ĊĠĠĠĠĠĠĠ Ġfun Ġshould Have Expected Area ( factory : Ġ( Float , ĠFloat , ĠFloat , ĠFloat ) Ġ-> ĠSphere ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġsphere Ġ= Ġfactory ( 2 f , Ġ 5 f , Ġ- 1 f , Ġ 3 . 5 f ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġarea Ġ= Ġsphere . volume ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( area ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. is Close To ( 1 7 9 . 5 9 4 f , Ġwith Percentage ( 0 . 0 0 1 )) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ@ Parameterized Test ĊĠĠĠĠĠĠĠ Ġ@ Arguments Source ( Sphere Factory Arguments Provider :: class ) ĊĠĠĠĠĠĠĠ Ġfun Ġto Sphere Should Return Immutable Sphere ( factory : Ġ( Float , ĠFloat , ĠFloat , ĠFloat ) Ġ-> ĠSphere ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġx Ġ= Ġ 2 f ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġy Ġ= Ġ 5 f ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġz Ġ= Ġ- 1 f ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġradius Ġ= Ġ 3 . 5 f ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġsphere Ġ= Ġfactory ( x , Ġy , Ġz , Ġradius ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġimmutable Sphere : ĠSphere Ġ= Ġsphere . to Sphere () ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( immutable Sphere ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. isNot InstanceOf ( Mutable Sphere :: class . java ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. satisf ies Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( it . x ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. isEqualTo ( x ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( it . y ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. isEqualTo ( y ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( it . z ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. isEqualTo ( z ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( it . radius ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. isEqualTo ( radius ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ@ Parameterized Test ĊĠĠĠĠĠĠĠ Ġ@ Arguments Source ( Sphere Factory Arguments Provider :: class ) ĊĠĠĠĠĠĠĠ Ġfun Ġto Mutable Sphere Should Return Mutable Sphere ( factory : Ġ( Float , ĠFloat , ĠFloat , ĠFloat ) Ġ-> ĠSphere ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġx Ġ= Ġ 2 f ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġy Ġ= Ġ 5 f ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġz Ġ= Ġ- 1 f ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġradius Ġ= Ġ 3 . 5 f ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġsphere Ġ= Ġfactory ( x , Ġy , Ġz , Ġradius ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġmutable Sphere : ĠMutable Sphere Ġ= Ġsphere . to Mutable Sphere () ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( mutable Sphere ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. satisf ies Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( it . x ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. isEqualTo ( x ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( it . y ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. isEqualTo ( y ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( it . z ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. isEqualTo ( z ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( it . radius ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. isEqualTo ( radius ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ@ Parameterized Test ĊĠĠĠĠĠĠĠ Ġ@ Arguments Source ( Sphere Contains Arguments Provider :: class ) ĊĠĠĠĠĠĠĠ Ġfun Ġshould Contain Coordinates ( sphere : ĠSphere , Ġcoordinates : ĠVector 3 D ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġcontains Ġ= Ġsphere . contains ( coordinates ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( contains ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. isTrue () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ@ Parameterized Test ĊĠĠĠĠĠĠĠ Ġ@ Arguments Source ( Sphere DoesNot Contain Arguments Provider :: class ) ĊĠĠĠĠĠĠĠ Ġfun Ġshould Not Contain Coordinates ( sphere : ĠSphere , Ġcoordinates : ĠVector 3 D ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġcontains Ġ= Ġsphere . contains ( coordinates ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( contains ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. isFalse () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġclass ĠRectangle Factory Arguments Provider Ġ: ĠArguments Provider Ġ{ ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġprovide Arguments ( context : ĠExtension Context ): ĠStream < out ĠArguments > Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠStream . of ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcreate Ġ{ Ġmin X , Ġmax X , Ġmin Y , Ġmax Y Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrectangle Of ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmin X Ġ= Ġmin X , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmax X Ġ= Ġmax X , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmin Y Ġ= Ġmin Y , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmax Y Ġ= Ġmax Y ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcreate Ġ{ Ġmin X , Ġmax X , Ġmin Y , Ġmax Y Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmutable Rectangle Of ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmin X Ġ= Ġmin X , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmax X Ġ= Ġmax X , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmin Y Ġ= Ġmin Y , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmax Y Ġ= Ġmax Y ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġfun Ġcreate ( factory : Ġ( Float , ĠFloat , ĠFloat , ĠFloat ) Ġ-> ĠRectangle ): ĠArguments Ġ= ĠArguments . of ( factory ) ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġclass ĠRectangle Contains Arguments Provider Ġ: ĠArguments Provider Ġ{ ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġprovide Arguments ( context : ĠExtension Context ): ĠStream < out ĠArguments > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġmin X Ġ= Ġ- 1 f ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġmax X Ġ= Ġ 2 f ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġmin Y Ġ= Ġ 5 f ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġmax Y Ġ= Ġ 1 0 f ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠStream . of ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvector 2 D Of ( x Ġ= Ġ 0 f , Ġy Ġ= Ġ 6 f ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvector 2 D Of ( x Ġ= Ġmin X , Ġy Ġ= Ġmin Y ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvector 2 D Of ( x Ġ= Ġmin X , Ġy Ġ= Ġmax Y ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvector 2 D Of ( x Ġ= Ġmax X , Ġy Ġ= Ġmin Y ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvector 2 D Of ( x Ġ= Ġmax X , Ġy Ġ= Ġmax Y ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ). flatMap Ġ{ Ġcoordinates Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠStream . of ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrectangle Of ( min X Ġ= Ġmin X , Ġmax X Ġ= Ġmax X , Ġmin Y Ġ= Ġmin Y , Ġmax Y Ġ= Ġmax Y ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmutable Rectangle Of ( min X Ġ= Ġmin X , Ġmax X Ġ= Ġmax X , Ġmin Y Ġ= Ġmin Y , Ġmax Y Ġ= Ġmax Y ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ). map Ġ{ Ġrectangle Ġ-> ĠArguments . of ( rectangle , Ġcoordinates ) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġclass ĠRectangle DoesNot Contain Arguments Provider Ġ: ĠArguments Provider Ġ{ ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġprovide Arguments ( context : ĠExtension Context ): ĠStream < out ĠArguments > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġmin X Ġ= Ġ- 1 f ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġmax X Ġ= Ġ 2 f ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġmin Y Ġ= Ġ 5 f ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġmax Y Ġ= Ġ 1 0 f ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠStream . of ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvector 2 D Of ( x Ġ= Ġ- 1 . 1 f , Ġy Ġ= Ġ 7 f ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvector 2 D Of ( x Ġ= Ġ 2 . 1 f , Ġy Ġ= Ġ 7 f ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvector 2 D Of ( x Ġ= Ġ 0 f , Ġy Ġ= Ġ 4 . 9 f ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvector 2 D Of ( x Ġ= Ġ 0 f , Ġy Ġ= Ġ 1 0 . 2 f ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvector 2 D Of ( x Ġ= Ġ- 1 . 1 f , Ġy Ġ= Ġ 4 . 9 f ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvector 2 D Of ( x Ġ= Ġ 2 . 1 f , Ġy Ġ= Ġ 4 . 9 f ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvector 2 D Of ( x Ġ= Ġ- 1 . 1 f , Ġy Ġ= Ġ 1 0 . 2 f ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvector 2 D Of ( x Ġ= Ġ 2 . 1 f , Ġy Ġ= Ġ 1 0 . 2 f ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ). flatMap Ġ{ Ġcoordinates Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠStream . of ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrectangle Of ( min X Ġ= Ġmin X , Ġmax X Ġ= Ġmax X , Ġmin Y Ġ= Ġmin Y , Ġmax Y Ġ= Ġmax Y ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmutable Rectangle Of ( min X Ġ= Ġmin X , Ġmax X Ġ= Ġmax X , Ġmin Y Ġ= Ġmin Y , Ġmax Y Ġ= Ġmax Y ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ). map Ġ{ Ġrectangle Ġ-> ĠArguments . of ( rectangle , Ġcoordinates ) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġclass ĠBox Factory Arguments Provider Ġ: ĠArguments Provider Ġ{ ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġprovide Arguments ( context : ĠExtension Context ): ĠStream < out ĠArguments > Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠStream . of ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcreate Ġ{ Ġmin X , Ġmax X , Ġmin Y , Ġmax Y , Ġmin Z , Ġmax Z Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbox Of ( min X Ġ= Ġmin X , Ġmax X Ġ= Ġmax X , Ġmin Y Ġ= Ġmin Y , Ġmax Y Ġ= Ġmax Y , Ġmin Z Ġ= Ġmin Z , Ġmax Z Ġ= Ġmax Z ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcreate Ġ{ Ġmin X , Ġmax X , Ġmin Y , Ġmax Y , Ġmin Z , Ġmax Z Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmutable Box Of ( min X Ġ= Ġmin X , Ġmax X Ġ= Ġmax X , Ġmin Y Ġ= Ġmin Y , Ġmax Y Ġ= Ġmax Y , Ġmin Z Ġ= Ġmin Z , Ġmax Z Ġ= Ġmax Z ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġfun Ġcreate ( factory : Ġ( Float , ĠFloat , ĠFloat , ĠFloat , ĠFloat , ĠFloat ) Ġ-> ĠBox ): ĠArguments Ġ= ĠArguments . of ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfactory ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġclass ĠBox Contains Arguments Provider Ġ: ĠArguments Provider Ġ{ ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġprovide Arguments ( context : ĠExtension Context ): ĠStream < out ĠArguments > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġmin X Ġ= Ġ- 1 f ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġmax X Ġ= Ġ 2 f ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġmin Y Ġ= Ġ 5 f ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġmax Y Ġ= Ġ 1 0 f ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġmin Z Ġ= Ġ- 2 0 f ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġmax Z Ġ= Ġ 5 0 f ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠStream . of ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvector 3 D Of ( x Ġ= Ġ 0 f , Ġy Ġ= Ġ 6 f , Ġz Ġ= Ġ 2 7 f ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvector 3 D Of ( x Ġ= Ġmin X , Ġy Ġ= Ġmin Y , Ġz Ġ= Ġmin Z ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvector 3 D Of ( x Ġ= Ġmin X , Ġy Ġ= Ġmax Y , Ġz Ġ= Ġmin Z ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvector 3 D Of ( x Ġ= Ġmax X , Ġy Ġ= Ġmin Y , Ġz Ġ= Ġmin Z ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvector 3 D Of ( x Ġ= Ġmax X , Ġy Ġ= Ġmax Y , Ġz Ġ= Ġmin Z ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvector 3 D Of ( x Ġ= Ġmin X , Ġy Ġ= Ġmin Y , Ġz Ġ= Ġmax Z ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvector 3 D Of ( x Ġ= Ġmin X , Ġy Ġ= Ġmax Y , Ġz Ġ= Ġmax Z ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvector 3 D Of ( x Ġ= Ġmax X , Ġy Ġ= Ġmin Y , Ġz Ġ= Ġmax Z ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvector 3 D Of ( x Ġ= Ġmax X , Ġy Ġ= Ġmax Y , Ġz Ġ= Ġmax Z ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ). flatMap Ġ{ Ġcoordinates Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠStream . of ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbox Of ( min X Ġ= Ġmin X , Ġmax X Ġ= Ġmax X , Ġmin Y Ġ= Ġmin Y , Ġmax Y Ġ= Ġmax Y , Ġmin Z Ġ= Ġmin Z , Ġmax Z Ġ= Ġmax Z ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmutable Box Of ( min X Ġ= Ġmin X , Ġmax X Ġ= Ġmax X , Ġmin Y Ġ= Ġmin Y , Ġmax Y Ġ= Ġmax Y , Ġmin Z Ġ= Ġmin Z , Ġmax Z Ġ= Ġmax Z ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ). map Ġ{ Ġbox Ġ-> ĠArguments . of ( box , Ġcoordinates ) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġclass ĠBox DoesNot Contain Arguments Provider Ġ: ĠArguments Provider Ġ{ ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġprovide Arguments ( context : ĠExtension Context ): ĠStream < out ĠArguments > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġmin X Ġ= Ġ- 1 f ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġmax X Ġ= Ġ 2 f ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġmin Y Ġ= Ġ 5 f ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġmax Y Ġ= Ġ 1 0 f ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġmin Z Ġ= Ġ- 2 0 f ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġmax Z Ġ= Ġ 5 0 f ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠStream . of ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvector 3 D Of ( x Ġ= Ġ- 1 . 1 f , Ġy Ġ= Ġ 7 f , Ġz Ġ= Ġ 2 7 f ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvector 3 D Of ( x Ġ= Ġ 2 . 1 f , Ġy Ġ= Ġ 7 f , Ġz Ġ= Ġ 2 7 f ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvector 3 D Of ( x Ġ= Ġ 0 f , Ġy Ġ= Ġ 4 . 9 f , Ġz Ġ= Ġ 2 7 f ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvector 3 D Of ( x Ġ= Ġ 0 f , Ġy Ġ= Ġ 1 0 . 2 f , Ġz Ġ= Ġ 2 7 f ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvector 3 D Of ( x Ġ= Ġ- 1 . 1 f , Ġy Ġ= Ġ 4 . 9 f , Ġz Ġ= Ġ 2 7 f ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvector 3 D Of ( x Ġ= Ġ 2 . 1 f , Ġy Ġ= Ġ 4 . 9 f , Ġz Ġ= Ġ 2 7 f ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvector 3 D Of ( x Ġ= Ġ- 1 . 1 f , Ġy Ġ= Ġ 1 0 . 2 f , Ġz Ġ= Ġ 2 7 f ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvector 3 D Of ( x Ġ= Ġ 2 . 1 f , Ġy Ġ= Ġ 1 0 . 2 f , Ġz Ġ= Ġ 2 7 f ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvector 3 D Of ( x Ġ= Ġ- 1 . 1 f , Ġy Ġ= Ġ 7 f , Ġz Ġ= Ġ 5 1 f ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvector 3 D Of ( x Ġ= Ġ 2 . 1 f , Ġy Ġ= Ġ 7 f , Ġz Ġ= Ġ 5 1 f ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvector 3 D Of ( x Ġ= Ġ 0 f , Ġy Ġ= Ġ 4 . 9 f , Ġz Ġ= Ġ 5 1 f ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvector 3 D Of ( x Ġ= Ġ 0 f , Ġy Ġ= Ġ 1 0 . 2 f , Ġz Ġ= Ġ 5 1 f ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvector 3 D Of ( x Ġ= Ġ- 1 . 1 f , Ġy Ġ= Ġ 4 . 9 f , Ġz Ġ= Ġ 5 1 f ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvector 3 D Of ( x Ġ= Ġ 2 . 1 f , Ġy Ġ= Ġ 4 . 9 f , Ġz Ġ= Ġ 5 1 f ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvector 3 D Of ( x Ġ= Ġ- 1 . 1 f , Ġy Ġ= Ġ 1 0 . 2 f , Ġz Ġ= Ġ 5 1 f ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvector 3 D Of ( x Ġ= Ġ 2 . 1 f , Ġy Ġ= Ġ 1 0 . 2 f , Ġz Ġ= Ġ 5 1 f ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvector 3 D Of ( x Ġ= Ġ- 1 . 1 f , Ġy Ġ= Ġ 7 f , Ġz Ġ= Ġ- 2 3 f ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvector 3 D Of ( x Ġ= Ġ 2 . 1 f , Ġy Ġ= Ġ 7 f , Ġz Ġ= Ġ- 2 3 f ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvector 3 D Of ( x Ġ= Ġ 0 f , Ġy Ġ= Ġ 4 . 9 f , Ġz Ġ= Ġ- 2 3 f ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvector 3 D Of ( x Ġ= Ġ 0 f , Ġy Ġ= Ġ 1 0 . 2 f , Ġz Ġ= Ġ- 2 3 f ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvector 3 D Of ( x Ġ= Ġ- 1 . 1 f , Ġy Ġ= Ġ 4 . 9 f , Ġz Ġ= Ġ- 2 3 f ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvector 3 D Of ( x Ġ= Ġ 2 . 1 f , Ġy Ġ= Ġ 4 . 9 f , Ġz Ġ= Ġ- 2 3 f ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvector 3 D Of ( x Ġ= Ġ- 1 . 1 f , Ġy Ġ= Ġ 1 0 . 2 f , Ġz Ġ= Ġ- 2 3 f ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvector 3 D Of ( x Ġ= Ġ 2 . 1 f , Ġy Ġ= Ġ 1 0 . 2 f , Ġz Ġ= Ġ- 2 3 f ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ). flatMap Ġ{ Ġcoordinates Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠStream . of ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbox Of ( min X Ġ= Ġmin X , Ġmax X Ġ= Ġmax X , Ġmin Y Ġ= Ġmin Y , Ġmax Y Ġ= Ġmax Y , Ġmin Z Ġ= Ġmin Z , Ġmax Z Ġ= Ġmax Z ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmutable Box Of ( min X Ġ= Ġmin X , Ġmax X Ġ= Ġmax X , Ġmin Y Ġ= Ġmin Y , Ġmax Y Ġ= Ġmax Y , Ġmin Z Ġ= Ġmin Z , Ġmax Z Ġ= Ġmax Z ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ). map Ġ{ Ġbox Ġ-> ĠArguments . of ( box , Ġcoordinates ) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġclass ĠCircle Factory Arguments Provider Ġ: ĠArguments Provider Ġ{ ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġprovide Arguments ( context : ĠExtension Context ): ĠStream < out ĠArguments > Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠStream . of ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcreate Ġ{ Ġx , Ġy , Ġradius Ġ-> Ġcircle Of ( x Ġ= Ġx , Ġy Ġ= Ġy , Ġradius Ġ= Ġradius ) Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcreate Ġ{ Ġx , Ġy , Ġradius Ġ-> Ġcircle Of ( coordinates Ġ= Ġvector 2 D Of ( x Ġ= Ġx , Ġy Ġ= Ġy ), Ġradius Ġ= Ġradius ) Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcreate Ġ{ Ġx , Ġy , Ġradius Ġ-> Ġmutable Circle Of ( x Ġ= Ġx , Ġy Ġ= Ġy , Ġradius Ġ= Ġradius ) Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcreate Ġ{ Ġx , Ġy , Ġradius Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmutable Circle Of ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcoordinates Ġ= Ġvector 2 D Of ( x Ġ= Ġx , Ġy Ġ= Ġy ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġradius Ġ= Ġradius ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġfun Ġcreate ( factory : Ġ( Float , ĠFloat , ĠFloat ) Ġ-> ĠCircle ): ĠArguments Ġ= ĠArguments . of ( factory ) ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġclass ĠCircle Contains Arguments Provider Ġ: ĠArguments Provider Ġ{ ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġprovide Arguments ( context : ĠExtension Context ): ĠStream < out ĠArguments > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġx Ġ= Ġ- 1 f ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġy Ġ= Ġ 2 f ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġradius Ġ= Ġ 5 f ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠStream . of ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvector 2 D Of ( x Ġ= Ġ- 1 f , Ġy Ġ= Ġ 2 f ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvector 2 D Of ( x Ġ= Ġ- 6 f , Ġy Ġ= Ġ 2 f ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvector 2 D Of ( x Ġ= Ġ 4 f , Ġy Ġ= Ġ 2 f ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvector 2 D Of ( x Ġ= Ġ- 1 f , Ġy Ġ= Ġ 7 f ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvector 2 D Of ( x Ġ= Ġ- 1 f , Ġy Ġ= Ġ- 3 f ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvector 2 D Of ( x Ġ= Ġ- 4 f , Ġy Ġ= Ġ 2 f ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvector 2 D Of ( x Ġ= Ġ 3 f , Ġy Ġ= Ġ 2 f ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvector 2 D Of ( x Ġ= Ġ- 1 f , Ġy Ġ= Ġ 6 f ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvector 2 D Of ( x Ġ= Ġ- 1 f , Ġy Ġ= Ġ- 2 f ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvector 2 D Of ( x Ġ= Ġ- 2 f , Ġy Ġ= Ġ 3 f ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvector 2 D Of ( x Ġ= Ġ- 2 f , Ġy Ġ= Ġ 1 f ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvector 2 D Of ( x Ġ= Ġ- 3 f , Ġy Ġ= Ġ 3 f ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvector 2 D Of ( x Ġ= Ġ- 3 f , Ġy Ġ= Ġ 1 f ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ). flatMap Ġ{ Ġcoordinates Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠStream . of ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcircle Of ( x Ġ= Ġx , Ġy Ġ= Ġy , Ġradius Ġ= Ġradius ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmutable Circle Of ( x Ġ= Ġx , Ġy Ġ= Ġy , Ġradius Ġ= Ġradius ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ). map Ġ{ Ġcircle Ġ-> ĠArguments . of ( circle , Ġcoordinates ) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġclass ĠCircle DoesNot Contain Arguments Provider Ġ: ĠArguments Provider Ġ{ ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġprovide Arguments ( context : ĠExtension Context ): ĠStream < out ĠArguments > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġx Ġ= Ġ- 1 f ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġy Ġ= Ġ 2 f ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġradius Ġ= Ġ 5 f ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠStream . of ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvector 2 D Of ( x Ġ= Ġ- 6 . 1 f , Ġy Ġ= Ġ 2 f ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvector 2 D Of ( x Ġ= Ġ 4 . 1 f , Ġy Ġ= Ġ 2 f ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvector 2 D Of ( x Ġ= Ġ- 1 f , Ġy Ġ= Ġ 7 . 1 f ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvector 2 D Of ( x Ġ= Ġ- 1 f , Ġy Ġ= Ġ- 3 . 1 f ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvector 2 D Of ( x Ġ= Ġ- 6 . 1 f , Ġy Ġ= Ġ 7 . 1 f ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvector 2 D Of ( x Ġ= Ġ 4 . 1 f , Ġy Ġ= Ġ 7 . 1 f ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvector 2 D Of ( x Ġ= Ġ- 6 . 1 f , Ġy Ġ= Ġ- 3 . 1 f ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvector 2 D Of ( x Ġ= Ġ 4 . 1 f , Ġy Ġ= Ġ- 3 . 1 f ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ). flatMap Ġ{ Ġcoordinates Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠStream . of ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcircle Of ( x Ġ= Ġx , Ġy Ġ= Ġy , Ġradius Ġ= Ġradius ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmutable Circle Of ( x Ġ= Ġx , Ġy Ġ= Ġy , Ġradius Ġ= Ġradius ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ). map Ġ{ Ġcircle Ġ-> ĠArguments . of ( circle , Ġcoordinates ) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġclass ĠSphere Factory Arguments Provider Ġ: ĠArguments Provider Ġ{ ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġprovide Arguments ( context : ĠExtension Context ): ĠStream < out ĠArguments > Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠStream . of ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcreate Ġ{ Ġx , Ġy , Ġz , Ġradius Ġ-> Ġsphere Of ( x Ġ= Ġx , Ġy Ġ= Ġy , Ġz Ġ= Ġz , Ġradius Ġ= Ġradius ) Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcreate Ġ{ Ġx , Ġy , Ġz , Ġradius Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsphere Of ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcoordinates Ġ= Ġvector 3 D Of ( x Ġ= Ġx , Ġy Ġ= Ġy , Ġz Ġ= Ġz ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġradius Ġ= Ġradius ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcreate Ġ{ Ġx , Ġy , Ġz , Ġradius Ġ-> Ġsphere Of ( circle Ġ= Ġcircle Of ( x Ġ= Ġx , Ġy Ġ= Ġy , Ġradius Ġ= Ġradius ), Ġz Ġ= Ġz ) Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcreate Ġ{ Ġx , Ġy , Ġz , Ġradius Ġ-> Ġcircle Of ( x Ġ= Ġx , Ġy Ġ= Ġy , Ġradius Ġ= Ġradius ). to Sphere ( z ) Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcreate Ġ{ Ġx , Ġy , Ġz , Ġradius Ġ-> Ġmutable Sphere Of ( x Ġ= Ġx , Ġy Ġ= Ġy , Ġz Ġ= Ġz , Ġradius Ġ= Ġradius ) Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcreate Ġ{ Ġx , Ġy , Ġz , Ġradius Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmutable Sphere Of ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcoordinates Ġ= Ġvector 3 D Of ( x Ġ= Ġx , Ġy Ġ= Ġy , Ġz Ġ= Ġz ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġradius Ġ= Ġradius ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcreate Ġ{ Ġx , Ġy , Ġz , Ġradius Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmutable Sphere Of ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcircle Ġ= Ġcircle Of ( x Ġ= Ġx , Ġy Ġ= Ġy , Ġradius Ġ= Ġradius ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġz Ġ= Ġz ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcreate Ġ{ Ġx , Ġy , Ġz , Ġradius Ġ-> Ġcircle Of ( x Ġ= Ġx , Ġy Ġ= Ġy , Ġradius Ġ= Ġradius ). to Mutable Sphere ( z ) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġfun Ġcreate ( factory : Ġ( Float , ĠFloat , ĠFloat , ĠFloat ) Ġ-> ĠSphere ): ĠArguments Ġ= ĠArguments . of ( factory ) ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġclass ĠSphere Contains Arguments Provider Ġ: ĠArguments Provider Ġ{ ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġprovide Arguments ( context : ĠExtension Context ): ĠStream < out ĠArguments > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġx Ġ= Ġ- 1 f ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġy Ġ= Ġ 2 f ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġz Ġ= Ġ 1 f ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġradius Ġ= Ġ 5 f ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠStream . of ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvector 3 D Of ( x Ġ= Ġ- 1 f , Ġy Ġ= Ġ 2 f , Ġz Ġ= Ġ 1 f ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvector 3 D Of ( x Ġ= Ġ- 6 f , Ġy Ġ= Ġ 2 f , Ġz Ġ= Ġ 1 f ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvector 3 D Of ( x Ġ= Ġ 4 f , Ġy Ġ= Ġ 2 f , Ġz Ġ= Ġ 1 f ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvector 3 D Of ( x Ġ= Ġ- 1 f , Ġy Ġ= Ġ 7 f , Ġz Ġ= Ġ 1 f ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvector 3 D Of ( x Ġ= Ġ- 1 f , Ġy Ġ= Ġ- 3 f , Ġz Ġ= Ġ 1 f ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvector 3 D Of ( x Ġ= Ġ- 1 f , Ġy Ġ= Ġ 2 f , Ġz Ġ= Ġ 6 f ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvector 3 D Of ( x Ġ= Ġ- 1 f , Ġy Ġ= Ġ 2 f , Ġz Ġ= Ġ- 4 f ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvector 3 D Of ( x Ġ= Ġ- 4 f , Ġy Ġ= Ġ 2 f , Ġz Ġ= Ġ 1 f ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvector 3 D Of ( x Ġ= Ġ 3 f , Ġy Ġ= Ġ 2 f , Ġz Ġ= Ġ 1 f ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvector 3 D Of ( x Ġ= Ġ- 1 f , Ġy Ġ= Ġ 6 f , Ġz Ġ= Ġ 1 f ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvector 3 D Of ( x Ġ= Ġ- 1 f , Ġy Ġ= Ġ- 2 f , Ġz Ġ= Ġ 1 f ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvector 3 D Of ( x Ġ= Ġ- 2 f , Ġy Ġ= Ġ 3 f , Ġz Ġ= Ġ 1 f ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvector 3 D Of ( x Ġ= Ġ- 2 f , Ġy Ġ= Ġ 1 f , Ġz Ġ= Ġ 1 f ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvector 3 D Of ( x Ġ= Ġ- 3 f , Ġy Ġ= Ġ 3 f , Ġz Ġ= Ġ 1 f ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvector 3 D Of ( x Ġ= Ġ- 3 f , Ġy Ġ= Ġ 1 f , Ġz Ġ= Ġ 1 f ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvector 3 D Of ( x Ġ= Ġ- 4 f , Ġy Ġ= Ġ 2 f , Ġz Ġ= Ġ 2 f ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvector 3 D Of ( x Ġ= Ġ 3 f , Ġy Ġ= Ġ 2 f , Ġz Ġ= Ġ 2 f ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvector 3 D Of ( x Ġ= Ġ- 1 f , Ġy Ġ= Ġ 6 f , Ġz Ġ= Ġ 2 f ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvector 3 D Of ( x Ġ= Ġ- 1 f , Ġy Ġ= Ġ- 2 f , Ġz Ġ= Ġ 2 f ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvector 3 D Of ( x Ġ= Ġ- 2 f , Ġy Ġ= Ġ 3 f , Ġz Ġ= Ġ 2 f ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvector 3 D Of ( x Ġ= Ġ- 2 f , Ġy Ġ= Ġ 1 f , Ġz Ġ= Ġ 2 f ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvector 3 D Of ( x Ġ= Ġ- 3 f , Ġy Ġ= Ġ 3 f , Ġz Ġ= Ġ 2 f ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvector 3 D Of ( x Ġ= Ġ- 3 f , Ġy Ġ= Ġ 1 f , Ġz Ġ= Ġ 2 f ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvector 3 D Of ( x Ġ= Ġ- 4 f , Ġy Ġ= Ġ 2 f , Ġz Ġ= Ġ 0 f ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvector 3 D Of ( x Ġ= Ġ 3 f , Ġy Ġ= Ġ 2 f , Ġz Ġ= Ġ 0 f ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvector 3 D Of ( x Ġ= Ġ- 1 f , Ġy Ġ= Ġ 6 f , Ġz Ġ= Ġ 0 f ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvector 3 D Of ( x Ġ= Ġ- 1 f , Ġy Ġ= Ġ- 2 f , Ġz Ġ= Ġ 0 f ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvector 3 D Of ( x Ġ= Ġ- 2 f , Ġy Ġ= Ġ 3 f , Ġz Ġ= Ġ 0 f ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvector 3 D Of ( x Ġ= Ġ- 2 f , Ġy Ġ= Ġ 1 f , Ġz Ġ= Ġ 0 f ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvector 3 D Of ( x Ġ= Ġ- 3 f , Ġy Ġ= Ġ 3 f , Ġz Ġ= Ġ 0 f ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvector 3 D Of ( x Ġ= Ġ- 3 f , Ġy Ġ= Ġ 1 f , Ġz Ġ= Ġ 0 f ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ). flatMap Ġ{ Ġcoordinates Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠStream . of ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsphere Of ( x Ġ= Ġx , Ġy Ġ= Ġy , Ġz Ġ= Ġz , Ġradius Ġ= Ġradius ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmutable Sphere Of ( x Ġ= Ġx , Ġy Ġ= Ġy , Ġz Ġ= Ġz , Ġradius Ġ= Ġradius ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ). map Ġ{ Ġsphere Ġ-> ĠArguments . of ( sphere , Ġcoordinates ) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġclass ĠSphere DoesNot Contain Arguments Provider Ġ: ĠArguments Provider Ġ{ ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġprovide Arguments ( context : ĠExtension Context ): ĠStream < out ĠArguments > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġx Ġ= Ġ- 1 f ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġy Ġ= Ġ 2 f ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġz Ġ= Ġ 1 f ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġradius Ġ= Ġ 5 f ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠStream . of ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvector 3 D Of ( x Ġ= Ġ- 6 . 1 f , Ġy Ġ= Ġ 2 f , Ġz Ġ= Ġ- 1 . 2 f ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvector 3 D Of ( x Ġ= Ġ 4 . 1 f , Ġy Ġ= Ġ 2 f , Ġz Ġ= Ġ- 1 . 2 f ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvector 3 D Of ( x Ġ= Ġ- 1 f , Ġy Ġ= Ġ 7 . 1 f , Ġz Ġ= Ġ- 1 . 2 f ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvector 3 D Of ( x Ġ= Ġ- 1 f , Ġy Ġ= Ġ- 3 . 1 f , Ġz Ġ= Ġ- 1 . 2 f ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvector 3 D Of ( x Ġ= Ġ- 6 . 1 f , Ġy Ġ= Ġ 7 . 1 f , Ġz Ġ= Ġ- 1 . 2 f ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvector 3 D Of ( x Ġ= Ġ 4 . 1 f , Ġy Ġ= Ġ 7 . 1 f , Ġz Ġ= Ġ- 1 . 2 f ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvector 3 D Of ( x Ġ= Ġ- 6 . 1 f , Ġy Ġ= Ġ- 3 . 1 f , Ġz Ġ= Ġ- 1 . 2 f ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvector 3 D Of ( x Ġ= Ġ 4 . 1 f , Ġy Ġ= Ġ- 3 . 1 f , Ġz Ġ= Ġ- 1 . 2 f ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvector 3 D Of ( x Ġ= Ġ- 6 . 1 f , Ġy Ġ= Ġ 2 f , Ġz Ġ= Ġ 6 . 1 f ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvector 3 D Of ( x Ġ= Ġ 4 . 1 f , Ġy Ġ= Ġ 2 f , Ġz Ġ= Ġ 6 . 1 f ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvector 3 D Of ( x Ġ= Ġ- 1 f , Ġy Ġ= Ġ 7 . 1 f , Ġz Ġ= Ġ 6 . 1 f ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvector 3 D Of ( x Ġ= Ġ- 1 f , Ġy Ġ= Ġ- 3 . 1 f , Ġz Ġ= Ġ 6 . 1 f ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvector 3 D Of ( x Ġ= Ġ- 6 . 1 f , Ġy Ġ= Ġ 7 . 1 f , Ġz Ġ= Ġ 6 . 1 f ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvector 3 D Of ( x Ġ= Ġ 4 . 1 f , Ġy Ġ= Ġ 7 . 1 f , Ġz Ġ= Ġ 6 . 1 f ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvector 3 D Of ( x Ġ= Ġ- 6 . 1 f , Ġy Ġ= Ġ- 3 . 1 f , Ġz Ġ= Ġ 6 . 1 f ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvector 3 D Of ( x Ġ= Ġ 4 . 1 f , Ġy Ġ= Ġ- 3 . 1 f , Ġz Ġ= Ġ 6 . 1 f ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvector 3 D Of ( x Ġ= Ġ- 6 . 1 f , Ġy Ġ= Ġ 2 f , Ġz Ġ= Ġ- 4 . 1 f ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvector 3 D Of ( x Ġ= Ġ 4 . 1 f , Ġy Ġ= Ġ 2 f , Ġz Ġ= Ġ- 4 . 1 f ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvector 3 D Of ( x Ġ= Ġ- 1 f , Ġy Ġ= Ġ 7 . 1 f , Ġz Ġ= Ġ- 4 . 1 f ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvector 3 D Of ( x Ġ= Ġ- 1 f , Ġy Ġ= Ġ- 3 . 1 f , Ġz Ġ= Ġ- 4 . 1 f ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvector 3 D Of ( x Ġ= Ġ- 6 . 1 f , Ġy Ġ= Ġ 7 . 1 f , Ġz Ġ= Ġ- 4 . 1 f ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvector 3 D Of ( x Ġ= Ġ 4 . 1 f , Ġy Ġ= Ġ 7 . 1 f , Ġz Ġ= Ġ- 4 . 1 f ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvector 3 D Of ( x Ġ= Ġ- 6 . 1 f , Ġy Ġ= Ġ- 3 . 1 f , Ġz Ġ= Ġ- 4 . 1 f ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvector 3 D Of ( x Ġ= Ġ 4 . 1 f , Ġy Ġ= Ġ- 3 . 1 f , Ġz Ġ= Ġ- 4 . 1 f ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ). flatMap Ġ{ Ġcoordinates Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠStream . of ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsphere Of ( x Ġ= Ġx , Ġy Ġ= Ġy , Ġz Ġ= Ġz , Ġradius Ġ= Ġradius ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmutable Sphere Of ( x Ġ= Ġx , Ġy Ġ= Ġy , Ġz Ġ= Ġz , Ġradius Ġ= Ġradius ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ). map Ġ{ Ġsphere Ġ-> ĠArguments . of ( sphere , Ġcoordinates ) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġ} Ċ Ċ }