forked from LeenkxTeam/LNXSDK
		
	
		
			
	
	
		
			54 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Haxe
		
	
	
	
	
	
		
		
			
		
	
	
			54 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Haxe
		
	
	
	
	
	
|  | package tests; | ||
|  | import externs.RGB; | ||
|  | 
 | ||
|  | class TestRgb extends haxe.unit.TestCase | ||
|  | { | ||
|  |    public function testCreate() | ||
|  |    { | ||
|  |       // Pointer-like sysntax | ||
|  |       var rgbPtr = RGB.create(255,0,128); | ||
|  |       assertTrue( rgbPtr.ptr.toInt() == 0xff0080 ); | ||
|  |       rgbPtr.ptr.deleteMe(); | ||
|  | 
 | ||
|  | 
 | ||
|  |       // Structure-like syntax | ||
|  |       var rgbStruct:RGBStruct = null; | ||
|  |       rgbStruct.r = 1; | ||
|  |       rgbStruct = null; | ||
|  |       rgbStruct.r = 1; | ||
|  |       rgbStruct.g = 2; | ||
|  |       rgbStruct.b = 3; | ||
|  |       assertTrue( rgbStruct.toInt() == 0x010203 ); | ||
|  |       // Store in dynamic | ||
|  |       var d:Dynamic = rgbStruct; | ||
|  |        | ||
|  |       // Reference (pointer) like syntax | ||
|  |       var rgbRef:RGBRef = rgbStruct; | ||
|  |       rgbRef.g = 255; | ||
|  |       assertTrue( rgbStruct.toInt() == 0x01ff03 ); | ||
|  | 
 | ||
|  |       // Get from dynamic | ||
|  |       rgbStruct = d; | ||
|  |       assertTrue( rgbStruct.toInt() == 0x010203 ); | ||
|  | 
 | ||
|  |       var rgbStruct2:RGBStruct = cast rgbRef; | ||
|  |       assertTrue( rgbStruct2.toInt() == 0x010203 ); | ||
|  | 
 | ||
|  |       // Reference refers to rgbStruct, not rgbStruct2 | ||
|  |       rgbRef.b = 0; | ||
|  |       assertTrue( rgbStruct2.toInt() == 0x010203 ); | ||
|  |       assertTrue( rgbStruct.toInt() == 0x010200 ); | ||
|  | 
 | ||
|  |        | ||
|  |       // TODO - non-dynamic versions | ||
|  |       var d2:Dynamic = rgbStruct2; | ||
|  |       // == dynamic | ||
|  |       assertTrue( d2==d ); | ||
|  |       // != dynamic | ||
|  |       var d0:Dynamic = rgbStruct; | ||
|  |       assertTrue( d0!=d ); | ||
|  | 
 | ||
|  |    } | ||
|  | } | ||
|  | 
 |