/* Ċ Ġ* ĠCopyright Ġ 2 0 2 1 ĠF ab ian ĠKar olat Ċ Ġ* Ċ Ġ* ĠLicensed Ġunder Ġthe ĠApache ĠLicense , ĠVersion Ġ 2 . 0 Ġ( the Ġ" License "); Ċ Ġ* Ġyou Ġmay Ġnot Ġuse Ġthis Ġfile Ġexcept Ġin Ġcompliance Ġwith Ġthe ĠLicense . Ċ Ġ* ĠYou Ġmay Ġobtain Ġa Ġcopy Ġof Ġthe ĠLicense Ġat Ċ Ġ* Ċ Ġ* ĠĠĠĠ Ġhttp :// www . apache . org / licenses / LICENSE - 2 . 0 Ċ Ġ* Ċ Ġ* ĠUnless Ġrequired Ġby Ġapplicable Ġlaw Ġor Ġagreed Ġto Ġin Ġwriting , Ġsoftware Ċ Ġ* Ġdistributed Ġunder Ġthe ĠLicense Ġis Ġdistributed Ġon Ġan Ġ" AS ĠIS " ĠBASIS , Ċ Ġ* ĠWITHOUT ĠWARRANTIES ĠOR ĠCONDITIONS ĠOF ĠANY ĠKIND , Ġeither Ġexpress Ġor Ġimplied . Ċ Ġ* ĠSee Ġthe ĠLicense Ġfor Ġthe Ġspecific Ġlanguage Ġgoverning Ġpermissions Ġand Ċ Ġ* Ġlimitations Ġunder Ġthe ĠLicense . Ċ Ġ*/ Ċ Ċ package Ġde . z we ist ein 2 . bar coder . qrcode Ċ Ċ import Ġde . z we ist ein 2 . bar coder . Barcode Encoder . Barcode Encoder Factory . get Encoder Ċ import Ġde . z we ist ein 2 . bar coder . Barcode Encoder . Barcode Encoder Factory . to Buffered Image Ċ import Ġde . z we ist ein 2 . bar coder . Barcode Format Ċ import Ġde . z we ist ein 2 . bar coder . Encoding Parameter Ċ import Ġorg . junit . jupiter . api . Assertions .* Ċ import Ġorg . junit . jupiter . api . Test Ċ import Ġorg . junit . jupiter . api . fail Ċ import Ġjava . io . File Ċ import Ġjavax . image io . Image IO Ċ Ċ internal Ġclass ĠQR Code Encoder Test Ġ{ ĊĠĠĠ Ġprivate Ġval Ġencoder Ġ= ĠBar code Format . QR _ CODE . get Encoder () Ġas ĠQR Code Encoder ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġencode Test () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġmatrix Ġ= Ġencoder . encode (" https :// github . com / Z we ist ein 2 / Bar Coder ", Ġmutable Map Of ( Pair ( Encoding Parameter . ERROR _ COR RECTION _ LEVEL , ĠError Correction Level . M . name ))) ĊĊĠĠĠĠĠĠĠ Ġval Ġtest Img Ġ= ĠImage IO . read ( File (" src / test / resources / test . png ")) ĊĠĠĠĠĠĠĠ Ġval Ġimg Ġ= Ġmatrix . to Buffered Image ( 1 0 ) ĊĊĠĠĠĠĠĠĠ ĠassertEquals ( test Img . width , Ġimg . width ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( test Img . height , Ġimg . height ) ĊĊĠĠĠĠĠĠĠ Ġfor Ġ( y Ġin Ġ 0 Ġuntil Ġtest Img . height ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfor Ġ( x Ġin Ġ 0 Ġuntil Ġtest Img . width ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠCompare Ġthe Ġpixels Ġfor Ġequality . ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( test Img . get RGB ( x , Ġy ) Ġ!= Ġimg . get RGB ( x , Ġy )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfail Ġ{ Ġ" P ictures Ġdo Ġnot Ġmatch !" Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġget Generator Polynomial Test () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġgenerator Polynomial For 5 Ġ= Ġencoder . get Generator Polynomial ( 5 ) ĊĠĠĠĠĠĠĠ Ġval Ġgenerator Polynomial For 1 4 Ġ= Ġencoder . get Generator Polynomial ( 1 4 ) ĊĠĠĠĠĠĠĠ Ġval Ġgenerator Polynomial For 7 Ġ= Ġencoder . get Generator Polynomial ( 7 ) ĊĠĠĠĠĠĠĠ Ġval Ġgenerator Polynomial For 2 1 Ġ= Ġencoder . get Generator Polynomial ( 2 1 ) ĊĊĠĠĠĠĠĠĠ ĠassertEquals (" x ^ 5 Ġ+ Ġ 3 1 x ^ 4 Ġ+ Ġ 1 9 8 x ^ 3 Ġ+ Ġ 6 3 x ^ 2 Ġ+ Ġ 1 4 7 x Ġ+ Ġ 1 1 6 ", Ġgenerator Polynomial For 5 . toString ()) ĊĠĠĠĠĠĠĠ ĠassertEquals (" x ^ 1 4 Ġ+ Ġ 1 4 x ^ 1 3 Ġ+ Ġ 5 4 x ^ 1 2 Ġ+ Ġ 1 1 4 x ^ 1 1 Ġ+ Ġ 7 0 x ^ 1 0 Ġ+ Ġ 1 7 4 x ^ 9 Ġ+ Ġ 1 5 1 x ^ 8 Ġ+ Ġ 4 3 x ^ 7 Ġ+ Ġ 1 5 8 x ^ 6 Ġ+ Ġ 1 9 5 x ^ 5 Ġ+ Ġ" Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" 1 2 7 x ^ 4 Ġ+ Ġ 1 6 6 x ^ 3 Ġ+ Ġ 2 1 0 x ^ 2 Ġ+ Ġ 2 3 4 x Ġ+ Ġ 1 6 3 ", Ġgenerator Polynomial For 1 4 . toString ()) ĊĠĠĠĠĠĠĠ ĠassertEquals (" x ^ 7 Ġ+ Ġ 1 2 7 x ^ 6 Ġ+ Ġ 1 2 2 x ^ 5 Ġ+ Ġ 1 5 4 x ^ 4 Ġ+ Ġ 1 6 4 x ^ 3 Ġ+ Ġ 1 1 x ^ 2 Ġ+ Ġ 6 8 x Ġ+ Ġ 1 1 7 ", Ġgenerator Polynomial For 7 . toString ()) ĊĠĠĠĠĠĠĠ ĠassertEquals (" x ^ 2 1 Ġ+ Ġ 4 4 x ^ 2 0 Ġ+ Ġ 2 4 3 x ^ 1 9 Ġ+ Ġ 1 3 x ^ 1 8 Ġ+ Ġ 1 3 1 x ^ 1 7 Ġ+ Ġ 4 9 x ^ 1 6 Ġ+ Ġ 1 3 2 x ^ 1 5 Ġ+ Ġ 1 9 4 x ^ 1 4 Ġ+ Ġ 6 7 x ^ 1 3 Ġ+ Ġ 2 1 4 x ^ 1 2 Ġ" Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ"+ Ġ 2 8 x ^ 1 1 Ġ+ Ġ 8 9 x ^ 1 0 Ġ+ Ġ 1 2 4 x ^ 9 Ġ+ Ġ 8 2 x ^ 8 Ġ+ Ġ 1 5 8 x ^ 7 Ġ+ Ġ 2 4 4 x ^ 6 Ġ+ Ġ 3 7 x ^ 5 Ġ+ Ġ 2 3 6 x ^ 4 Ġ+ Ġ 1 4 2 x ^ 3 Ġ+ Ġ 8 2 x ^ 2 Ġ+ Ġ 2 5 5 x Ġ+ Ġ 8 9 ", Ġgenerator Polynomial For 2 1 . toString ()) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġget Error Correction Codes Per Block Test () Ġ{ ĊĠĠĠĠĠĠĠĠ ĠassertEquals ( 1 8 , Ġencoder . getError Correction Codes Per Block ( 6 , ĠError Correction Level . L )) ĊĠĠĠĠĠĠĠ ĠassertEquals ( 2 6 , Ġencoder . getError Correction Codes Per Block ( 2 1 , ĠError Correction Level . M )) ĊĠĠĠĠĠĠĠ ĠassertEquals ( 3 0 , Ġencoder . getError Correction Codes Per Block ( 3 2 , ĠError Correction Level . Q )) ĊĠĠĠĠĠĠĠ ĠassertEquals ( 2 8 , Ġencoder . getError Correction Codes Per Block ( 1 8 , ĠError Correction Level . H )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun ĠgetData Block Count For Groups Test () Ġ{ ĊĠĠĠĠĠĠĠ ĠassertEquals ( Pair ( 2 , Ġnull ), Ġencoder . getData Block Count For Groups ( 6 , ĠError Correction Level . L )) ĊĠĠĠĠĠĠĠ ĠassertEquals ( Pair ( 1 7 , Ġnull ), Ġencoder . getData Block Count For Groups ( 2 1 , ĠError Correction Level . M )) ĊĠĠĠĠĠĠĠ ĠassertEquals ( Pair ( 1 0 , Ġ 3 5 ), Ġencoder . getData Block Count For Groups ( 3 2 , ĠError Correction Level . Q )) ĊĠĠĠĠĠĠĠ ĠassertEquals ( Pair ( 2 , Ġ 1 9 ), Ġencoder . getData Block Count For Groups ( 1 8 , ĠError Correction Level . H )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun ĠgetData Capacity For Encoding Mode Test () Ġ{ ĊĠĠĠĠĠĠĠ ĠassertEquals ( 1 1 4 , Ġencoder . getData Capacity For Encoding Mode ( 4 , ĠError Correction Level . L Ġ, ĠEncoding Mode . ALPH AN UM ERIC )) ĊĠĠĠĠĠĠĠ ĠassertEquals ( 1 0 3 5 , Ġencoder . getData Capacity For Encoding Mode ( 2 1 , ĠError Correction Level . M Ġ, ĠEncoding Mode . ALPH AN UM ERIC )) ĊĠĠĠĠĠĠĠ ĠassertEquals ( 1 7 0 0 , Ġencoder . getData Capacity For Encoding Mode ( 3 3 , ĠError Correction Level . Q Ġ, ĠEncoding Mode . ALPH AN UM ERIC )) ĊĠĠĠĠĠĠĠ ĠassertEquals ( 1 8 5 2 , Ġencoder . getData Capacity For Encoding Mode ( 4 0 , ĠError Correction Level . H Ġ, ĠEncoding Mode . ALPH AN UM ERIC )) ĊĠĠĠĠĠĠĠ ĠassertEquals ( 7 8 , Ġencoder . getData Capacity For Encoding Mode ( 4 , ĠError Correction Level . L Ġ, ĠEncoding Mode . BINARY )) ĊĠĠĠĠĠĠĠ ĠassertEquals ( 7 1 1 , Ġencoder . getData Capacity For Encoding Mode ( 2 1 , ĠError Correction Level . M Ġ, ĠEncoding Mode . BINARY )) ĊĠĠĠĠĠĠĠ ĠassertEquals ( 1 1 6 8 , Ġencoder . getData Capacity For Encoding Mode ( 3 3 , ĠError Correction Level . Q Ġ, ĠEncoding Mode . BINARY )) ĊĠĠĠĠĠĠĠ ĠassertEquals ( 1 2 7 3 , Ġencoder . getData Capacity For Encoding Mode ( 4 0 , ĠError Correction Level . H Ġ, ĠEncoding Mode . BINARY )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġget Encoding Mode For Content Test () Ġ{ ĊĠĠĠĠĠĠĠ ĠassertEquals ( Encoding Mode . ALPH AN UM ERIC , Ġencoder . get Encoding Mode For Content (" HEL LO ĠW ORLD ", ĠCharset . UTF _ 8 )) ĊĠĠĠĠĠĠĠ ĠassertEquals ( Encoding Mode . BINARY , Ġencoder . get Encoding Mode For Content (" ãĥĨãĤ¹ãĥĪ ", ĠCharset . UTF _ 8 )) ĊĠĠĠĠĠĠĠ ĠassertEquals ( Encoding Mode . KAN JI , Ġencoder . get Encoding Mode For Content (" ãĥĨãĤ¹ãĥĪ ", ĠCharset . SHIFT _ J IS )) ĊĠĠĠĠĠĠĠ ĠassertEquals ( Encoding Mode . BINARY , Ġencoder . get Encoding Mode For Content (" Hello ĠWorld ", ĠCharset . UTF _ 8 )) ĊĠĠĠĠĠĠĠ ĠassertEquals ( Encoding Mode . NUMERIC , Ġencoder . get Encoding Mode For Content (" 6 1 2 5 7 ", ĠCharset . UTF _ 8 )) ĊĠĠĠ Ġ} Ċ }