package Ġquantum . core . state Ċ Ċ import Ġorg . junit . Test Ċ import Ġquantum . core . Complex . Companion . One Ċ import Ġquantum . core . Complex . Companion . Zero Ċ import Ġquantum . core . Complex . Companion . complex Ċ import Ġquantum . core . Q ubit Ċ import Ġkotlin . math . sqrt Ċ import Ġkotlin . test . assertEquals Ċ Ċ class ĠQ ubit Test Ġ{ ĊĊĠĠĠ Ġval Ġsqrt 2 Ġ= Ġkotlin . math . sqrt ( 2 . 0 ) ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest Constant () Ġ{ ĊĠĠĠĠĠĠĠ ĠassertEquals ( One , ĠQ ubit . Zero . zero ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( Zero , ĠQ ubit . Zero . one ) ĊĊĠĠĠĠĠĠĠ ĠassertEquals ( Zero , ĠQ ubit . One . zero ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( One , ĠQ ubit . One . one ) ĊĊĠĠĠĠĠĠĠ ĠassertEquals ( complex ( 1 . 0 Ġ/ Ġsqrt 2 ), ĠQ ubit . Plus . zero ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( complex ( 1 . 0 Ġ/ Ġsqrt 2 ), ĠQ ubit . Plus . one ) ĊĊĠĠĠĠĠĠĠ ĠassertEquals ( complex ( 1 . 0 Ġ/ Ġsqrt 2 ), ĠQ ubit . Minus . zero ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( complex (- 1 . 0 Ġ/ Ġsqrt 2 ), ĠQ ubit . Minus . one ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest From Complex () Ġ{ ĊĊĠĠĠĠĠĠĠ Ġval Ġq ubit 1 Ġ= ĠQ ubit . from ( One , ĠZero ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( One , Ġq ubit 1 . zero ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( Zero , Ġq ubit 1 . one ) ĊĊĠĠĠĠĠĠĠ Ġval Ġq ubit 2 Ġ= ĠQ ubit . from ( Zero , ĠOne ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( complex ( 0 . 0 , Ġ 0 . 0 ), Ġq ubit 2 . zero ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( complex ( 1 . 0 , Ġ 0 . 0 ), Ġq ubit 2 . one ) ĊĊĠĠĠĠĠĠĠ Ġval Ġr Ġ= Ġ 1 Ġ/ Ġsqrt ( 2 . 0 ) ĊĠĠĠĠĠĠĠ Ġval Ġc Ġ= Ġcomplex ( r ) ĊĊĠĠĠĠĠĠĠ Ġval Ġq ubit 3 Ġ= ĠQ ubit . from ( One , ĠOne ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( c , Ġq ubit 3 . zero ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( c , Ġq ubit 3 . one ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( c , Ġq ubit 3 [ 0 ]) ĊĠĠĠĠĠĠĠ ĠassertEquals ( c , Ġq ubit 3 [ 1 ]) ĊĠĠĠ Ġ} Ċ } ĊĊ