package Ġru . po cket byte . lo col aser . resource . formatting Ċ Ċ import Ġorg . junit . Assert .* Ċ import Ġorg . junit . Test Ċ import Ġru . po cket byte . lo col aser . resource . entity . Formatting Argument Ċ import Ġru . po cket byte . lo col aser . resource . entity . Res Value Ċ import Ġjava . lang . Unsupported OperationException Ċ Ċ class ĠJava Formatting Type Test Ġ{ ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest Arguments From Value () Ġ{ ĊĠĠĠĠĠĠĠ ĠassertEquals ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠlistOf ( Formatting Argument ( null , Ġnull , Ġparameters (" s ", Ġ"")) ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠJava Formatting Type . arguments From Value ("% s ") ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġ// ĠRead Ġindex ĊĠĠĠĠĠĠĠ ĠassertEquals ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠlistOf ( Formatting Argument ( null , Ġ 2 1 , Ġparameters (" s ", Ġ"")) ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠJava Formatting Type . arguments From Value ("% 2 1 \$ s ") ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġ// ĠRead Ġtype Ġparameters ĊĠĠĠĠĠĠĠ ĠassertEquals ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠlistOf ( Formatting Argument ( null , Ġnull , Ġparameters (" d ", Ġ"+ 2 0 ")) ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠJava Formatting Type . arguments From Value ("% + 2 0 d ") ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġ// ĠRead Ġcomplex Ġstring ĊĠĠĠĠĠĠĠ ĠassertEquals ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠlistOf ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠFormat ting Argument ( null , Ġ 2 , Ġparameters (" s ", Ġ"") ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠFormat ting Argument ( null , Ġ 1 , Ġparameters (" d ", Ġ"(" )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠJava Formatting Type . arguments From Value (" Hello , Ġ% 2 \$ s . ĠYour Ġnumber Ġis Ġ% 1 \ $( d ") ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest Convert () Ġ{ ĊĠĠĠĠĠĠĠ Ġ// ĠConvert Ġfrom Ġjava Ġto Ġjava ĊĠĠĠĠĠĠĠ Ġval Ġvalue 1 Ġ= ĠRes Value (" value 1 ", Ġnull , Ġformatting Type Ġ= ĠJava Formatting Type ) ĊĠĠĠĠĠĠĠ ĠassertSame ( value 1 , ĠJava Formatting Type . convert ( value 1 )) ĊĊĠĠĠĠĠĠĠ Ġ// ĠConvert Ġfrom Ġanother Ġtype ĊĠĠĠĠĠĠĠ Ġval Ġvalue 2 Ġ= ĠRes Value (" value 2 ", Ġnull , Ġformatting Type Ġ= ĠJava Formatting Type ) ĊĠĠĠĠĠĠĠ Ġval Ġanother Formatting Type Ġ= ĠFormat ting Type Mock ( value 2 ) ĊĊĠĠĠĠĠĠĠ ĠassertEquals ( 0 , Ġanother Formatting Type . convertTo Java Calls ) ĊĠĠĠĠĠĠĠ ĠassertSame ( value 2 , ĠJava Formatting Type . convert ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠRes Value (" value 2 Ġanother Ġtype ", Ġnull , Ġformatting Type Ġ= Ġanother Formatting Type ) ĊĠĠĠĠĠĠĠ Ġ)) ĊĠĠĠĠĠĠĠ ĠassertEquals ( 1 , Ġanother Formatting Type . convertTo Java Calls ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest Convert From No Formatting () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġvalue Ġ= ĠRes Value (" value 1 ", Ġnull , Ġformatting Type Ġ= ĠNo Formatting Type ) ĊĠĠĠĠĠĠĠ ĠassertSame ( value , ĠJava Formatting Type . convert ( value )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest Argument ToString () Ġ{ ĊĠĠĠĠĠĠĠ ĠassertNull ( Java Formatting Type . argument ToString ( Formatting Argument ())) ĊĠĠĠĠĠĠĠ ĠassertNull ( Java Formatting Type . argument ToString ( Formatting Argument (" some _ name "))) ĊĠĠĠĠĠĠĠ ĠassertNull ( Java Formatting Type . argument ToString ( Formatting Argument (" some _ name ", Ġ 1 ))) ĊĠĠĠĠĠĠĠ ĠassertNull ( Java Formatting Type . argument ToString ( Formatting Argument (" some _ name ", Ġ 1 , Ġempty Map ()))) ĊĠĠĠĠĠĠĠ ĠassertNull ( Java Formatting Type . argument ToString ( Formatting Argument (" some _ name ", Ġ 1 , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġparameters ("", Ġ" 2 ")) )) ĊĊĠĠĠĠĠĠĠ ĠassertEquals ("% s ", ĠJava Formatting Type . argument ToString ( Formatting Argument ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġparameters Ġ= Ġparameters (" s ", Ġ"") ĊĠĠĠĠĠĠĠ Ġ))) ĊĊĠĠĠĠĠĠĠ ĠassertEquals ("% 1 \$ d ", ĠJava Formatting Type . argument ToString ( Formatting Argument ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġindex Ġ= Ġ 1 , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġparameters Ġ= Ġparameters (" d ", Ġ"") ĊĠĠĠĠĠĠĠ Ġ))) ĊĊĠĠĠĠĠĠĠ ĠassertEquals ("% 0 . 2 f ", ĠJava Formatting Type . argument ToString ( Formatting Argument ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġparameters Ġ= Ġparameters (" f ", Ġ" 0 . 2 ") ĊĠĠĠĠĠĠĠ Ġ))) ĊĊĠĠĠĠĠĠĠ ĠassertEquals ("% 5 \$ -. 4 f ", ĠJava Formatting Type . argument ToString ( Formatting Argument ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġindex Ġ= Ġ 5 , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġparameters Ġ= Ġparameters (" f ", Ġ"- . 4 ") ĊĠĠĠĠĠĠĠ Ġ))) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġparameters ( typeName : ĠString , Ġtype Parameters : ĠString ): ĠMap < String , ĠString > Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġmap Of ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPair ( Java Formatting Type . PARAM _ TYPE _ NAME , ĠtypeName ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPair ( Java Formatting Type . PARAM _ TYPE _ PARAMETERS , Ġtype Parameters ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġclass ĠFormat ting Type Mock ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġjava Value : ĠRes Value ĊĠĠĠ Ġ): ĠFormat ting Type Ġ{ ĊĠĠĠĠĠĠĠ Ġvar ĠconvertTo Java Calls Ġ= Ġ 0 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġprivate Ġset ĊĊĠĠĠĠĠĠĠ Ġoverride Ġval Ġarguments Substitution Ġ= ĠFormat ting Type . Arguments Substitution . NO ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġarguments From Value ( value : ĠString ): ĠList < Formatting Argument > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthrow ĠUnsupportedOperationException () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġconvert ( value : ĠRes Value ): ĠRes Value Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthrow ĠUnsupportedOperationException () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun ĠconvertTo Java ( value : ĠRes Value ): ĠRes Value Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠconvertTo Java Calls Ġ+= Ġ 1 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġjava Value ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġ} Ċ Ċ }