package Ġuk . n hs . n hs x . covid 1 9 . android . app . flow . analytics Ċ Ċ import Ġorg . junit . Test Ċ import Ġuk . n hs . n hs x . covid 1 9 . android . app . remote . data . Metrics Ċ Ċ class ĠMissing Submission Days Analytics Test Ġ: ĠAnalytics Test () Ġ{ ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest Missing Analytics Days Field () Ġ{ ĊĠĠĠĠĠĠĠ Ġ// ĠInit ially Ġthe Ġmissing Packets Last 7 Days Ġfield Ġis Ġ 0 ĊĠĠĠĠĠĠĠ Ġ// Ġ[ 1 1 1 1 1 1 1 ] Ġ( visualization Ġof Ġpackets Ġsent Ġfor Ġthe Ġrecent Ġdays . Ġ 0 Ġ= Ġno Ġpacket Ġsent ; Ġ 1 Ġ= Ġpacket Ġsent ; Ġbrackets Ġsymbol ize Ġsl iding Ġwindow ) ĊĠĠĠĠĠĠĠ Ġassert Analytics Packet Is Normal () ĊĊĠĠĠĠĠĠĠ Ġ// ĠFast - forward Ġone Ġday Ġwithout Ġsubmitting ĊĠĠĠĠĠĠĠ Ġtest AppContext . execute While Offline Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġadvance To EndOf Analytics Window ( steps Ġ= Ġ 1 ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ// Ġ 1 [ 1 1 1 1 1 1 0 ] Ġ Ġ<-- ĠOne Ġday Ġmissed ĊĠĠĠĠĠĠĠ Ġassert On Fields Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals ( 1 , ĠMetrics :: missing Packets Last 7 Days ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ// ĠFast - forward Ġ 7 Ġdays Ġwithout Ġsubmitting ĊĠĠĠĠĠĠĠ Ġtest AppContext . execute While Offline Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrepeat ( 7 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġadvance To EndOf Analytics Window ( steps Ġ= Ġ 1 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ// Ġ[ 0 0 0 0 0 0 0 ] Ġ Ġ<-- Ġno Ġpackage Ġtransmitted Ġin Ġthe Ġlast Ġ 7 Ġdays ĊĠĠĠĠĠĠĠ Ġassert On Fields Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals ( 7 , ĠMetrics :: missing Packets Last 7 Days ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ// Ġ 0 [ 0 0 0 0 0 0 1 ] ĊĠĠĠĠĠĠĠ Ġadvance To EndOf Analytics Window ( steps Ġ= Ġ 1 ) ĊĊĠĠĠĠĠĠĠ Ġ// Ġ 0 0 [ 0 0 0 0 0 1 1 ] ĊĠĠĠĠĠĠĠ Ġadvance To EndOf Analytics Window ( steps Ġ= Ġ 1 ) ĊĊĠĠĠĠĠĠĠ Ġ// Ġ 0 0 0 [ 0 0 0 0 1 1 1 ] ĊĠĠĠĠĠĠĠ Ġassert On Fields Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals ( 4 , ĠMetrics :: missing Packets Last 7 Days ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ// Ġ 0 0 0 0 [ 0 0 0 1 1 1 1 ] ĊĠĠĠĠĠĠĠ Ġassert On Fields Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals ( 3 , ĠMetrics :: missing Packets Last 7 Days ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ// Ġ 0 0 0 0 0 [ 0 0 1 1 1 1 1 ] ĊĠĠĠĠĠĠĠ Ġassert On Fields Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals ( 2 , ĠMetrics :: missing Packets Last 7 Days ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ// Ġ 0 0 0 0 0 0 [ 0 1 1 1 1 1 1 ] ĊĠĠĠĠĠĠĠ Ġassert On Fields Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals ( 1 , ĠMetrics :: missing Packets Last 7 Days ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ// ĠBack Ġto Ġnormal ĊĠĠĠĠĠĠĠ Ġ// Ġ 0 0 0 0 0 0 0 [ 1 1 1 1 1 1 1 ] ĊĠĠĠĠĠĠĠ Ġassert Analytics Packet Is Normal () ĊĠĠĠ Ġ} Ċ } Ċ