<s> from random import randint <EOL> __all__ = [ '<STR_LIT>' , '<STR_LIT>' ] <EOL> import unittest <EOL> from iktomi . unstable . utils . image_resizers import ResizeFit , ResizeCrop , ResizeMixed , ResizeFixedHeight , ResizeFixedWidth <EOL> try : <EOL> from PIL import Image <EOL> except ImportError : <EOL> import Image <EOL> def img ( width , height ) : <EOL> image = Image . new ( '<STR_LIT>' , ( width , height ) , ( randint ( <NUM_LIT:1> , <NUM_LIT> ) , <EOL> randint ( <NUM_LIT:1> , <NUM_LIT> ) , <EOL> randint ( <NUM_LIT:1> , <NUM_LIT> ) , <NUM_LIT:1> ) ) <EOL> return image <EOL> class ResizersTests ( unittest . TestCase ) : <EOL> def checkResize ( self , resizer , size , target , result ) : <EOL> self . assertEqual ( resizer ( img ( * size ) , target ) . size , result ) <EOL> self . assertEqual ( resizer . get_target_size ( size , target ) , result ) <EOL> def test_resize_fit ( self ) : <EOL> check = self . checkResize <EOL> check ( ResizeFit ( ) , ( <NUM_LIT:50> , <NUM_LIT:50> ) , ( <NUM_LIT:5> , <NUM_LIT:5> ) , ( <NUM_LIT:5> , <NUM_LIT:5> ) ) <EOL> check ( ResizeFit ( ) , ( <NUM_LIT:50> , <NUM_LIT:30> ) , ( <NUM_LIT:5> , <NUM_LIT:5> ) , ( <NUM_LIT:5> , <NUM_LIT:3> ) ) <EOL> check ( ResizeFit ( ) , ( <NUM_LIT:30> , <NUM_LIT:50> ) , ( <NUM_LIT:5> , <NUM_LIT:5> ) , ( <NUM_LIT:3> , <NUM_LIT:5> ) ) <EOL> check ( ResizeFit ( ) , ( <NUM_LIT:3> , <NUM_LIT:5> ) , ( <NUM_LIT:50> , <NUM_LIT:50> ) , ( <NUM_LIT:3> , <NUM_LIT:5> ) ) <EOL> check ( ResizeFit ( expand = True ) , ( <NUM_LIT:3> , <NUM_LIT:5> ) , ( <NUM_LIT:50> , <NUM_LIT:50> ) , ( <NUM_LIT:30> , <NUM_LIT:50> ) ) <EOL> def test_resize_crop ( self ) : <EOL> check = self . checkResize <EOL> check ( ResizeCrop ( ) , ( <NUM_LIT:50> , <NUM_LIT:50> ) , ( <NUM_LIT:5> , <NUM_LIT:5> ) , ( <NUM_LIT:5> , <NUM_LIT:5> ) ) <EOL> check ( ResizeCrop ( ) , ( <NUM_LIT:50> , <NUM_LIT:30> ) , ( <NUM_LIT:5> , <NUM_LIT:4> ) , ( <NUM_LIT:5> , <NUM_LIT:4> ) ) <EOL> check ( ResizeCrop ( ) , ( <NUM_LIT:30> , <NUM_LIT:50> ) , ( <NUM_LIT:5> , <NUM_LIT:4> ) , ( <NUM_LIT:5> , <NUM_LIT:4> ) ) <EOL> check ( ResizeCrop ( ) , ( <NUM_LIT:30> , <NUM_LIT:50> ) , ( <NUM_LIT> , <NUM_LIT> ) , ( <NUM_LIT:30> , <NUM_LIT> ) ) <EOL> check ( ResizeCrop ( ) , ( <NUM_LIT:3> , <NUM_LIT:5> ) , ( <NUM_LIT:50> , <NUM_LIT:50> ) , ( <NUM_LIT:3> , <NUM_LIT:5> ) ) <EOL> check ( ResizeCrop ( expand = True ) , ( <NUM_LIT:3> , <NUM_LIT:5> ) , ( <NUM_LIT:50> , <NUM_LIT:50> ) , ( <NUM_LIT:50> , <NUM_LIT:50> ) ) <EOL> def test_resize_crop_force ( self ) : <EOL> check = self . checkResize <EOL> check ( ResizeCrop ( force = True ) , ( <NUM_LIT:50> , <NUM_LIT:50> ) , ( <NUM_LIT:5> , <NUM_LIT:5> ) , ( <NUM_LIT:5> , <NUM_LIT:5> ) ) <EOL> check ( ResizeCrop ( force = True ) , ( <NUM_LIT:50> , <NUM_LIT:30> ) , ( <NUM_LIT:5> , <NUM_LIT:4> ) , ( <NUM_LIT:5> , <NUM_LIT:4> ) ) <EOL> check ( ResizeCrop ( force = True ) , ( <NUM_LIT:30> , <NUM_LIT:50> ) , ( <NUM_LIT:5> , <NUM_LIT:4> ) , ( <NUM_LIT:5> , <NUM_LIT:4> ) ) <EOL> check ( ResizeCrop ( force = True ) , ( <NUM_LIT:30> , <NUM_LIT:50> ) , ( <NUM_LIT> , <NUM_LIT> ) , ( <NUM_LIT:30> , <NUM_LIT:30> ) ) <EOL> check ( ResizeCrop ( force = True ) , ( <NUM_LIT:3> , <NUM_LIT:5> ) , ( <NUM_LIT:50> , <NUM_LIT:50> ) , ( <NUM_LIT:3> , <NUM_LIT:3> ) ) <EOL> check ( ResizeCrop ( force = True ) , ( <NUM_LIT:5> , <NUM_LIT:3> ) , ( <NUM_LIT:50> , <NUM_LIT:50> ) , ( <NUM_LIT:3> , <NUM_LIT:3> ) ) <EOL> self . assertRaises ( AssertionError , ResizeCropforce = True , expand = True ) <EOL> def test_resize_mixed ( self ) : <EOL> check = self . checkResize <EOL> resize = ResizeMixed ( ResizeFit ( ) , ResizeCrop ( ) ) <EOL> check ( resize , ( <NUM_LIT:50> , <NUM_LIT:30> ) , ( <NUM_LIT:5> , <NUM_LIT:4> ) , ( <NUM_LIT:5> , <NUM_LIT:3> ) ) <EOL> check ( resize , ( <NUM_LIT:30> , <NUM_LIT:50> ) , ( <NUM_LIT:4> , <NUM_LIT:5> ) , ( <NUM_LIT:4> , <NUM_LIT:5> ) ) <EOL> resize = ResizeMixed ( ResizeFit ( ) , ResizeCrop ( ) , rate = <NUM_LIT:2> ) <EOL> check ( resize , ( <NUM_LIT:50> , <NUM_LIT:30> ) , ( <NUM_LIT:5> , <NUM_LIT:4> ) , ( <NUM_LIT:5> , <NUM_LIT:4> ) ) <EOL> check ( resize , ( <NUM_LIT:50> , <NUM_LIT:20> ) , ( <NUM_LIT:5> , <NUM_LIT:4> ) , ( <NUM_LIT:5> , <NUM_LIT:2> ) ) <EOL> def test_resize_fixed_width ( self ) : <EOL> check = self . checkResize <EOL> RFW = ResizeFixedWidth <EOL> check ( RFW ( ) , ( <NUM_LIT:50> , <NUM_LIT:50> ) , ( <NUM_LIT:5> , <NUM_LIT:5> ) , ( <NUM_LIT:5> , <NUM_LIT:5> ) ) <EOL> check ( RFW ( ) , ( <NUM_LIT:50> , <NUM_LIT:30> ) , ( <NUM_LIT:5> , <NUM_LIT:5> ) , ( <NUM_LIT:5> , <NUM_LIT:3> ) ) <EOL> check ( RFW ( ) , ( <NUM_LIT:10> , <NUM_LIT:20> ) , ( <NUM_LIT:5> , <NUM_LIT:5> ) , ( <NUM_LIT:5> , <NUM_LIT:10> ) ) <EOL> check ( RFW ( ) , ( <NUM_LIT:5> , <NUM_LIT:10> ) , ( <NUM_LIT:50> , <NUM_LIT:50> ) , ( <NUM_LIT:5> , <NUM_LIT:10> ) ) <EOL> check ( RFW ( expand = True ) , ( <NUM_LIT:5> , <NUM_LIT:10> ) , ( <NUM_LIT:50> , <NUM_LIT:50> ) , ( <NUM_LIT:50> , <NUM_LIT:100> ) ) <EOL> def test_resize_fixed_height ( self ) : <EOL> check = self . checkResize <EOL> RFH = ResizeFixedHeight <EOL> check ( RFH ( ) , ( <NUM_LIT:50> , <NUM_LIT:50> ) , ( <NUM_LIT:5> , <NUM_LIT:5> ) , ( <NUM_LIT:5> , <NUM_LIT:5> ) ) <EOL> check ( RFH ( ) , ( <NUM_LIT:30> , <NUM_LIT:50> ) , ( <NUM_LIT:5> , <NUM_LIT:5> ) , ( <NUM_LIT:3> , <NUM_LIT:5> ) ) <EOL> check ( RFH ( ) , ( <NUM_LIT:20> , <NUM_LIT:10> ) , ( <NUM_LIT:5> , <NUM_LIT:5> ) , ( <NUM_LIT:10> , <NUM_LIT:5> ) ) <EOL> check ( RFH ( ) , ( <NUM_LIT:10> , <NUM_LIT:5> ) , ( <NUM_LIT:50> , <NUM_LIT:50> ) , ( <NUM_LIT:10> , <NUM_LIT:5> ) ) <EOL> check ( RFH ( expand = True ) , ( <NUM_LIT:10> , <NUM_LIT:5> ) , ( <NUM_LIT:50> , <NUM_LIT:50> ) , ( <NUM_LIT:100> , <NUM_LIT:50> ) ) </s>
