factor/basis/ui/gadgets/grids/grids-tests.factor

105 lines
2.2 KiB
Factor

USING: ui.gadgets ui.gadgets.grids tools.test kernel arrays
namespaces math.rectangles accessors ui.gadgets.grids.private
ui.gadgets.debug sequences classes ;
IN: ui.gadgets.grids.tests
{ { 0 0 } } [ { } <grid> pref-dim ] unit-test
: 100x100 ( -- gadget ) <gadget> { 100 100 } >>dim ;
: 200x200 ( -- gadget ) <gadget> { 200 200 } >>dim ;
{ { 100 100 } } [
100x100
1array 1array <grid> pref-dim
] unit-test
{ { 100 100 } } [
100x100
1array 1array <grid> pref-dim
] unit-test
{ { 200 100 } } [
100x100
100x100
2array 1array <grid> pref-dim
] unit-test
{ { 100 200 } } [
100x100
100x100
[ 1array ] bi@ 2array <grid> pref-dim
] unit-test
{ } [
100x100
100x100
[ 1array ] bi@ 2array <grid> layout
] unit-test
{ { 230 120 } { 100 100 } { 100 100 } } [
100x100 dup "a" set
100x100 dup "b" set
2array 1array <grid>
{ 10 10 } >>gap
dup prefer
dup layout
dim>>
"a" get dim>>
"b" get dim>>
] unit-test
{ } [
100x100 dup "a" set
100x100 dup "b" set
100x100 dup "c" set
[ 1array ] tri@ 3array
<grid>
{ 10 10 } >>gap "g" set
] unit-test
{ } [ "g" get prefer ] unit-test
{ } [ "g" get layout ] unit-test
{ { 10 10 } } [ "a" get loc>> ] unit-test
{ { 100 100 } } [ "a" get dim>> ] unit-test
{ { 10 120 } } [ "b" get loc>> ] unit-test
{ { 100 100 } } [ "b" get dim>> ] unit-test
{ { 10 230 } } [ "c" get loc>> ] unit-test
{ { 100 100 } } [ "c" get dim>> ] unit-test
5 10 { 10 10 } <baseline-gadget>
10 10 { 10 10 } <baseline-gadget> 2array
1array <grid> f >>fill?
"g" set
{ } [ "g" get prefer ] unit-test
{ { 20 15 } } [ "g" get dim>> ] unit-test
{ V{ { 0 5 } { 10 0 } } } [
"g" get
dup layout
children>> [ loc>> ] map
] unit-test
! children-on logic was insufficient
{ } [
100x100 dup "a" set 200x200 2array
100x100 dup "b" set 200x200 2array 2array <grid> f >>fill? "g" set
] unit-test
{ } [ "g" get prefer ] unit-test
{ } [ "g" get layout ] unit-test
{ { 0 50 } } [ "a" get loc>> ] unit-test
{ { 0 250 } } [ "b" get loc>> ] unit-test
{ gadget { 200 200 } }
[ { 120 20 } "g" get pick-up [ class-of ] [ dim>> ] bi ] unit-test
{ gadget { 200 200 } }
[ { 120 220 } "g" get pick-up [ class-of ] [ dim>> ] bi ] unit-test