package Ġorg . v accine impact . api . database Tests . tests . touch stone Repository Ċ Ċ import Ġjava . math . BigDecimal Ċ import Ġorg . assertj . core . api . Assertions . assertThat Ċ import Ġorg . junit . Test Ċ import Ġorg . v accine impact . api . db . direct .* Ċ import Ġorg . v accine impact . api . db . to Decimal Ċ import Ġorg . v accine impact . api . models .* Ċ Ċ class ĠGet Coverage Data For Scenario Tests Ġ: ĠTouch stone Repository Tests () Ċ { ĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` can Ġget Ġordered Ġcoverage Ġdata Ġfor Ġscenario Ġfor Ġ 2 0 1 9 Ġtouch stone `() ĊĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠ Ġcan Get Ordered Coverage Data For Scenario ( touch stone Name 2 0 1 9 ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` can Ġget Ġordered Ġcoverage Ġdata Ġfor Ġscenario Ġfor Ġ 2 0 2 0 Ġtouch stone `() ĊĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠ Ġcan Get Ordered Coverage Data For Scenario ( touch stone Name 2 0 2 0 ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġcan Get Ordered Coverage Data For Scenario ( touch stone Name : ĠString ) ĊĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġtouch stone Version Ġ= Ġ"$ touch stone Name - 1 " ĊĠĠĠĠĠĠĠ Ġgiven Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcreate Touch stone And Scenario Descriptions ( it , Ġtouch stone Name ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġit . add Scenario To Touch stone ( touch stone Version , Ġscenario Id ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġgive Un ordered Coverage Sets And DataTo Scenario ( it , Ġtouch stone Version = touch stone Version ) ĊĠĠĠĠĠĠĠ Ġ} Ġcheck Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġresult Ġ= Ġit . get Coverage Data For Scenario ( touch stone Version , Ġscenario Id ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( result . toList ()). contains Exactly Elements Of ( listOf ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠGender ed Long Coverage Row ( scenario Id , Ġ" First ", Ġ" AF ", ĠG AV ISupport Level . WITHOUT , ĠActivity Type . ROUTINE , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" AAA ", Ġ" AAA - Name ", Ġ 2 0 0 1 , Ġ 2 . to Decimal (), Ġ 4 . to Decimal (), Ġnull , Ġnull , Ġnull , Ġ" both "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġfirst Ġorder Ġby Ġv accine ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠGender ed Long Coverage Row ( scenario Id , Ġ" Second ", Ġ" BF ", ĠG AV ISupport Level . WITHOUT , ĠActivity Type . CA MP A IGN , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" AAA ", Ġ" AAA - Name ", Ġ 2 0 0 0 , Ġ 1 . to Decimal (), Ġ 2 . to Decimal (), Ġnull , Ġnull , Ġnull , Ġ" both "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġthen Ġby Ġactivity Ġtype ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠGender ed Long Coverage Row ( scenario Id , Ġ" Third ", Ġ" BF ", ĠG AV ISupport Level . WITHOUT , ĠActivity Type . ROUTINE , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" AAA ", Ġ" AAA - Name ", Ġ 2 0 0 0 , Ġ 1 . to Decimal (), Ġ 2 . to Decimal (), Ġnull , Ġnull , Ġnull , Ġ" both "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġthen Ġby Ġcountry ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠGender ed Long Coverage Row ( scenario Id , Ġ" Third ", Ġ" BF ", ĠG AV ISupport Level . WITHOUT , ĠActivity Type . ROUTINE , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" BBB ", Ġ" BBB - Name ", Ġ 2 0 0 0 , Ġ 1 . to Decimal (), Ġ 2 . to Decimal (), Ġnull , Ġnull , Ġnull , Ġ" both "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġthen Ġby Ġyear ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠGender ed Long Coverage Row ( scenario Id , Ġ" Third ", Ġ" BF ", ĠG AV ISupport Level . WITHOUT , ĠActivity Type . ROUTINE , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" BBB ", Ġ" BBB - Name ", Ġ 2 0 0 1 , Ġ 1 . to Decimal (), Ġ 2 . to Decimal (), Ġnull , Ġnull , Ġnull , Ġ" both "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġthen Ġby Ġage Ġfirst ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠGender ed Long Coverage Row ( scenario Id , Ġ" Third ", Ġ" BF ", ĠG AV ISupport Level . WITHOUT , ĠActivity Type . ROUTINE , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" BBB ", Ġ" BBB - Name ", Ġ 2 0 0 1 , Ġ 2 . to Decimal (), Ġ 2 . to Decimal (), Ġnull , Ġnull , Ġnull , Ġ" both "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġthen Ġby Ġage Ġlast ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠGender ed Long Coverage Row ( scenario Id , Ġ" Third ", Ġ" BF ", ĠG AV ISupport Level . WITHOUT , ĠActivity Type . ROUTINE , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" BBB ", Ġ" BBB - Name ", Ġ 2 0 0 1 , Ġ 2 . to Decimal (), Ġ 4 . to Decimal (), Ġnull , Ġnull , Ġnull , Ġ" both "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġthen Ġby Ġage Ġlast ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠGender ed Long Coverage Row ( scenario Id , Ġ" Third ", Ġ" BF ", ĠG AV ISupport Level . WITHOUT , ĠActivity Type . ROUTINE , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" BBB ", Ġ" BBB - Name ", Ġ 2 0 0 1 , Ġ 2 . to Decimal (), Ġ 4 . to Decimal (), Ġnull , Ġnull , Ġnull , Ġ" female ") ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ)) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` can Ġget Ġcoverage Ġsets Ġfor Ġscenario Ġwith Ġempty Ġcoverage Ġdata `() ĊĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠ Ġgiven Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġcountries Ġ= ĠlistOf (" AAA ", Ġ" BBB ", Ġ" CCC ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcreate Touch stone And Scenario Descriptions ( it ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġit . add Scenario To Touch stone ( touch stone Version Id , Ġscenario Id ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġit . add Countries ( countries ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġgive Scenario Coverage Sets ( it , Ġscenario Id , Ġinclude Coverage Data Ġ= Ġfalse ) ĊĠĠĠĠĠĠĠ Ġ} Ġcheck Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġresult Ġ= Ġit . get Coverage Sets For Scenario ( touch stone Version Id , Ġscenario Id ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( result ). has Same Elements As ( listOf ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠCoverage Set ( set A , Ġtouch stone Version Id , Ġ" Y F Ġwithout ", Ġ" Y F ", ĠG AV ISupport Level . WITHOUT , ĠActivity Type . CA MP A IGN ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠCoverage Set ( set B , Ġtouch stone Version Id , Ġ" Y F Ġwith ", Ġ" Y F ", ĠG AV ISupport Level . WITH , ĠActivity Type . CA MP A IGN ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ)) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` can Ġget Ġaggregated Ġcoverage Ġdata Ġfor Ġscenario `() ĊĠĠĠ Ġ{ ĊĊĠĠĠĠĠĠĠ Ġgiven Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcreate Touch stone And Scenario Descriptions ( it ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġit . add Scenario To Touch stone ( touch stone Version Id , Ġscenario Id ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġgive Un ordered Coverage Set And Data With Duplicates To Scenario ( it ) ĊĠĠĠĠĠĠĠ Ġ} Ġcheck Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġresult Ġ= Ġit . get Coverage Data For Scenario ( touch stone Version Id , Ġscenario Id ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġassert Long Coverage Row List Equal ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġresult . toList (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠlistOf ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠGender ed Long Coverage Row ( scenario Id , Ġ" First ", Ġ" AF ", ĠG AV ISupport Level . WITHOUT , ĠActivity Type . ROUTINE , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" AAA ", Ġ" AAA - Name ", Ġ 2 0 0 1 , Ġ 1 . to Decimal (), Ġ 2 . to Decimal (), Ġ" 1 - 2 ", ĠBigDecimal ( 6 0 0 ), Ġ 0 . 6 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 . to Decimal (), Ġ" both "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠGender ed Long Coverage Row ( scenario Id , Ġ" First ", Ġ" AF ", ĠG AV ISupport Level . WITHOUT , ĠActivity Type . ROUTINE , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" BBB ", Ġ" BBB - Name ", Ġ 2 0 0 1 , Ġ 1 . to Decimal (), Ġ 2 . to Decimal (), Ġ" 1 - 2 ", ĠBigDecimal ( 1 5 0 0 ), Ġ 0 . 2 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 . to Decimal (), Ġ" both "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠGender ed Long Coverage Row ( scenario Id , Ġ" Second ", Ġ" BF ", ĠG AV ISupport Level . WITHOUT , ĠActivity Type . CA MP A IGN , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" BBB ", Ġ" BBB - Name ", Ġ 2 0 0 2 , Ġ 1 . to Decimal (), Ġ 2 . to Decimal (), Ġ" 1 - 2 ", ĠBigDecimal ( 1 0 0 0 ), Ġ 0 . 1 2 3 . to Decimal (), Ġ" both ")) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` can Ġget Ġdefault Ġgender Ġof Ġ' both ' Ġfrom Ġcoverage Ġwith Ġnull Ġgender Ġvalues Ġfor Ġ 2 0 1 9 Ġtouch stone `() ĊĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠ Ġcan GetDefault Gender Both ( touch stone Name 2 0 1 9 ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` can Ġget Ġdefault Ġgender Ġof Ġ' both ' Ġfrom Ġcoverage Ġwith Ġnull Ġgender Ġvalues Ġfor Ġ 2 0 2 0 Ġtouch stone `() ĊĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠ Ġcan GetDefault Gender Both ( touch stone Name 2 0 2 0 ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġcan GetDefault Gender Both ( touch stone Name : ĠString ) ĊĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġtouch stone Version Ġ= Ġ"$ touch stone Name - 1 " ĊĠĠĠĠĠĠĠ Ġgiven Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcreate Touch stone And Scenario Descriptions ( it , Ġtouch stone Name ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġit . add Scenario To Touch stone ( touch stone Version , Ġscenario Id ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġit . add Coverage Set ( touch stone Version , Ġ" First ", Ġ" AF ", Ġ" without ", Ġ" routine ", Ġid Ġ= Ġset A ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġit . add Coverage Set To Scenario ( scenario Id , Ġtouch stone Version , Ġset A , Ġ 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġit . add Countries ( listOf (" AAA ")) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġit . add Coverage Row ( set A , Ġ" AAA ", Ġ 2 0 0 1 , Ġ 2 . to Decimal (), Ġ 4 . to Decimal (), Ġ" 2 - 4 ", ĠBigDecimal ( 6 0 0 ), ĠBigDecimal ( 0 . 5 ), Ġnull ) ĊĠĠĠĠĠĠĠ Ġ} Ġcheck Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġresult Ġ= Ġit . get Coverage Data For Scenario ( touch stone Version , Ġscenario Id ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġassert Long Coverage Row List Equal ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġresult . toList (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠlistOf ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠGender ed Long Coverage Row ( scenario Id , Ġ" First ", Ġ" AF ", ĠG AV ISupport Level . WITHOUT , ĠActivity Type . ROUTINE , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" AAA ", Ġ" AAA - Name ", Ġ 2 0 0 1 , Ġ 2 . to Decimal (), Ġ 4 . to Decimal (), Ġ" 2 - 4 ", ĠBigDecimal ( 6 0 0 ), Ġ 0 . 5 . to Decimal (), Ġ" both ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` can Ġget Ġdefault Ġgender Ġof Ġ' female ' Ġfor ĠH PV Ġcoverage Ġdata Ġfor Ġ 2 0 1 9 Ġtouch stone `() ĊĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠ Ġcan GetDefault Gender Female ( touch stone Name 2 0 1 9 ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` can Ġget Ġdefault Ġgender Ġof Ġ' female ' Ġfor ĠH PV Ġcoverage Ġdata Ġfor Ġ 2 0 2 0 Ġtouch stone `() ĊĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠ Ġcan GetDefault Gender Female ( touch stone Name 2 0 2 0 ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġcan GetDefault Gender Female ( touch stone Name : ĠString ) ĊĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġtouch stone Version Ġ= Ġ"$ touch stone Name - 1 " ĊĠĠĠĠĠĠĠ Ġgiven Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġit . add Touch stone Version ( touch stone Name , Ġ 1 , Ġadd Touch stone Ġ= Ġtrue ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġit . add D isease (" HP V ", Ġ" HP V ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġit . add Scenario Description ( scenario Id , Ġ" HP V Ġ 1 ", Ġ" HP V ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġit . add V accine (" HP V ", Ġ" HP V ") ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġit . add Scenario To Touch stone ( touch stone Version , Ġscenario Id ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġit . add Coverage Set ( touch stone Version , Ġ" First ", Ġ" HP V ", Ġ" without ", Ġ" routine ", Ġid Ġ= Ġset A ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġit . add Coverage Set To Scenario ( scenario Id , Ġtouch stone Version , Ġset A , Ġ 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġit . add Countries ( listOf (" AAA ")) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġit . add Coverage Row ( set A , Ġ" AAA ", Ġ 2 0 0 1 , Ġ 2 . to Decimal (), Ġ 4 . to Decimal (), Ġ" 2 - 4 ", ĠBigDecimal ( 6 0 0 ), ĠBigDecimal ( 0 . 5 ), Ġnull ) ĊĠĠĠĠĠĠĠ Ġ} Ġcheck Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġresult Ġ= Ġit . get Coverage Data For Scenario ( touch stone Version , Ġscenario Id ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġassert Long Coverage Row List Equal ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġresult . toList (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠlistOf ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠGender ed Long Coverage Row ( scenario Id , Ġ" First ", Ġ" HP V ", ĠG AV ISupport Level . WITHOUT , ĠActivity Type . ROUTINE , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" AAA ", Ġ" AAA - Name ", Ġ 2 0 0 1 , Ġ 2 . to Decimal (), Ġ 4 . to Decimal (), Ġ" 2 - 4 ", ĠBigDecimal ( 6 0 0 ), Ġ 0 . 5 . to Decimal (), Ġ" female ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` can Ġget Ġcoverage Ġresults Ġwithout Ġgender Ġfor Ġpre - 2 0 1 9 Ġtouch stones `() ĊĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġtouch stone Ġ= Ġ" 2 0 1 8 1 0 - test " ĊĠĠĠĠĠĠĠ Ġval Ġtouch stone Version Ġ= Ġ"$ touch stone - 1 " ĊĠĠĠĠĠĠĠ Ġgiven Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcreate Touch stone And Scenario Descriptions ( it , Ġtouch stone ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġit . add Scenario To Touch stone ( touch stone Version , Ġscenario Id ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġit . add Coverage Set ( touch stone Version , Ġ" First ", Ġ" AF ", Ġ" without ", Ġ" routine ", Ġid Ġ= Ġset A ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġit . add Coverage Set To Scenario ( scenario Id , Ġtouch stone Version , Ġset A , Ġ 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġit . add Countries ( listOf (" AAA ")) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġit . add Coverage Row ( set A , Ġ" AAA ", Ġ 2 0 0 1 , Ġ 2 . to Decimal (), Ġ 4 . to Decimal (), Ġ" 2 - 4 ", ĠBigDecimal ( 6 0 0 ), ĠBigDecimal ( 0 . 5 ), Ġnull ) ĊĠĠĠĠĠĠĠ Ġ} Ġcheck Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġresult Ġ= Ġit . get Coverage Data For Scenario ( touch stone Version , Ġscenario Id ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġassert Long Coverage Row List Equal ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġresult . toList (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠlistOf ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠNo Gender Long Coverage Row ( scenario Id , Ġ" First ", Ġ" AF ", ĠG AV ISupport Level . WITHOUT , ĠActivity Type . ROUTINE , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" AAA ", Ġ" AAA - Name ", Ġ 2 0 0 1 , Ġ 2 . to Decimal (), Ġ 4 . to Decimal (), Ġ" 2 - 4 ", ĠBigDecimal ( 6 0 0 ), Ġ 0 . 5 . to Decimal ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` can Ġget Ġexpected Ġaggregated Ġcoverage Ġdata Ġfor Ġscenario Ġwhere Ġall Ġgroup Ġrows Ġhave Ġtarget Ġand Ġcoverage Ġnull s `() ĊĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠ Ġgiven Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcreate Touch stone And Scenario Descriptions ( it ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġit . add Scenario To Touch stone ( touch stone Version Id , Ġscenario Id ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġadd AB Coverage Sets ( it ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġadd AB Countries ( it ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġit . add Coverage Row ( set A , Ġ" AAA ", Ġ 2 0 0 1 , Ġ 1 . to Decimal (), Ġ 2 . to Decimal (), Ġ" 1 - 2 ", Ġnull , Ġnull ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġit . add Coverage Row ( set A , Ġ" AAA ", Ġ 2 0 0 1 , Ġ 1 . to Decimal (), Ġ 2 . to Decimal (), Ġ" 1 - 2 ", Ġnull , Ġnull ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġit . add Coverage Row ( set A , Ġ" AAA ", Ġ 2 0 0 1 , Ġ 1 . to Decimal (), Ġ 2 . to Decimal (), Ġ" 1 - 2 ", Ġnull , Ġnull ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Make Ġsure Ġother Ġgroups Ġaren 't Ġaffected ĊĠĠĠĠĠĠĠĠĠĠĠ Ġit . add Coverage Row ( set B , Ġ" BBB ", Ġ 2 0 0 2 , Ġ 1 . to Decimal (), Ġ 2 . to Decimal (), Ġ" 1 - 2 ", ĠBigDecimal ( 1 0 0 0 ), ĠBigDecimal ( 0 . 5 )) ĊĠĠĠĠĠĠĠ Ġ} Ġcheck Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġresult Ġ= Ġit . get Coverage Data For Scenario ( touch stone Version Id , Ġscenario Id ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Just Ġcheck Ġthose Ġexpected Ġnull s ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( result . toList ()[ 0 ]. target ). isNull () ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( result . toList ()[ 0 ]. coverage ). isNull () ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( result . toList ()). contains Exactly Elements Of ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠlistOf ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠGender ed Long Coverage Row ( scenario Id , Ġ" First ", Ġ" AF ", ĠG AV ISupport Level . WITHOUT , ĠActivity Type . ROUTINE , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" AAA ", Ġ" AAA - Name ", Ġ 2 0 0 1 , Ġ 1 . to Decimal (), Ġ 2 . to Decimal (), Ġ" 1 - 2 ", Ġnull , Ġnull , Ġ" both "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠGender ed Long Coverage Row ( scenario Id , Ġ" Second ", Ġ" BF ", ĠG AV ISupport Level . WITHOUT , ĠActivity Type . CA MP A IGN , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" BBB ", Ġ" BBB - Name ", Ġ 2 0 0 2 , Ġ 1 . to Decimal (), Ġ 2 . to Decimal (), Ġ" 1 - 2 ", Ġ 1 0 0 0 . to Decimal (), Ġ 0 . 5 . to Decimal (), Ġ" both ")) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` can Ġget Ġexpected Ġaggregated Ġcoverage Ġdata Ġfor Ġscenario Ġwhere Ġone Ġgroup Ġrow Ġhas Ġnull Ġtarget Ġand Ġcoverage `() ĊĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠ Ġgiven Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcreate Touch stone And Scenario Descriptions ( it ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġit . add Scenario To Touch stone ( touch stone Version Id , Ġscenario Id ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġadd AB Coverage Sets ( it ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġadd AB Countries ( it ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġit . add Coverage Row ( set A , Ġ" AAA ", Ġ 2 0 0 1 , Ġ 1 . to Decimal (), Ġ 2 . to Decimal (), Ġ" 1 - 2 ", ĠBigDecimal ( 1 0 0 ), Ġ 0 . 2 . to Decimal ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġit . add Coverage Row ( set A , Ġ" AAA ", Ġ 2 0 0 1 , Ġ 1 . to Decimal (), Ġ 2 . to Decimal (), Ġ" 1 - 2 ", ĠBigDecimal ( 2 0 0 ), Ġ 0 . 6 . to Decimal ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġit . add Coverage Row ( set A , Ġ" AAA ", Ġ 2 0 0 1 , Ġ 1 . to Decimal (), Ġ 2 . to Decimal (), Ġ" 1 - 2 ", Ġnull , Ġnull ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Make Ġsure Ġother Ġgroups Ġaren 't Ġaffected ĊĠĠĠĠĠĠĠĠĠĠĠ Ġit . add Coverage Row ( set B , Ġ" BBB ", Ġ 2 0 0 2 , Ġ 1 . to Decimal (), Ġ 2 . to Decimal (), Ġ" 1 - 2 ", ĠBigDecimal ( 1 0 0 0 ), ĠBigDecimal ( 0 . 5 )) ĊĠĠĠĠĠĠĠ Ġ} Ġcheck Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġresult Ġ= Ġit . get Coverage Data For Scenario ( touch stone Version Id , Ġscenario Id ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġassert Long Coverage Row List Equal ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġresult . toList (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠlistOf ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠGender ed Long Coverage Row ( scenario Id , Ġ" First ", Ġ" AF ", ĠG AV ISupport Level . WITHOUT , ĠActivity Type . ROUTINE , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" AAA ", Ġ" AAA - Name ", Ġ 2 0 0 1 , Ġ 1 . to Decimal (), Ġ 2 . to Decimal (), Ġ" 1 - 2 ", ĠBigDecimal ( 3 0 0 ), Ġ 0 . 4 6 6 6 6 6 6 6 6 6 6 6 . to Decimal (), Ġ" both "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠGender ed Long Coverage Row ( scenario Id , Ġ" Second ", Ġ" BF ", ĠG AV ISupport Level . WITHOUT , ĠActivity Type . CA MP A IGN , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" BBB ", Ġ" BBB - Name ", Ġ 2 0 0 2 , Ġ 1 . to Decimal (), Ġ 2 . to Decimal (), Ġ" 1 - 2 ", ĠBigDecimal ( 1 0 0 0 ), Ġ 0 . 5 . to Decimal (), Ġ" both ")) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` can Ġget Ġexpected Ġaggregated Ġcoverage Ġdata Ġfor Ġscenario Ġwhere Ġone Ġgroup Ġrow Ġhas Ġnull Ġtarget `() ĊĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠ Ġgiven Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcreate Touch stone And Scenario Descriptions ( it ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġit . add Scenario To Touch stone ( touch stone Version Id , Ġscenario Id ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġadd AB Coverage Sets ( it ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġadd AB Countries ( it ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġit . add Coverage Row ( set A , Ġ" AAA ", Ġ 2 0 0 1 , Ġ 1 . to Decimal (), Ġ 2 . to Decimal (), Ġ" 1 - 2 ", ĠBigDecimal ( 1 0 0 ), Ġ 0 . 2 5 . to Decimal ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġit . add Coverage Row ( set A , Ġ" AAA ", Ġ 2 0 0 1 , Ġ 1 . to Decimal (), Ġ 2 . to Decimal (), Ġ" 1 - 2 ", ĠBigDecimal ( 2 0 0 ), Ġ 0 . 6 5 . to Decimal ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġit . add Coverage Row ( set A , Ġ" AAA ", Ġ 2 0 0 1 , Ġ 1 . to Decimal (), Ġ 2 . to Decimal (), Ġ" 1 - 2 ", Ġnull , Ġ 0 . 8 . to Decimal ()) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Make Ġsure Ġother Ġgroups Ġaren 't Ġaffected ĊĠĠĠĠĠĠĠĠĠĠĠ Ġit . add Coverage Row ( set B , Ġ" BBB ", Ġ 2 0 0 2 , Ġ 1 . to Decimal (), Ġ 2 . to Decimal (), Ġ" 1 - 2 ", ĠBigDecimal ( 1 0 0 0 ), Ġ 0 . 5 . to Decimal ()) ĊĠĠĠĠĠĠĠ Ġ} Ġcheck Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġresult Ġ= Ġit . get Coverage Data For Scenario ( touch stone Version Id , Ġscenario Id ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Expect Ġthe Ġcoverage Ġrow Ġwhich Ġhas Ġcoverage Ġbut Ġno Ġtarget Ġto Ġnot Ġcontribute Ġto Ġeither Ġvalue Ġin Ġthe Ġaggregate ĊĠĠĠĠĠĠĠĠĠĠĠ Ġassert Long Coverage Row List Equal ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġresult . toList (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠlistOf ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠGender ed Long Coverage Row ( scenario Id , Ġ" First ", Ġ" AF ", ĠG AV ISupport Level . WITHOUT , ĠActivity Type . ROUTINE , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" AAA ", Ġ" AAA - Name ", Ġ 2 0 0 1 , Ġ 1 . to Decimal (), Ġ 2 . to Decimal (), Ġ" 1 - 2 ", ĠBigDecimal ( 3 0 0 ), Ġ 0 . 5 1 6 6 6 6 6 6 6 6 6 6 . to Decimal (), Ġ" both "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠGender ed Long Coverage Row ( scenario Id , Ġ" Second ", Ġ" BF ", ĠG AV ISupport Level . WITHOUT , ĠActivity Type . CA MP A IGN , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" BBB ", Ġ" BBB - Name ", Ġ 2 0 0 2 , Ġ 1 . to Decimal (), Ġ 2 . to Decimal (), Ġ" 1 - 2 ", ĠBigDecimal ( 1 0 0 0 ), Ġ 0 . 5 . to Decimal (), Ġ" both ")) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` can Ġget Ġexpected Ġaggregated Ġcoverage Ġdata Ġfor Ġscenario Ġwhere Ġone Ġgroup Ġrow Ġhas Ġnull Ġcoverage `() ĊĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠ Ġgiven Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcreate Touch stone And Scenario Descriptions ( it ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġit . add Scenario To Touch stone ( touch stone Version Id , Ġscenario Id ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġadd AB Coverage Sets ( it ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġadd AB Countries ( it ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġit . add Coverage Row ( set A , Ġ" AAA ", Ġ 2 0 0 1 , Ġ 1 . to Decimal (), Ġ 2 . to Decimal (), Ġ" 1 - 2 ", Ġ 1 0 0 . to Decimal (), Ġ 0 . 1 2 3 . to Decimal ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġit . add Coverage Row ( set A , Ġ" AAA ", Ġ 2 0 0 1 , Ġ 1 . to Decimal (), Ġ 2 . to Decimal (), Ġ" 1 - 2 ", Ġ 2 0 0 . to Decimal (), Ġ 0 . 6 7 8 . to Decimal ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġit . add Coverage Row ( set A , Ġ" AAA ", Ġ 2 0 0 1 , Ġ 1 . to Decimal (), Ġ 2 . to Decimal (), Ġ" 1 - 2 ", Ġ 5 0 0 . to Decimal (), Ġnull ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Make Ġsure Ġother Ġgroups Ġaren 't Ġaffected ĊĠĠĠĠĠĠĠĠĠĠĠ Ġit . add Coverage Row ( set B , Ġ" BBB ", Ġ 2 0 0 2 , Ġ 1 . to Decimal (), Ġ 2 . to Decimal (), Ġ" 1 - 2 ", Ġ 1 0 0 0 . to Decimal (), Ġ 0 . 5 . to Decimal ()) ĊĠĠĠĠĠĠĠ Ġ} Ġcheck Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġresult Ġ= Ġit . get Coverage Data For Scenario ( touch stone Version Id , Ġscenario Id ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Expect Ġthe Ġcoverage Ġrow Ġwhich Ġhas Ġtarget Ġbut Ġno Ġcoverage Ġto Ġnot Ġcontribute Ġto Ġeither Ġvalue Ġin Ġthe Ġaggregate ĊĠĠĠĠĠĠĠĠĠĠĠ Ġassert Long Coverage Row List Equal ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġresult . toList (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠlistOf ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠGender ed Long Coverage Row ( scenario Id , Ġ" First ", Ġ" AF ", ĠG AV ISupport Level . WITHOUT , ĠActivity Type . ROUTINE , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" AAA ", Ġ" AAA - Name ", Ġ 2 0 0 1 , Ġ 1 . to Decimal (), Ġ 2 . to Decimal (), Ġ" 1 - 2 ", Ġ 3 0 0 . to Decimal (), Ġ 0 . 4 9 3 . to Decimal (), Ġ" both "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠGender ed Long Coverage Row ( scenario Id , Ġ" Second ", Ġ" BF ", ĠG AV ISupport Level . WITHOUT , ĠActivity Type . CA MP A IGN , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" BBB ", Ġ" BBB - Name ", Ġ 2 0 0 2 , Ġ 1 . to Decimal (), Ġ 2 . to Decimal (), Ġ" 1 - 2 ", Ġ 1 0 0 0 . to Decimal (), Ġ 0 . 5 . to Decimal (), Ġ" both ")) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` can Ġget Ġexpected Ġaggregated Ġcoverage Ġdata Ġfor Ġscenario Ġwhere Ġone Ġgroup Ġrow Ġhas Ġnull Ġcoverage Ġand Ġtarget , Ġanother Ġhas Ġnull Ġtarget `() ĊĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠ Ġgiven Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcreate Touch stone And Scenario Descriptions ( it ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġit . add Scenario To Touch stone ( touch stone Version Id , Ġscenario Id ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġadd AB Coverage Sets ( it ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġadd AB Countries ( it ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġit . add Coverage Row ( set A , Ġ" AAA ", Ġ 2 0 0 1 , Ġ 1 . to Decimal (), Ġ 2 . to Decimal (), Ġ" 1 - 2 ", Ġ 1 0 0 . to Decimal (), Ġ 0 . 2 . to Decimal ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġit . add Coverage Row ( set A , Ġ" AAA ", Ġ 2 0 0 1 , Ġ 1 . to Decimal (), Ġ 2 . to Decimal (), Ġ" 1 - 2 ", Ġnull , Ġnull ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġit . add Coverage Row ( set A , Ġ" AAA ", Ġ 2 0 0 1 , Ġ 1 . to Decimal (), Ġ 2 . to Decimal (), Ġ" 1 - 2 ", Ġnull , Ġ 5 . 2 . to Decimal ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġit . add Coverage Row ( set A , Ġ" AAA ", Ġ 2 0 0 1 , Ġ 1 . to Decimal (), Ġ 2 . to Decimal (), Ġ" 1 - 2 ", Ġ 1 0 0 . to Decimal (), Ġ 0 . 3 . to Decimal ()) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Make Ġsure Ġother Ġgroups Ġaren 't Ġaffected ĊĠĠĠĠĠĠĠĠĠĠĠ Ġit . add Coverage Row ( set B , Ġ" BBB ", Ġ 2 0 0 2 , Ġ 1 . to Decimal (), Ġ 2 . to Decimal (), Ġ" 1 - 2 ", Ġ 1 0 0 0 . to Decimal (), Ġ 0 . 5 . to Decimal ()) ĊĠĠĠĠĠĠĠ Ġ} Ġcheck Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġresult Ġ= Ġit . get Coverage Data For Scenario ( touch stone Version Id , Ġscenario Id ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Expect Ġonly Ġthe Ġcoverage Ġrows Ġwhich Ġhave Ġboth Ġtarget Ġand Ġcoverage Ġvalues Ġto Ġcont ir but e Ġto Ġthe Ġaggregate Ġvalues ĊĠĠĠĠĠĠĠĠĠĠĠ Ġassert Long Coverage Row List Equal ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġresult . toList (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠlistOf ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠGender ed Long Coverage Row ( scenario Id , Ġ" First ", Ġ" AF ", ĠG AV ISupport Level . WITHOUT , ĠActivity Type . ROUTINE , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" AAA ", Ġ" AAA - Name ", Ġ 2 0 0 1 , Ġ 1 . to Decimal (), Ġ 2 . to Decimal (), Ġ" 1 - 2 ", Ġ 2 0 0 . to Decimal (), Ġ 0 . 2 5 . to Decimal (), Ġ" both "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠGender ed Long Coverage Row ( scenario Id , Ġ" Second ", Ġ" BF ", ĠG AV ISupport Level . WITHOUT , ĠActivity Type . CA MP A IGN , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" BBB ", Ġ" BBB - Name ", Ġ 2 0 0 2 , Ġ 1 . to Decimal (), Ġ 2 . to Decimal (), Ġ" 1 - 2 ", Ġ 1 0 0 0 . to Decimal (), Ġ 0 . 5 . to Decimal (), Ġ" both ")) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` can Ġget Ġexpected Ġaggregated Ġcoverage Ġdata Ġfor Ġscenario Ġwhere Ġgroup Ġhas Ġzero Ġtarget `() ĊĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠ Ġgiven Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcreate Touch stone And Scenario Descriptions ( it ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġit . add Scenario To Touch stone ( touch stone Version Id , Ġscenario Id ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġadd AB Coverage Sets ( it ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġadd AB Countries ( it ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġit . add Coverage Row ( set A , Ġ" AAA ", Ġ 2 0 0 1 , Ġ 1 . to Decimal (), Ġ 2 . to Decimal (), Ġ" 1 - 2 ", Ġ 0 . to Decimal (), Ġ 0 . 2 . to Decimal ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġit . add Coverage Row ( set A , Ġ" AAA ", Ġ 2 0 0 1 , Ġ 1 . to Decimal (), Ġ 2 . to Decimal (), Ġ" 1 - 2 ", Ġ 0 . to Decimal (), Ġ 0 . 6 . to Decimal ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġit . add Coverage Row ( set A , Ġ" AAA ", Ġ 2 0 0 1 , Ġ 1 . to Decimal (), Ġ 2 . to Decimal (), Ġ" 1 - 2 ", Ġ 5 0 0 . to Decimal (), Ġnull ) Ġ// This Ġshould Ġget Ġignored ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Make Ġsure Ġother Ġgroups Ġaren 't Ġaffected ĊĠĠĠĠĠĠĠĠĠĠĠ Ġit . add Coverage Row ( set B , Ġ" BBB ", Ġ 2 0 0 2 , Ġ 1 . to Decimal (), Ġ 2 . to Decimal (), Ġ" 1 - 2 ", Ġ 1 0 0 0 . to Decimal (), Ġ 0 . 5 . to Decimal ()) ĊĠĠĠĠĠĠĠ Ġ} Ġcheck Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġresult Ġ= Ġit . get Coverage Data For Scenario ( touch stone Version Id , Ġscenario Id ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Expect Ġthe Ġcoverage Ġrow Ġwhich Ġhas Ġaggregate Ġtarget Ġzero Ġto Ġhave Ġaggregate Ġcoverage Ġof Ġnull ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( result . toList ()). contains Exactly Elements Of ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠlistOf ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠGender ed Long Coverage Row ( scenario Id , Ġ" First ", Ġ" AF ", ĠG AV ISupport Level . WITHOUT , ĠActivity Type . ROUTINE , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" AAA ", Ġ" AAA - Name ", Ġ 2 0 0 1 , Ġ 1 . to Decimal (), Ġ 2 . to Decimal (), Ġ" 1 - 2 ", Ġ 0 . to Decimal (), Ġnull , Ġ" both "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠGender ed Long Coverage Row ( scenario Id , Ġ" Second ", Ġ" BF ", ĠG AV ISupport Level . WITHOUT , ĠActivity Type . CA MP A IGN , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" BBB ", Ġ" BBB - Name ", Ġ 2 0 0 2 , Ġ 1 . to Decimal (), Ġ 2 . to Decimal (), Ġ" 1 - 2 ", Ġ 1 0 0 0 . to Decimal (), Ġ 0 . 5 . to Decimal (), Ġ" both ")) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` can Ġget Ġexpected Ġaggregated Ġcoverage Ġdata Ġfor Ġscenario Ġwhere Ġgroup Ġhas Ġzero Ġtarget , Ġwith Ġanother Ġrow Ġwith Ġnull Ġcoverage `() ĊĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠ Ġgiven Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcreate Touch stone And Scenario Descriptions ( it ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġit . add Scenario To Touch stone ( touch stone Version Id , Ġscenario Id ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġadd AB Coverage Sets ( it ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġadd AB Countries ( it ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġit . add Coverage Row ( set A , Ġ" AAA ", Ġ 2 0 0 1 , Ġ 1 . to Decimal (), Ġ 2 . to Decimal (), Ġ" 1 - 2 ", Ġ 0 . to Decimal (), Ġ 0 . 2 . to Decimal ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġit . add Coverage Row ( set A , Ġ" AAA ", Ġ 2 0 0 1 , Ġ 1 . to Decimal (), Ġ 2 . to Decimal (), Ġ" 1 - 2 ", Ġ 0 . to Decimal (), Ġ 0 . 6 . to Decimal ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġit . add Coverage Row ( set A , Ġ" AAA ", Ġ 2 0 0 1 , Ġ 1 . to Decimal (), Ġ 2 . to Decimal (), Ġ" 1 - 2 ", Ġ 5 0 0 . to Decimal (), Ġnull ) Ġ// This Ġshould Ġget Ġignored Ġbecause Ġof Ġnull Ġcoverage ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Make Ġsure Ġother Ġgroups Ġaren 't Ġaffected ĊĠĠĠĠĠĠĠĠĠĠĠ Ġit . add Coverage Row ( set B , Ġ" BBB ", Ġ 2 0 0 2 , Ġ 1 . to Decimal (), Ġ 2 . to Decimal (), Ġ" 1 - 2 ", Ġ 1 0 0 0 . to Decimal (), Ġ 0 . 5 . to Decimal ()) ĊĠĠĠĠĠĠĠ Ġ} Ġcheck Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġresult Ġ= Ġit . get Coverage Data For Scenario ( touch stone Version Id , Ġscenario Id ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Expect Ġthe Ġcoverage Ġrow Ġwhich Ġhas Ġaggregate Ġtarget Ġzero Ġto Ġhave Ġaggregate Ġcoverage Ġof Ġnull ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( result . toList ()). contains Exactly Elements Of ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠlistOf ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠGender ed Long Coverage Row ( scenario Id , Ġ" First ", Ġ" AF ", ĠG AV ISupport Level . WITHOUT , ĠActivity Type . ROUTINE , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" AAA ", Ġ" AAA - Name ", Ġ 2 0 0 1 , Ġ 1 . to Decimal (), Ġ 2 . to Decimal (), Ġ" 1 - 2 ", Ġ 0 . to Decimal (), Ġnull , Ġ" both "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠGender ed Long Coverage Row ( scenario Id , Ġ" Second ", Ġ" BF ", ĠG AV ISupport Level . WITHOUT , ĠActivity Type . CA MP A IGN , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" BBB ", Ġ" BBB - Name ", Ġ 2 0 0 2 , Ġ 1 . to Decimal (), Ġ 2 . to Decimal (), Ġ" 1 - 2 ", Ġ 1 0 0 0 . to Decimal (), Ġ 0 . 5 . to Decimal (), Ġ" both ")) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` coverage Ġdata Ġfor Ġscenario Ġis Ġnot Ġaggregated Ġfor Ġrows Ġwith Ġdifferent Ġage Ġrange Ġver batim `() ĊĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠ Ġgiven Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcreate Touch stone And Scenario Descriptions ( it ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġit . add Scenario To Touch stone ( touch stone Version Id , Ġscenario Id ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġadd AB Coverage Sets ( it ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġadd AB Countries ( it ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġit . add Coverage Row ( set A , Ġ" AAA ", Ġ 2 0 0 1 , Ġ 1 . to Decimal (), Ġ 2 . to Decimal (), Ġ" 1 - 2 ", Ġ 1 . to Decimal (), Ġ 0 . 2 . to Decimal ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġit . add Coverage Row ( set A , Ġ" AAA ", Ġ 2 0 0 1 , Ġ 1 . to Decimal (), Ġ 2 . to Decimal (), Ġ" one - two ", Ġ 2 . to Decimal (), Ġ 0 . 6 . to Decimal ()) ĊĊĠĠĠĠĠĠĠ Ġ} Ġcheck Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġresult Ġ= Ġit . get Coverage Data For Scenario ( touch stone Version Id , Ġscenario Id ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġassert Long Coverage Row List Equal ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġresult . toList (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠlistOf ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠGender ed Long Coverage Row ( scenario Id , Ġ" First ", Ġ" AF ", ĠG AV ISupport Level . WITHOUT , ĠActivity Type . ROUTINE , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" AAA ", Ġ" AAA - Name ", Ġ 2 0 0 1 , Ġ 1 . to Decimal (), Ġ 2 . to Decimal (), Ġ" 1 - 2 ", Ġ 1 . to Decimal (), Ġ 0 . 2 . to Decimal (), Ġ" both "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠGender ed Long Coverage Row ( scenario Id , Ġ" First ", Ġ" AF ", ĠG AV ISupport Level . WITHOUT , ĠActivity Type . ROUTINE , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" AAA ", Ġ" AAA - Name ", Ġ 2 0 0 1 , Ġ 1 . to Decimal (), Ġ 2 . to Decimal (), Ġ" one - two ", Ġ 2 . to Decimal (), Ġ 0 . 6 . to Decimal (), Ġ" both ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ)) ĊĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ// This Ġset Ġof Ġtests Ġconfirm Ġthat Ġnew ĠSQL Ġgrouping Ġlogic Ġin ĠTouch stone Repo Ġdoes Ġnot Ġinterf ere Ġwith Ġcases Ġwhere Ġonly ĊĠĠĠ Ġ// a Ġsingle Ġrow Ġper Ġgroup Ġis Ġpresent , Ġand Ġwhere Ġtarget Ġand Ġcoverage Ġvalues Ġfor Ġthat Ġrow Ġshould Ġbe Ġoutput Ġun mo le st ed ĊĠĠĠ Ġ// w hether Ġor Ġnot Ġthey Ġinclude Ġzero es Ġor Ġnull s ĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` can Ġget Ġexpected Ġcoverage Ġdata Ġfor Ġscenario Ġsingle Ġrow , Ġtarget Ġand Ġcoverage Ġare Ġzero `() ĊĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠ Ġtest Single Row Scenario Coverage Values Are Un changed ( 0 . to Decimal (), Ġ 0 . to Decimal ()) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` can Ġget Ġexpected Ġcoverage Ġdata Ġfor Ġscenario Ġsingle Ġrow , Ġtarget Ġis Ġzero , Ġcoverage Ġis Ġnull `() ĊĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠ Ġtest Single Row Scenario Coverage Values Are Un changed ( 0 . to Decimal (), Ġnull ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` can Ġget Ġexpected Ġcoverage Ġdata Ġfor Ġscenario Ġsingle Ġrow , Ġtarget Ġis Ġnull , Ġcoverage Ġis Ġzero `() ĊĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠ Ġtest Single Row Scenario Coverage Values Are Un changed ( null , Ġ 0 . to Decimal ()) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` can Ġget Ġexpected Ġcoverage Ġdata Ġfor Ġscenario Ġsingle Ġrow , Ġtarget Ġand Ġcoverage Ġare Ġnull `() ĊĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠ Ġtest Single Row Scenario Coverage Values Are Un changed ( null , Ġnull ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` can Ġget Ġexpected Ġcoverage Ġdata Ġfor Ġscenario Ġsingle Ġrow , Ġtarget Ġis Ġnull `() ĊĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠ Ġtest Single Row Scenario Coverage Values Are Un changed ( null , Ġ 0 . 5 . to Decimal ()) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` can Ġget Ġexpected Ġcoverage Ġdata Ġfor Ġscenario Ġsingle Ġrow , Ġcoverage Ġis Ġnull `() ĊĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠ Ġtest Single Row Scenario Coverage Values Are Un changed ( 5 0 . to Decimal (), Ġnull ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` can Ġget Ġexpected Ġcoverage Ġdata Ġfor Ġscenario Ġsingle Ġrow , Ġtarget Ġis Ġzero `() ĊĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠ Ġtest Single Row Scenario Coverage Values Are Un changed ( 0 . to Decimal (), Ġ 0 . 5 . to Decimal ()) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` can Ġget Ġexpected Ġcoverage Ġdata Ġfor Ġscenario Ġsingle Ġrow , Ġcoverage Ġis Ġzero `() ĊĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠ Ġtest Single Row Scenario Coverage Values Are Un changed ( 5 0 . to Decimal (), Ġ 0 . to Decimal ()) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` can Ġget Ġexpected Ġcoverage Ġdata Ġfor Ġscenario Ġsingle Ġrow , Ġtarget Ġand Ġcoverage Ġare Ġnon - zero `() ĊĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠ Ġtest Single Row Scenario Coverage Values Are Un changed ( 5 0 . to Decimal (), Ġ 0 . 5 . to Decimal ()) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġtest Single Row Scenario Coverage Values Are Un changed ( target : ĠBigDecimal ?, Ġcoverage : ĠBigDecimal ?) ĊĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠ Ġgiven Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcreate Touch stone And Scenario Descriptions ( it ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġit . add Scenario To Touch stone ( touch stone Version Id , Ġscenario Id ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġadd AB Coverage Sets ( it ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġadd AB Countries ( it ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġit . add Coverage Row ( set A , Ġ" AAA ", Ġ 2 0 0 1 , Ġ 1 . to Decimal (), Ġ 2 . to Decimal (), Ġ" 1 - 2 ", Ġtarget , Ġcoverage ) ĊĊĠĠĠĠĠĠĠ Ġ} Ġcheck Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġresult Ġ= Ġit . get Coverage Data For Scenario ( touch stone Version Id , Ġscenario Id ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Expect Ġthe Ġcoverage Ġrow Ġwhich Ġhas Ġaggregate Ġtarget Ġzero Ġto Ġhave Ġaggregate Ġcoverage Ġof Ġnull ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( result . toList ()). contains Exactly Elements Of ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠlistOf ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠGender ed Long Coverage Row ( scenario Id , Ġ" First ", Ġ" AF ", ĠG AV ISupport Level . WITHOUT , ĠActivity Type . ROUTINE , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" AAA ", Ġ" AAA - Name ", Ġ 2 0 0 1 , Ġ 1 . to Decimal (), Ġ 2 . to Decimal (), Ġ" 1 - 2 ", Ġtarget , Ġcoverage , Ġ" both ") ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ)) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊ Ċ }