package Ġorg . kin . stell ar fork . xd r Ċ Ċ import Ġorg . junit . Assert Ċ import Ġorg . junit . Test Ċ import Ġjava . io . ByteArray InputStream Ċ import Ġjava . io . ByteArray OutputStream Ċ import Ġjava . io . IOException Ċ Ċ class ĠX dr DataStream Test Ġ{ ĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġ@ Throws ( IOException :: class ) ĊĠĠĠ Ġfun Ġback And For th X dr Streaming With Standard Ascii () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġmemo Ġ= Ġ" Dollar ĠSign Ġ$" ĊĠĠĠĠĠĠĠ ĠAssert . assertEquals ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmemo , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġback And For th X dr Streaming ( memo ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġ@ Throws ( IOException :: class ) ĊĠĠĠ Ġfun Ġback And For th X dr Streaming With Non Standard Ascii () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġmemo Ġ= Ġ" E uro ĠSign Ġâ Ĥ¬ " ĊĠĠĠĠĠĠĠ ĠAssert . assertEquals ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmemo , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġback And For th X dr Streaming ( memo ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġ@ Throws ( IOException :: class ) ĊĠĠĠ Ġfun Ġback And For th X dr Streaming With All Non Standard Ascii () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġmemo Ġ= Ġ" Ã¸ Ã » Ã½ âĦ ¢ â Ĥ¬ âĻ ł âĻ £ âĻ ¥ âĢ ł âĢ ¡ Â µ Â ¢ Â £ â Ĥ¬ " ĊĠĠĠĠĠĠĠ ĠAssert . assertEquals ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmemo , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġback And For th X dr Streaming ( memo ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġ// helper Ġfor Ġtests Ġbelow . ĊĠĠĠĠĠĠĠ Ġ@ Throws ( IOException :: class ) ĊĠĠĠĠĠĠĠ Ġfun Ġback And For th X dr Streaming ( input String : ĠString ?): ĠString Ġ{ Ġ// String Ġto ĠX DR ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġbyte OutputStream Ġ= ĠByteArrayOutputStream () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġx dr OutputStream Ġ= ĠX dr Data OutputStream ( byte OutputStream ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġx dr OutputStream . writeString ( input String !! ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġx dr Byte Output Ġ= Ġbyte OutputStream . toByteArray () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// X DR Ġback Ġto ĠString ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġx dr InputStream Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠX dr Data InputStream ( ByteArray InputStream ( xd r Byte Output )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġx dr InputStream . readString () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ