package Ġcom . example . el chat Ċ Ċ import Ġandroidx . compose . runtime . mutable State Of Ċ import Ġandroidx . compose . ui . test . junit 4 . create Compose Rule Ċ import Ġandroidx . compose . ui . test . on Node With Tag Ċ import Ġandroidx . compose . ui . test . perform Click Ċ import Ġandroidx . compose . ui . test . perform TextInput Ċ import Ġandroidx . test . platform . app . Instrumentation Registry Ċ import Ġandroidx . test . ext . junit . runners . Android JUnit 4 Ċ import Ġcom . example . el chat . ui . El Chat Chat Input Ċ import Ġcom . example . el chat . ui . El Chat Chat Screen Ċ import Ġcom . example . el chat . ui . theme . El Chat Theme Ċ Ċ import Ġorg . junit . Test Ċ import Ġorg . junit . runner . RunWith Ċ Ċ import Ġorg . junit . Assert .* Ċ import Ġorg . junit . Rule Ċ Ċ /** Ċ Ġ* ĠInstrument ed Ġtest , Ġwhich Ġwill Ġexecute Ġon Ġan ĠAndroid Ġdevice . Ċ Ġ* Ċ Ġ* ĠSee Ġ[ testing Ġdocumentation ]( http :// d . android . com / tools / testing ). Ċ Ġ*/ Ċ @ RunWith ( Android JUnit 4 :: class ) Ċ class ĠExample Instrument ed Test Ġ{ ĊĊĠĠĠ Ġ@ get : Rule ĊĠĠĠ Ġval Ġcompose Test Rule Ġ= Ġcreate Compose Rule () ĊĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġuse AppContext () Ġ{ ĊĠĠĠĠĠĠĠ Ġ// ĠContext Ġof Ġthe Ġapp Ġunder Ġtest . ĊĠĠĠĠĠĠĠ Ġval Ġapp Context Ġ= ĠInstrument ation Registry . get Instrumentation (). target Context ĊĠĠĠĠĠĠĠ ĠassertEquals (" com . example . el chat ", Ġapp Context . packageName ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest Send Button Click () Ġ{ ĊĠĠĠĠĠĠĠ Ġcompose Test Rule . setContent Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠEl Chat Theme Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠEl Chat Chat Screen () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġcompose Test Rule . on Node With Tag (" Send Button "). perform Click () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest Input TextField () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġfake State Ġ= Ġmutable State Of ("") ĊĠĠĠĠĠĠĠ Ġcompose Test Rule . setContent Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠEl Chat Theme Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠEl Chat Chat Input ( text Ġ= Ġfake State ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġcompose Test Rule . on Node With Tag (" Input TextField "). perform TextInput (" H ola ĠM undo !! ") ĊĠĠĠĠĠĠĠ Ġassert ( fake State . value Ġ== Ġ" H ola ĠM undo !! "){ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfail (" Incorrect Ġvalue Ġfor ĠInput TextField ") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ Ċ } ĊĊ