factor/library/ui/test/models.factor

77 lines
1.9 KiB
Factor
Raw Normal View History

2006-07-01 16:07:10 -04:00
IN: temporary
2006-07-05 18:11:44 -04:00
USING: arrays generic kernel math models namespaces sequences
test ;
2006-07-01 16:07:10 -04:00
TUPLE: model-tester hit? ;
C: model-tester ;
M: model-tester model-changed t swap set-model-tester-hit? ;
[ T{ model-tester f t } ]
[
T{ model-tester f f } 3 <model> 2dup add-connection
5 swap set-model
] unit-test
3 <model> "model-a" set
4 <model> "model-b" set
"model-a" get "model-b" get 2array <compose> "model-c" set
[ { 3 4 } ] [ "model-c" get model-value ] unit-test
2006-07-01 16:08:44 -04:00
T{ model-tester f f } "tester" set
2006-07-01 16:07:10 -04:00
[ T{ model-tester f t } { 6 4 } ]
[
"tester" get "model-c" get add-connection
6 "model-a" get set-model
"tester" get
"model-c" get model-value
] unit-test
2006-07-19 20:32:51 -04:00
f <history> "history" set
2006-07-01 16:07:10 -04:00
"history" get add-history
[ t ] [ "history" get history-back empty? ] unit-test
[ t ] [ "history" get history-forward empty? ] unit-test
"history" get add-history
3 "history" get set-model
[ t ] [ "history" get history-back empty? ] unit-test
[ t ] [ "history" get history-forward empty? ] unit-test
"history" get add-history
4 "history" get set-model
[ f ] [ "history" get history-back empty? ] unit-test
[ t ] [ "history" get history-forward empty? ] unit-test
"history" get go-back
[ 3 ] [ "history" get model-value ] unit-test
[ t ] [ "history" get history-back empty? ] unit-test
[ f ] [ "history" get history-forward empty? ] unit-test
"history" get go-forward
[ 4 ] [ "history" get model-value ] unit-test
[ f ] [ "history" get history-back empty? ] unit-test
[ t ] [ "history" get history-forward empty? ] unit-test
2006-07-05 18:11:44 -04:00
! Test multiple filters
3 <model> "x" set
"x" get [ 2 * ] <filter> dup "z" set
[ 1+ ] <filter> "y" set
[ ] [ "y" get activate-model ] unit-test
[ t ] [ "z" get "x" get model-connections memq? ] unit-test
[ 7 ] [ "y" get model-value ] unit-test
[ ] [ 4 "x" get set-model ] unit-test
[ 9 ] [ "y" get model-value ] unit-test
[ ] [ "y" get deactivate-model ] unit-test
[ f ] [ "z" get "x" get model-connections memq? ] unit-test