/* Ċ Ġ* ĠCopyright Ġ 2 0 2 0 ĠZ UP ĠIT ĠSER V IC OS ĠEM ĠT EC NO LOG IA ĠE ĠIN OV AC AO ĠSA Ċ Ġ* Ċ Ġ* ĠLicensed Ġunder Ġthe ĠApache ĠLicense , ĠVersion Ġ 2 . 0 Ġ( the Ġ" License "); Ċ Ġ* Ġyou Ġmay Ġnot Ġuse Ġthis Ġfile Ġexcept Ġin Ġcompliance Ġwith Ġthe ĠLicense . Ċ Ġ* ĠYou Ġmay Ġobtain Ġa Ġcopy Ġof Ġthe ĠLicense Ġat Ċ Ġ* Ċ Ġ* ĠĠĠĠ Ġhttp :// www . apache . org / licenses / LICENSE - 2 . 0 Ċ Ġ* Ċ Ġ* ĠUnless Ġrequired Ġby Ġapplicable Ġlaw Ġor Ġagreed Ġto Ġin Ġwriting , Ġsoftware Ċ Ġ* Ġdistributed Ġunder Ġthe ĠLicense Ġis Ġdistributed Ġon Ġan Ġ" AS ĠIS " ĠBASIS , Ċ Ġ* ĠWITHOUT ĠWARRANTIES ĠOR ĠCONDITIONS ĠOF ĠANY ĠKIND , Ġeither Ġexpress Ġor Ġimplied . Ċ Ġ* ĠSee Ġthe ĠLicense Ġfor Ġthe Ġspecific Ġlanguage Ġgoverning Ġpermissions Ġand Ċ Ġ* Ġlimitations Ġunder Ġthe ĠLicense . Ċ Ġ*/ Ċ Ċ package Ġbr . com . z up . be agle . android . action Ċ Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroidx . appcompat . app . AppCompatActivity Ċ import Ġbr . com . z up . be agle . android . setup . Be agle Environment Ċ import Ġbr . com . z up . be agle . android . setup . Be agle Sdk Ċ import Ġbr . com . z up . be agle . android . utils . to View Ċ import Ġbr . com . z up . be agle . android . utils . view Factory Ċ import Ġbr . com . z up . be agle . android . view . View Factory Ċ import Ġbr . com . z up . be agle . android . view . custom . Be agle Flex View Ċ import Ġbr . com . z up . be agle . android . widget . Root View Ċ import Ġbr . com . z up . be agle . core . Server D riven Component Ċ import Ġio . mock k .* Ċ import Ġorg . junit . jupiter . api . After Each Ċ import Ġorg . junit . jupiter . api . BeforeEach Ċ import Ġorg . junit . jupiter . api . Test Ċ Ċ class ĠAdd Children Test Ġ{ ĊĊĠĠĠ Ġprivate Ġval Ġserver D riven Component Ġ= Ġmock k < Server D riven Component >( relax ed Ġ= Ġtrue ) ĊĠĠĠ Ġprivate Ġval Ġvalue Ġ= ĠlistOf ( server D riven Component ) ĊĠĠĠ Ġprivate Ġval Ġroot View Ġ= Ġmock k < Root View >( relax ed Ġ= Ġtrue ) ĊĠĠĠ Ġprivate Ġval Ġorigin Ġ= Ġmock k < View >( relax ed Ġ= Ġtrue ) ĊĠĠĠ Ġprivate Ġval Ġview Group Ġ= Ġmock k < ViewGroup >( relax ed Ġ= Ġtrue ) ĊĠĠĠ Ġprivate Ġval Ġcontext Ġ= Ġmock k < AppCompatActivity >( relax ed Ġ= Ġtrue ) ĊĠĠĠ Ġprivate Ġval Ġview Ġ= Ġmock k < Be agle Flex View >( relax ed Ġ= Ġtrue ) ĊĠĠĠ Ġprivate Ġval Ġbe agle Sdk Ġ= Ġmock k < Be agle Sdk >( relax ed Ġ= Ġtrue ) ĊĠĠĠ Ġprivate Ġval Ġid Ġ= Ġ" id " ĊĠĠĠ Ġprivate Ġval Ġview Factory Mock Ġ= Ġmock k < View Factory >( relax ed Ġ= Ġtrue ) ĊĊĠĠĠ Ġ@ BeforeEach ĊĠĠĠ Ġfun ĠsetUp () Ġ{ ĊĠĠĠĠĠĠĠ Ġmock k Object ( Be agle Environment ) ĊĠĠĠĠĠĠĠ Ġview Factory Ġ= Ġview Factory Mock ĊĠĠĠĠĠĠĠ Ġevery Ġ{ ĠBe agle Environment . be agle Sdk Ġ} Ġreturns Ġbe agle Sdk ĊĠĠĠĠĠĠĠ Ġevery Ġ{ Ġbe agle Sdk . logger Ġ} Ġreturns Ġmock k ( relax ed Ġ= Ġtrue ) ĊĠĠĠĠĠĠĠ Ġevery Ġ{ Ġroot View . getContext () Ġ} Ġreturns Ġcontext ĊĠĠĠĠĠĠĠ Ġevery Ġ{ Ġcontext . findViewById < ViewGroup >( any ()) Ġ} Ġreturns Ġview Group ĊĠĠĠĠĠĠĠ Ġevery Ġ{ Ġview Factory . make Be agle Flex View ( root View ) Ġ} Ġreturns Ġview ĊĠĠĠĠĠĠĠ Ġevery Ġ{ Ġview Group . addView ( any ()) Ġ} Ġjust ĠRuns ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ After Each ĊĠĠĠ Ġfun ĠtearDown () Ġ{ ĊĠĠĠĠĠĠĠ Ġun mock k Object ( Be agle Environment ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġadd Children _ with _ no _ mode _ should _ append () Ġ{ ĊĠĠĠĠĠĠĠ Ġ// G IV EN ĊĠĠĠĠĠĠĠ Ġval Ġaction Ġ= ĠAdd Children ( id , Ġvalue ) ĊĊĠĠĠĠĠĠĠ Ġ// WHEN ĊĠĠĠĠĠĠĠ Ġaction . execute ( root View , Ġorigin ) ĊĊĠĠĠĠĠĠĠ Ġ// THEN ĊĠĠĠĠĠĠĠ Ġverify ( exact ly Ġ= Ġ 1 ) Ġ{ Ġview Group . addView ( view ) Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġadd Children _ with _ append _ mode _ should _ call _ view _ group _ add _ view () Ġ{ ĊĠĠĠĠĠĠĠ Ġ// G IV EN ĊĠĠĠĠĠĠĠ Ġval Ġaction Ġ= ĠAdd Children ( id , Ġvalue , ĠMode . APPEND ) ĊĊĠĠĠĠĠĠĠ Ġ// WHEN ĊĠĠĠĠĠĠĠ Ġaction . execute ( root View , Ġorigin ) ĊĊĠĠĠĠĠĠĠ Ġ// THEN ĊĠĠĠĠĠĠĠ Ġverify ( exact ly Ġ= Ġ 1 ) Ġ{ Ġview Group . addView ( view ) Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġadd Children _ with _ replace _ mode _ should _ call _ view _ group _ remove _ all _ views _ than _ add _ view () Ġ{ ĊĠĠĠĠĠĠĠ Ġ// G IV EN ĊĠĠĠĠĠĠĠ Ġval Ġaction Ġ= ĠAdd Children ( id , Ġvalue , ĠMode . REPLACE ) ĊĊĠĠĠĠĠĠĠ Ġ// WHEN ĊĠĠĠĠĠĠĠ Ġaction . execute ( root View , Ġorigin ) ĊĊĠĠĠĠĠĠĠ Ġ// THEN ĊĠĠĠĠĠĠĠ Ġverify ( exact ly Ġ= Ġ 1 ) Ġ{ Ġview Group . removeAll Views () Ġ} ĊĠĠĠĠĠĠĠ Ġverify ( exact ly Ġ= Ġ 1 ) Ġ{ Ġview Group . addView ( view ) Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġadd Children _ with _ prepend _ mode _ should _ call _ view _ group _ add _ view _ index _ zero () Ġ{ ĊĠĠĠĠĠĠĠ Ġ// G IV EN ĊĠĠĠĠĠĠĠ Ġval Ġaction Ġ= ĠAdd Children ( id , Ġvalue , ĠMode . PRE PEND ) ĊĊĠĠĠĠĠĠĠ Ġ// WHEN ĊĠĠĠĠĠĠĠ Ġaction . execute ( root View , Ġorigin ) ĊĊĠĠĠĠĠĠĠ Ġ// THEN ĊĠĠĠĠĠĠĠ Ġverify ( exact ly Ġ= Ġ 1 ) Ġ{ Ġview Group . addView ( view , Ġ 0 ) Ġ} ĊĠĠĠ Ġ} Ċ } Ċ