<s> from __future__ import absolute_import , division , print_function <EOL> from . . layout import Rectangle , snap_to_grid <EOL> class TestSnap ( object ) : <EOL> @ staticmethod <EOL> def check ( input , expected , ** kwargs ) : <EOL> result = snap_to_grid ( input , ** kwargs ) <EOL> for i , e in zip ( input , expected ) : <EOL> assert result [ i ] == e <EOL> def test_2x2 ( self ) : <EOL> rs = [ Rectangle ( - <NUM_LIT> , - <NUM_LIT> , <NUM_LIT> , <NUM_LIT> ) , <EOL> Rectangle ( <NUM_LIT> , - <NUM_LIT> , <NUM_LIT> , <NUM_LIT> ) , <EOL> Rectangle ( <NUM_LIT:0> , <NUM_LIT> , <NUM_LIT> , <NUM_LIT> ) , <EOL> Rectangle ( <NUM_LIT> , <NUM_LIT> , <NUM_LIT> , <NUM_LIT> ) ] <EOL> ex = [ Rectangle ( <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT> , <NUM_LIT> ) , <EOL> Rectangle ( <NUM_LIT> , <NUM_LIT:0> , <NUM_LIT> , <NUM_LIT> ) , <EOL> Rectangle ( <NUM_LIT:0> , <NUM_LIT> , <NUM_LIT> , <NUM_LIT> ) , <EOL> Rectangle ( <NUM_LIT> , <NUM_LIT> , <NUM_LIT> , <NUM_LIT> ) ] <EOL> self . check ( rs , ex ) <EOL> def test_1x2 ( self ) : <EOL> rs = [ Rectangle ( - <NUM_LIT> , - <NUM_LIT> , <NUM_LIT> , <NUM_LIT> ) , <EOL> Rectangle ( <NUM_LIT:0> , <NUM_LIT> , <NUM_LIT> , <NUM_LIT> ) , <EOL> Rectangle ( <NUM_LIT> , <NUM_LIT> , <NUM_LIT> , <NUM_LIT> ) ] <EOL> ex = [ Rectangle ( <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:1> , <NUM_LIT> ) , <EOL> Rectangle ( <NUM_LIT:0> , <NUM_LIT> , <NUM_LIT> , <NUM_LIT> ) , <EOL> Rectangle ( <NUM_LIT> , <NUM_LIT> , <NUM_LIT> , <NUM_LIT> ) ] <EOL> self . check ( rs , ex ) <EOL> def test_1x3 ( self ) : <EOL> rs = [ Rectangle ( - <NUM_LIT> , - <NUM_LIT> , <NUM_LIT> , <NUM_LIT> ) , <EOL> Rectangle ( <NUM_LIT:0.1> , <NUM_LIT> , <NUM_LIT> , <NUM_LIT> ) , <EOL> Rectangle ( <NUM_LIT> , <NUM_LIT> , <NUM_LIT> , <NUM_LIT> ) , <EOL> Rectangle ( <NUM_LIT> , <NUM_LIT> , <NUM_LIT> , <NUM_LIT> ) ] <EOL> ex = [ Rectangle ( <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:1> , <NUM_LIT> ) , <EOL> Rectangle ( <NUM_LIT:0> , <NUM_LIT> , <NUM_LIT:1> / <NUM_LIT> , <NUM_LIT> ) , <EOL> Rectangle ( <NUM_LIT:1> / <NUM_LIT> , <NUM_LIT> , <NUM_LIT:1> / <NUM_LIT> , <NUM_LIT> ) , <EOL> Rectangle ( <NUM_LIT:2> / <NUM_LIT> , <NUM_LIT> , <NUM_LIT:1> / <NUM_LIT> , <NUM_LIT> ) ] <EOL> self . check ( rs , ex ) <EOL> def test_padding_1x2 ( self ) : <EOL> rs = [ Rectangle ( <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:1> , <NUM_LIT> ) , <EOL> Rectangle ( <NUM_LIT:0> , <NUM_LIT> , <NUM_LIT> , <NUM_LIT> ) , <EOL> Rectangle ( <NUM_LIT> , <NUM_LIT> , <NUM_LIT> , <NUM_LIT> ) ] <EOL> ex = [ Rectangle ( <NUM_LIT> , <NUM_LIT> , <NUM_LIT> , <NUM_LIT> ) , <EOL> Rectangle ( <NUM_LIT> , <NUM_LIT> , <NUM_LIT> , <NUM_LIT> ) , <EOL> Rectangle ( <NUM_LIT> , <NUM_LIT> , <NUM_LIT> , <NUM_LIT> ) ] <EOL> self . check ( rs , ex , padding = <NUM_LIT:0.1> ) </s>
