package Ġdev . v eng ates hm . clean architecture mv vm notes app . feature _ note . presentation . note _ list Ċ Ċ import Ġandroidx . compose . animation . Experimental Animation Api Ċ import Ġandroidx . compose . ui . test . assertIs Displayed Ċ import Ġandroidx . compose . ui . test . junit 4 . create Android Compose Rule Ċ import Ġandroidx . compose . ui . test . on Node With Content Description Ċ import Ġandroidx . compose . ui . test . on Node With Tag Ċ import Ġandroidx . compose . ui . test . perform Click Ċ import Ġandroidx . navigation . compose . Nav Host Ċ import Ġandroidx . navigation . compose . comp osable Ċ import Ġandroidx . navigation . compose . remember Nav Controller Ċ import Ġdagger . h ilt . android . testing . H ilt Android Rule Ċ import Ġdagger . h ilt . android . testing . H ilt Android Test Ċ import Ġdagger . h ilt . android . testing . Un install Modules Ċ import Ġdev . v eng ates hm . clean architecture mv vm notes app . core . util . Test Tags Ċ import Ġdev . v eng ates hm . clean architecture mv vm notes app . di . App Module Ċ import Ġdev . v eng ates hm . clean architecture mv vm notes app . feature _ note . presentation . MainActivity Ċ import Ġdev . v eng ates hm . clean architecture mv vm notes app . feature _ note . presentation . util . Screen Ċ import Ġdev . v eng ates hm . clean architecture mv vm notes app . ui . theme . Clean Architecture MV VM Notes App Theme Ċ import Ġorg . junit . Before Ċ import Ġorg . junit . Rule Ċ import Ġorg . junit . Test Ċ Ċ @ H ilt Android Test Ċ @ Un install Modules ( App Module :: class ) Ċ class ĠNote List Screen Test Ġ{ ĊĠĠĠ Ġ@ get : Rule ( order Ġ= Ġ 0 ) ĊĠĠĠ Ġval Ġh ilt Rule Ġ= ĠH ilt Android Rule ( this ) ĊĊĠĠĠ Ġ@ get : Rule ( order Ġ= Ġ 1 ) ĊĠĠĠ Ġval Ġcompose Rule Ġ= Ġcreate Android Compose Rule < MainActivity >() ĊĊĠĠĠ Ġ@ Experimental Animation Api ĊĠĠĠ Ġ@ Before ĊĠĠĠ Ġfun ĠsetUp () Ġ{ ĊĠĠĠĠĠĠĠ Ġh ilt Rule . inject () Ġ// ĠH ilt Ġrule Ġto Ġinject Ġdependencies Ġin Ġtest Ġenvironment ĊĊĠĠĠĠĠĠĠ Ġ// ĠSetup Ġcomp osable Ġwith Ġnav Ġhost ĊĠĠĠĠĠĠĠ Ġcompose Rule . setContent Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġnav Controller Ġ= Ġremember Nav Controller () ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠClean Architecture MV VM Notes App Theme Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠNav Host ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnav Controller Ġ= Ġnav Controller , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstart Destination Ġ= ĠScreen . Note List . route ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcomp osable ( Screen . Note List . route ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠNote List Screen ( nav Controller Ġ= Ġnav Controller ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun ĠVerify _ sort _ section _ visible _ on _ click _ sort _ button () Ġ{ ĊĠĠĠĠĠĠĠ Ġcompose Rule . on Node With Tag ( Test Tags . ORDER _ SECTION ). assert DoesNotExist () ĊĠĠĠĠĠĠĠ Ġcompose Rule . on Node With Content Description (" Sort "). perform Click () Ġ// ĠUse Ġstring Ġresources Ġfor Ġcontent Ġdescription ĊĠĠĠĠĠĠĠ Ġcompose Rule . on Node With Tag ( Test Tags . ORDER _ SECTION ). assertIs Displayed () ĊĠĠĠ Ġ} Ċ }