34 lines
		
	
	
		
			780 B
		
	
	
	
		
			Factor
		
	
	
		
			Executable File
		
	
			
		
		
	
	
			34 lines
		
	
	
		
			780 B
		
	
	
	
		
			Factor
		
	
	
		
			Executable File
		
	
| USING: arrays generic kernel math models models.compose
 | |
| namespaces sequences assocs accessors tools.test ;
 | |
| IN: models.tests
 | |
| 
 | |
| TUPLE: model-tester hit? ;
 | |
| 
 | |
| : <model-tester> model-tester new ;
 | |
| 
 | |
| M: model-tester model-changed nip t >>hit? drop ;
 | |
| 
 | |
| [ 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
 | |
| 
 | |
| "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
 |