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" );
 | 
						|
   }
 | 
						|
}
 |