82 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			Factor
		
	
	
			
		
		
	
	
			82 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			Factor
		
	
	
USING: arrays assocs bootstrap.image.private kernel layouts math
 | 
						|
math.bitwise namespaces sequences tools.test vectors ;
 | 
						|
IN: bootstrap.image.tests
 | 
						|
 | 
						|
{ f } [ { 1 2 3 } [ 1 2 3 ] eql? ] unit-test
 | 
						|
 | 
						|
{ t } [ [ 1 2 3 ] [ 1 2 3 ] eql? ] unit-test
 | 
						|
 | 
						|
{ f } [ [ 2drop 0 ] [ 2drop 0.0 ] eql? ] unit-test
 | 
						|
 | 
						|
{ t } [ [ 2drop 0 ] [ 2drop 0 ] eql? ] unit-test
 | 
						|
 | 
						|
{ f } [ \ + [ 2drop 0 ] eql? ] unit-test
 | 
						|
 | 
						|
{ f } [ 3 [ 0 1 2 ] eql? ] unit-test
 | 
						|
 | 
						|
{ f } [ 3 3.0 eql? ] unit-test
 | 
						|
 | 
						|
{ t } [ 4.0 4.0 eql? ] unit-test
 | 
						|
 | 
						|
: foo ( -- )
 | 
						|
    ;
 | 
						|
 | 
						|
{ foo } [
 | 
						|
    100 0 <array> [
 | 
						|
        bootstrapping-image set \ foo 1 emit-special-object
 | 
						|
    ] keep 11 swap nth
 | 
						|
] unit-test
 | 
						|
 | 
						|
{ 18 } [
 | 
						|
    H{ } [ special-objects set emit-jit-data ] keep assoc-size
 | 
						|
] unit-test
 | 
						|
 | 
						|
{ 95 } [
 | 
						|
    50 <vector> [ bootstrapping-image set emit-image-header ] keep length
 | 
						|
] unit-test
 | 
						|
 | 
						|
! emit-bignum
 | 
						|
{ V{
 | 
						|
    ! 33 bignum
 | 
						|
    32 0 33
 | 
						|
    ! -108 bignum
 | 
						|
    32 1 108
 | 
						|
} } [
 | 
						|
    V{ } bootstrapping-image set
 | 
						|
    33 emit-bignum
 | 
						|
    -108 emit-bignum
 | 
						|
    bootstrapping-image get
 | 
						|
] unit-test
 | 
						|
 | 
						|
! emit-object
 | 
						|
{ -96 } [
 | 
						|
    V{ } clone bootstrapping-image set array [ ] emit-object
 | 
						|
    data-base - 15 unmask bootstrap-cell /
 | 
						|
] unit-test
 | 
						|
 | 
						|
! heap-size 10 header + 85 special objects
 | 
						|
{ -95 } [
 | 
						|
    V{ } clone bootstrapping-image set heap-size
 | 
						|
    bootstrap-cell /
 | 
						|
] unit-test
 | 
						|
 | 
						|
! here
 | 
						|
{ -95 } [
 | 
						|
    V{ } clone bootstrapping-image set here
 | 
						|
    data-base - bootstrap-cell /
 | 
						|
] unit-test
 | 
						|
 | 
						|
! here-as
 | 
						|
{ -96 } [
 | 
						|
    V{ } clone bootstrapping-image set array type-number here-as
 | 
						|
    data-base - 15 unmask bootstrap-cell /
 | 
						|
] unit-test
 | 
						|
 | 
						|
! prepare-object
 | 
						|
{ -96 } [
 | 
						|
    V{ } clone bootstrapping-image set
 | 
						|
    H{ } clone objects set
 | 
						|
    55 >bignum prepare-object
 | 
						|
    data-base - 15 unmask bootstrap-cell /
 | 
						|
] unit-test
 |