/* Ċ Ġ* ĠThis Ġis Ġfree Ġand Ġun enc umber ed Ġsoftware Ġreleased Ġinto Ġthe Ġpublic Ġdomain , Ġfollowing Ġ< https :// un license . org > Ċ Ġ*/ Ċ Ċ package Ġorg . u fo ss . kot ys a . android Ċ Ċ import Ġandroid . database . sqlite . SQLite Open Helper Ċ import Ġorg . assertj . core . api . Assertions . assertThat Ċ import Ġorg . junit . Test Ċ import Ġorg . u fo ss . kot ys a . Tables Ċ import Ġorg . u fo ss . kot ys a . test . SQL ITE _ ROLE Ċ import Ġorg . u fo ss . kot ys a . test . role Admin Ċ import Ġorg . u fo ss . kot ys a . test . role God Ċ import Ġorg . u fo ss . kot ys a . test . role User Ċ Ċ class ĠS q Lite Select Distinct Test Ġ: ĠAbstract Sq Lite Test < UserRepository Select Distinct >() Ġ{ ĊĊĠĠĠ Ġoverride Ġfun Ġget Repository ( sq Lite Tables : ĠTables ) Ġ= ĠUser Repository Select Distinct ( db Helper , Ġsq Lite Tables ) ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` Verify Ġselect Distinct Role Labels Ġfinds Ġno Ġduplicates `() Ġ{ ĊĠĠĠĠĠĠĠ ĠassertThat ( repository . select Distinct Role Labels ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. has Size ( 3 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. contains Exactly In Any Order ( role User . label , Ġrole Admin . label , Ġrole God . label ) ĊĠĠĠ Ġ} Ċ } Ċ Ċ class ĠUser Repository Select Distinct ( ĊĠĠĠĠĠĠĠ Ġsq Lite Open Helper : ĠSQLite Open Helper , ĊĠĠĠĠĠĠĠ Ġtables : ĠTables Ċ ) Ġ: ĠAbstract UserRepository ( sq Lite Open Helper , Ġtables ) Ġ{ ĊĊĠĠĠ Ġfun Ġselect Distinct Role Labels () Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ( sql Client Ġselect Distinct ĠSQL ITE _ ROLE . label ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfrom ĠSQL ITE _ ROLE ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ). fetch All () Ċ } Ċ