forked from LeenkxTeam/LNXSDK
		
	
		
			
				
	
	
		
			67 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Haxe
		
	
	
	
	
	
			
		
		
	
	
			67 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Haxe
		
	
	
	
	
	
| class TestIntHash extends haxe.unit.TestCase
 | |
| {
 | |
|    function spamAlot()
 | |
|    {
 | |
|       var values = new Array< Null<Int> >();
 | |
|       values[0] = null;
 | |
|       var h = new Map<Int,Int>();
 | |
| 
 | |
|       for(i in 0...2000)
 | |
|       {
 | |
|          for(j in 0...2000)
 | |
|          {
 | |
|             var idx = Std.int(Math.random()*2999);
 | |
|             if (h.get(idx)!=values[idx])
 | |
|                throw "Bad value";
 | |
|             if ( (i % 4)== 1 || Math.random()>0.5 )
 | |
|             {
 | |
|                if (h.remove(idx) != (values[idx]!=null))
 | |
|                   throw "Error in remove!";
 | |
|                values[idx] = null;
 | |
|             }
 | |
|             else
 | |
|             {
 | |
|                h.set(idx,j);
 | |
|                values[idx] = j;
 | |
|             }
 | |
|          }
 | |
|          var keys = h.keys();
 | |
|          var keyed = new Array<Bool>();
 | |
|          for(i in 0...values.length)
 | |
|             keyed[i] = false;
 | |
|          for( key in h.keys())
 | |
|             keyed[ key ] = true;
 | |
|          for(i in 0...values.length)
 | |
|             if (keyed[i]!=(values[i]!=null))
 | |
|               throw "Bad value";
 | |
| 
 | |
|          var valued = new Array<Int>();
 | |
|          for( val in h.iterator())
 | |
|             valued[val]++;
 | |
| 
 | |
|          for(val in values)
 | |
|             if (val!=null)
 | |
|             {
 | |
|                if (valued[val]<1)
 | |
|                   throw "Not valued!";
 | |
|                valued[val]--;
 | |
|             }
 | |
|       }
 | |
|    }
 | |
| 
 | |
|    public function test()
 | |
|    {
 | |
|       var err = "";
 | |
|       try
 | |
|       {
 | |
|          spamAlot();
 | |
|       }
 | |
|       catch(e:String)
 | |
|       {
 | |
|          err = e;
 | |
|       }
 | |
|       assertTrue(err=="");
 | |
|    }
 | |
| 
 | |
| }
 |