60 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			Factor
		
	
	
			
		
		
	
	
			60 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			Factor
		
	
	
USING: math kernel sequences io.files io.pathnames
 | 
						|
tools.crossref tools.crossref.private tools.test parser
 | 
						|
namespaces source-files generic definitions words accessors
 | 
						|
compiler.units classes ;
 | 
						|
IN: tools.crossref.tests
 | 
						|
 | 
						|
GENERIC: predicate-test ( a -- b )
 | 
						|
 | 
						|
M: class predicate-test ;
 | 
						|
 | 
						|
M: generic predicate-test ;
 | 
						|
 | 
						|
[ f ] [ \ + irrelevant? ] unit-test
 | 
						|
[ t ] [ \ predicate-test "engines" word-prop first irrelevant? ] unit-test
 | 
						|
 | 
						|
GENERIC: foo ( a b -- c )
 | 
						|
 | 
						|
M: integer foo + ;
 | 
						|
 | 
						|
"vocab:tools/crossref/test/foo.factor" run-file
 | 
						|
 | 
						|
[ t ] [ integer \ foo lookup-method \ + usage member? ] unit-test
 | 
						|
[ t ] [ \ foo usage [ pathname? ] any? ] unit-test
 | 
						|
 | 
						|
! Issues with forget
 | 
						|
GENERIC: generic-forget-test-1 ( a b -- c )
 | 
						|
 | 
						|
M: integer generic-forget-test-1 / ;
 | 
						|
 | 
						|
[ t ] [
 | 
						|
    \ / usage [ word? ] filter
 | 
						|
    [ name>> "integer=>generic-forget-test-1" = ] any?
 | 
						|
] unit-test
 | 
						|
 | 
						|
[ ] [
 | 
						|
    [ \ generic-forget-test-1 forget ] with-compilation-unit
 | 
						|
] unit-test
 | 
						|
 | 
						|
[ f ] [
 | 
						|
    \ / usage [ word? ] filter
 | 
						|
    [ name>> "integer=>generic-forget-test-1" = ] any?
 | 
						|
] unit-test
 | 
						|
 | 
						|
GENERIC: generic-forget-test-2 ( a b -- c )
 | 
						|
 | 
						|
M: sequence generic-forget-test-2 = ;
 | 
						|
 | 
						|
[ t ] [
 | 
						|
    \ = usage [ word? ] filter
 | 
						|
    [ name>> "sequence=>generic-forget-test-2" = ] any?
 | 
						|
] unit-test
 | 
						|
 | 
						|
[ ] [
 | 
						|
    [ M\ sequence generic-forget-test-2 forget ] with-compilation-unit
 | 
						|
] unit-test
 | 
						|
 | 
						|
[ f ] [
 | 
						|
    \ = usage [ word? ] filter
 | 
						|
    [ name>> "sequence=>generic-forget-test-2" = ] any?
 | 
						|
] unit-test |