USING: arrays generic kernel math models models.compose namespaces sequences assocs accessors tools.test ; IN: models.tests TUPLE: model-tester hit? ; : model-tester new ; M: model-tester model-changed nip t >>hit? drop ; [ T{ model-tester f t } ] [ T{ model-tester f f } 3 2dup add-connection 5 swap set-model ] unit-test 3 "model-a" set 4 "model-b" set "model-a" get "model-b" get 2array "model-c" set "model-c" get activate-model [ { 3 4 } ] [ "model-c" get value>> ] unit-test "model-c" get deactivate-model T{ model-tester f f } "tester" set [ 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 value>> ] unit-test