package Ġde . r ki . cor on aw arn app . risk Ċ Ċ import Ġde . r ki . cor on aw arn app . server . protocols . ApplicationConfiguration OuterClass Ċ import Ġjunit . framework . TestCase . assertEquals Ċ import Ġorg . cor alib re . android . sdk . fake gms . near by . ex posure notification . Exposure Summary Ċ import Ġorg . junit . Test Ċ Ċ class ĠR isk Level Calculation Test Ġ{ ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġcalculate Risk Score Zero () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġrisk Score Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR isk Level Calculation . calculate Risk Score ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbuild Att enuation Duration ( 0 . 5 , Ġ 0 . 5 , Ġ 1 . 0 ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbuild Summary ( 0 , Ġ 0 , Ġ 0 , Ġ 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ ĠassertEquals ( 0 . 0 , Ġrisk Score ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġcalculate Risk Score Low () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġrisk Score Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR isk Level Calculation . calculate Risk Score ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbuild Att enuation Duration ( 0 . 5 , Ġ 0 . 5 , Ġ 1 . 0 ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbuild Summary ( 1 5 6 , Ġ 1 0 , Ġ 1 0 , Ġ 1 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ ĠassertEquals ( 1 2 4 . 8 , Ġrisk Score ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġcalculate Risk Score Mid () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġrisk Score Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR isk Level Calculation . calculate Risk Score ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbuild Att enuation Duration ( 0 . 5 , Ġ 0 . 5 , Ġ 1 . 0 ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbuild Summary ( 2 5 6 , Ġ 1 5 , Ġ 1 5 , Ġ 1 5 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ ĠassertEquals ( 3 0 7 . 2 , Ġrisk Score ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġcalculate Risk Score High () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġrisk Score Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR isk Level Calculation . calculate Risk Score ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbuild Att enuation Duration ( 0 . 5 , Ġ 0 . 5 , Ġ 1 . 0 ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbuild Summary ( 5 1 2 , Ġ 3 0 , Ġ 3 0 , Ġ 3 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ ĠassertEquals ( 1 2 2 8 . 8 , Ġrisk Score ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġcalculate Risk Score Max () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġrisk Score Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR isk Level Calculation . calculate Risk Score ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbuild Att enuation Duration ( 0 . 5 , Ġ 0 . 5 , Ġ 1 . 0 ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbuild Summary ( 4 0 9 6 , Ġ 3 0 , Ġ 3 0 , Ġ 3 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ ĠassertEquals ( 9 8 3 0 . 4 , Ġrisk Score ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġcalculate Risk Score C apped () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġrisk Score Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR isk Level Calculation . calculate Risk Score ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbuild Att enuation Duration ( 0 . 5 , Ġ 0 . 5 , Ġ 1 . 0 ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbuild Summary ( 4 0 9 6 , Ġ 4 5 , Ġ 4 5 , Ġ 4 5 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ ĠassertEquals ( 9 8 3 0 . 4 , Ġrisk Score ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġbuild Att enuation Duration ( ĊĠĠĠĠĠĠĠ Ġhigh : ĠDouble , ĊĠĠĠĠĠĠĠ Ġmid : ĠDouble , ĊĠĠĠĠĠĠĠ Ġlow : ĠDouble , ĊĠĠĠĠĠĠĠ Ġnorm : ĠInt Ġ= Ġ 2 5 , ĊĠĠĠĠĠĠĠ Ġoffset : ĠInt Ġ= Ġ 0 ĊĠĠĠ Ġ): ĠApplication Configuration OuterClass . Att enuation Duration Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠApplication Configuration OuterClass . Att enuation Duration ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. newBuilder () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Risk Score Normalization Div isor ( norm ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. setDefault Bucket Offset ( offset ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Weights ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠApplication Configuration OuterClass . Weights ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. newBuilder () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set High ( high ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Mid ( mid ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Low ( low ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġbuild Summary ( ĊĠĠĠĠĠĠĠ Ġmax Risk : ĠInt Ġ= Ġ 0 , ĊĠĠĠĠĠĠĠ Ġlow Att enuation : ĠInt Ġ= Ġ 0 , ĊĠĠĠĠĠĠĠ Ġmid Att enuation : ĠInt Ġ= Ġ 0 , ĊĠĠĠĠĠĠĠ Ġhigh Att enuation : ĠInt Ġ= Ġ 0 ĊĠĠĠ Ġ): ĠEx posure Summary Ġ{ ĊĠĠĠĠĠĠĠ Ġval ĠintArray Ġ= ĠInt Array ( 3 ) ĊĠĠĠĠĠĠĠ ĠintArray [ 0 ] Ġ= Ġlow Att enuation ĊĠĠĠĠĠĠĠ ĠintArray [ 1 ] Ġ= Ġmid Att enuation ĊĠĠĠĠĠĠĠ ĠintArray [ 2 ] Ġ= Ġhigh Att enuation ĊĠĠĠĠĠĠĠ Ġreturn ĠEx posure Summary . Exposure Summary Builder () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. setMaximum Risk Score ( max Risk ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Att enuation Dur ations ( int Array ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () ĊĠĠĠ Ġ} Ċ } Ċ