forked from LeenkxTeam/LNXSDK
		
	
		
			
	
	
		
			38 lines
		
	
	
		
			906 B
		
	
	
	
		
			Haxe
		
	
	
	
	
	
		
		
			
		
	
	
			38 lines
		
	
	
		
			906 B
		
	
	
	
		
			Haxe
		
	
	
	
	
	
|  | package tests; | ||
|  | 
 | ||
|  | class Base | ||
|  | { | ||
|  |    public function new() {} | ||
|  | 
 | ||
|  |    @:nonVirtual public function getNvName() return "Base"; | ||
|  |    public function getName() return "Base"; | ||
|  | } | ||
|  | 
 | ||
|  | 
 | ||
|  | class Derived extends Base | ||
|  | { | ||
|  |    @:nonVirtual override public function getNvName() return "Derived"; | ||
|  |    override public function getName() return "Derived"; | ||
|  | } | ||
|  | 
 | ||
|  | 
 | ||
|  | class TestNonVirtual extends haxe.unit.TestCase | ||
|  | { | ||
|  |    public function testOverride() | ||
|  |    { | ||
|  |       var derived = new Derived(); | ||
|  | 
 | ||
|  |       assertTrue( derived.getName() == "Derived" ); | ||
|  |       assertTrue( derived.getNvName() == "Derived" ); | ||
|  |       var closure:Dynamic = derived.getNvName; | ||
|  |       assertTrue( closure() == "Derived" ); | ||
|  | 
 | ||
|  |       var base:Base = derived; | ||
|  | 
 | ||
|  |       assertTrue( base.getName() == "Derived" ); | ||
|  |       assertTrue( base.getNvName() == "Base" ); | ||
|  |       var closure:Dynamic = base.getNvName; | ||
|  |       assertTrue( closure() == "Base" ); | ||
|  |    } | ||
|  | } |