package Ġat . team 3 0 . set route Ċ Ċ import Ġandroid . widget . EditText Ċ import Ġat . team 3 0 . set route . Helper . Email Helper Ċ import Ġcom . d umb ster . smtp . Simple Sm tp Server Ċ import Ġkotlinx . coroutines . run Blocking Ċ import Ġorg . junit . Assert Ċ import Ġorg . junit . Before Ċ import Ġorg . junit . Ignore Ċ import Ġorg . junit . Test Ċ import Ġorg . junit . runner . RunWith Ċ import Ġorg . junit . runners . JUnit 4 Ċ import Ġjava . lang . IllegalArgumentException Ċ Ċ @ RunWith ( JUnit 4 :: class ) Ċ class ĠEmail Test Ġ{ ĊĊĠĠĠ Ġlateinit Ġvar Ġemail Helper Ġ: ĠEmail Helper ĊĠĠĠ Ġlateinit Ġvar Ġsmtp Server Ġ: ĠSimple Sm tp Server ĊĠĠĠ Ġvar Ġport Ġ= Ġ 6 6 6 ĊĊĠĠĠ Ġ@ Test ( expected Ġ= ĠIllegalArgumentException :: class ) ĊĠĠĠ Ġfun Ġinit Illegal Arguments No Username () Ġ{ ĊĠĠĠĠĠĠĠ ĠEmail Helper ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġauthenticate Ġ= Ġtrue , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠuserName Ġ= Ġnull ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ( expected Ġ= ĠIllegalArgumentException :: class ) ĊĠĠĠ Ġfun Ġinit Illegal Arguments No Password () Ġ{ ĊĠĠĠĠĠĠĠ ĠEmail Helper ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġauthenticate Ġ= Ġtrue , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠuserName Ġ= Ġ" Max ĠM uster man ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpassword Ġ= Ġnull ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġcreate Email Helper Without Authentication () Ġ{ ĊĠĠĠĠĠĠĠ ĠEmail Helper ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġauthenticate Ġ= Ġfalse , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠuserName Ġ= Ġ" Max ĠM uster man ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpassword Ġ= Ġnull ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Before ĊĠĠĠ Ġfun ĠsetUp Test () Ġ{ ĊĠĠĠĠĠĠĠ Ġsmtp Server Ġ= ĠSimple Sm tp Server ( port ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġ@ Ignore ĊĠĠĠ Ġfun Ġemail Received () Ġ{ ĊĠĠĠĠĠĠĠ Ġvar Ġtext Ġ= Ġ" Very Ġbest Ġfeedback ." ĊĠĠĠĠĠĠĠ Ġvar Ġreceiver Ġ= Ġ" some @ anything . org " ĊĠĠĠĠĠĠĠ Ġvar Ġsubject Ġ= Ġ" Very Ġimportant Ġissue " ĊĊĠĠĠĠĠĠĠ Ġemail Helper Ġ= ĠEmail Helper ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsmtp Host Ġ= Ġ" localhost ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsmtp Port Ġ= Ġport , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġenable Start T tls Ġ= Ġfalse , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠuserName Ġ= Ġnull , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpassword Ġ= Ġnull , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsender Ġ= Ġ" best email @ provider . com ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġauthenticate Ġ= Ġfalse ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġrun Blocking Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġemail Helper . send Email ( text , Ġreceiver , Ġsubject ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ ĠAssert . assertEquals ( 1 , Ġsmtp Server . received Email Size ) ĊĠĠĠ Ġ} Ċ Ċ }