package Ġme . front back . gp ue ffect . common Ċ Ċ import Ġandroid . annotation . Suppress Lint Ċ import Ġcom . n ha ar man . mockito _ kotlin .* Ċ import Ġorg . junit . Test Ċ import Ġorg . assertj . core . api . Assertions .* Ċ import Ġorg . mockito . Argument Captor Ċ Ċ class ĠGP UE ffect Test Ġ{ ĊĊĠĠĠ Ġval Ġprogram Ġ= Ġmock < GLSL Program >() ĊĠĠĠ Ġval Ġeffect Ġ= Ġspy ( GP UE ffect ( program )) ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest Invert Rotation () Ġ{ ĊĠĠĠĠĠĠĠ Ġeffect . setRotation ( Rotation . NONE ) ĊĠĠĠĠĠĠĠ Ġeffect . setOutput Size ( 1 0 0 , Ġ 2 0 0 ) ĊĠĠĠĠĠĠĠ ĠassertThat ( effect . output Width ). isEqualTo ( 1 0 0 ) ĊĠĠĠĠĠĠĠ ĠassertThat ( effect . output Height ). isEqualTo ( 2 0 0 ) ĊĠĠĠĠĠĠĠ Ġeffect . setRotation ( Rotation ._ 9 0 ) ĊĠĠĠĠĠĠĠ ĠassertThat ( effect . output Width ). isEqualTo ( 2 0 0 ) ĊĠĠĠĠĠĠĠ ĠassertThat ( effect . output Height ). isEqualTo ( 1 0 0 ) ĊĠĠĠĠĠĠĠ Ġeffect . setRotation ( Rotation ._ 2 7 0 ) ĊĠĠĠĠĠĠĠ ĠassertThat ( effect . output Width ). isEqualTo ( 2 0 0 ) ĊĠĠĠĠĠĠĠ ĠassertThat ( effect . output Height ). isEqualTo ( 1 0 0 ) ĊĠĠĠĠĠĠĠ Ġeffect . setRotation ( Rotation ._ 1 8 0 ) ĊĠĠĠĠĠĠĠ ĠassertThat ( effect . output Width ). isEqualTo ( 1 0 0 ) ĊĠĠĠĠĠĠĠ ĠassertThat ( effect . output Height ). isEqualTo ( 2 0 0 ) ĊĠĠĠĠĠĠĠ Ġeffect . setRotation ( Rotation . NONE ) ĊĠĠĠĠĠĠĠ ĠassertThat ( effect . output Width ). isEqualTo ( 1 0 0 ) ĊĠĠĠĠĠĠĠ ĠassertThat ( effect . output Height ). isEqualTo ( 2 0 0 ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest Rotation Set Buffer Correct ly () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġcapt or Ġ= ĠK Argument Captor < Float Array >( Argument Captor . for Class ( Float Array :: class . java ), ĠFloat Array :: class ) ĊĠĠĠĠĠĠĠ Ġdo Nothing (). wh enever ( effect ). rotation Array Ġ= Ġcapt or . capture () ĊĠĠĠĠĠĠĠ Ġeffect . setRotation ( Rotation . NONE ) ĊĠĠĠĠĠĠĠ Ġeffect . setRotation ( Rotation ._ 9 0 ) ĊĠĠĠĠĠĠĠ Ġeffect . setRotation ( Rotation ._ 1 8 0 ) ĊĠĠĠĠĠĠĠ Ġeffect . setRotation ( Rotation ._ 2 7 0 ) ĊĠĠĠĠĠĠĠ Ġeffect . setRotation ( Rotation . UP SIDE _ DOWN ) ĊĠĠĠĠĠĠĠ Ġeffect . setRotation ( Rotation . UP SIDE _ DOWN _ 9 0 ) ĊĠĠĠĠĠĠĠ Ġeffect . setRotation ( Rotation . UP SIDE _ DOWN _ 1 8 0 ) ĊĠĠĠĠĠĠĠ Ġeffect . setRotation ( Rotation . UP SIDE _ DOWN _ 2 7 0 ) ĊĠĠĠĠĠĠĠ ĠassertThat ( capt or . all Values [ 0 ]). isEqualTo ( Rotation . ARRAY _ NONE ) ĊĠĠĠĠĠĠĠ ĠassertThat ( capt or . all Values [ 1 ]). isEqualTo ( Rotation . ARRAY _ 9 0 ) ĊĠĠĠĠĠĠĠ ĠassertThat ( capt or . all Values [ 2 ]). isEqualTo ( Rotation . ARRAY _ 1 8 0 ) ĊĠĠĠĠĠĠĠ ĠassertThat ( capt or . all Values [ 3 ]). isEqualTo ( Rotation . ARRAY _ 2 7 0 ) ĊĠĠĠĠĠĠĠ ĠassertThat ( capt or . all Values [ 4 ]). isEqualTo ( Rotation . ARRAY _ UP SIDE _ DOWN ) ĊĠĠĠĠĠĠĠ ĠassertThat ( capt or . all Values [ 5 ]). isEqualTo ( Rotation . ARRAY _ UP SIDE _ DOWN _ 9 0 ) ĊĠĠĠĠĠĠĠ ĠassertThat ( capt or . all Values [ 6 ]). isEqualTo ( Rotation . ARRAY _ UP SIDE _ DOWN _ 1 8 0 ) ĊĠĠĠĠĠĠĠ ĠassertThat ( capt or . all Values [ 7 ]). isEqualTo ( Rotation . ARRAY _ UP SIDE _ DOWN _ 2 7 0 ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Suppress Lint (" Wrong Constant ") ĊĠĠĠ Ġ@ Test ( expected Ġ= ĠIllegalArgumentException :: class ) ĊĠĠĠ Ġfun Ġtest Set Wrong Rotation () Ġ{ ĊĠĠĠĠĠĠĠ Ġeffect . setRotation ( 2 ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġset Output Size With Rotation () Ġ{ ĊĠĠĠĠĠĠĠ Ġeffect . setRotation ( Rotation . NONE ) ĊĠĠĠĠĠĠĠ Ġeffect . setOutput Size ( 1 0 0 , Ġ 2 0 0 ) ĊĠĠĠĠĠĠĠ ĠassertThat ( effect . output Width ). isEqualTo ( 1 0 0 ) ĊĠĠĠĠĠĠĠ ĠassertThat ( effect . output Height ). isEqualTo ( 2 0 0 ) ĊĠĠĠĠĠĠĠ Ġeffect . setRotation ( Rotation ._ 9 0 ) ĊĠĠĠĠĠĠĠ Ġeffect . setOutput Size ( 1 0 0 , Ġ 2 0 0 ) ĊĠĠĠĠĠĠĠ ĠassertThat ( effect . output Width ). isEqualTo ( 2 0 0 ) ĊĠĠĠĠĠĠĠ ĠassertThat ( effect . output Height ). isEqualTo ( 1 0 0 ) ĊĠĠĠĠĠĠĠ Ġeffect . setRotation ( Rotation ._ 1 8 0 ) ĊĠĠĠĠĠĠĠ Ġeffect . setOutput Size ( 1 0 0 , Ġ 2 0 0 ) ĊĠĠĠĠĠĠĠ ĠassertThat ( effect . output Width ). isEqualTo ( 1 0 0 ) ĊĠĠĠĠĠĠĠ ĠassertThat ( effect . output Height ). isEqualTo ( 2 0 0 ) ĊĠĠĠĠĠĠĠ Ġeffect . setRotation ( Rotation ._ 2 7 0 ) ĊĠĠĠĠĠĠĠ Ġeffect . setOutput Size ( 1 0 0 , Ġ 2 0 0 ) ĊĠĠĠĠĠĠĠ ĠassertThat ( effect . output Width ). isEqualTo ( 2 0 0 ) ĊĠĠĠĠĠĠĠ ĠassertThat ( effect . output Height ). isEqualTo ( 1 0 0 ) ĊĊĠĠĠĠĠĠĠ Ġeffect . setRotation ( Rotation . UP SIDE _ DOWN ) ĊĠĠĠĠĠĠĠ Ġeffect . setOutput Size ( 1 0 0 , Ġ 2 0 0 ) ĊĠĠĠĠĠĠĠ ĠassertThat ( effect . output Width ). isEqualTo ( 1 0 0 ) ĊĠĠĠĠĠĠĠ ĠassertThat ( effect . output Height ). isEqualTo ( 2 0 0 ) ĊĠĠĠĠĠĠĠ Ġeffect . setRotation ( Rotation . UP SIDE _ DOWN _ 9 0 ) ĊĠĠĠĠĠĠĠ Ġeffect . setOutput Size ( 1 0 0 , Ġ 2 0 0 ) ĊĠĠĠĠĠĠĠ ĠassertThat ( effect . output Width ). isEqualTo ( 2 0 0 ) ĊĠĠĠĠĠĠĠ ĠassertThat ( effect . output Height ). isEqualTo ( 1 0 0 ) ĊĠĠĠĠĠĠĠ Ġeffect . setRotation ( Rotation . UP SIDE _ DOWN _ 1 8 0 ) ĊĠĠĠĠĠĠĠ Ġeffect . setOutput Size ( 1 0 0 , Ġ 2 0 0 ) ĊĠĠĠĠĠĠĠ ĠassertThat ( effect . output Width ). isEqualTo ( 1 0 0 ) ĊĠĠĠĠĠĠĠ ĠassertThat ( effect . output Height ). isEqualTo ( 2 0 0 ) ĊĠĠĠĠĠĠĠ Ġeffect . setRotation ( Rotation . UP SIDE _ DOWN _ 2 7 0 ) ĊĠĠĠĠĠĠĠ Ġeffect . setOutput Size ( 1 0 0 , Ġ 2 0 0 ) ĊĠĠĠĠĠĠĠ ĠassertThat ( effect . output Width ). isEqualTo ( 2 0 0 ) ĊĠĠĠĠĠĠĠ ĠassertThat ( effect . output Height ). isEqualTo ( 1 0 0 ) ĊĠĠĠ Ġ} Ċ }