35 lines
		
	
	
		
			579 B
		
	
	
	
		
			Haxe
		
	
	
	
	
	
			
		
		
	
	
			35 lines
		
	
	
		
			579 B
		
	
	
	
		
			Haxe
		
	
	
	
	
	
| package auratests.threading;
 | |
| 
 | |
| import aura.threading.Fifo;
 | |
| 
 | |
| import utest.Assert;
 | |
| 
 | |
| class TestFifo extends utest.Test {
 | |
| 	var fifo: Fifo<Int>;
 | |
| 
 | |
| 	function setup() {
 | |
| 		fifo = new Fifo();
 | |
| 	}
 | |
| 
 | |
| 	function test_popFromEmptyFifoReturnsNull() {
 | |
| 		Assert.isNull(fifo.tryPop());
 | |
| 	}
 | |
| 
 | |
| 	function test_fifoIsEmptyAfterPoppingLastItem() {
 | |
| 		fifo.add(0);
 | |
| 		fifo.add(1);
 | |
| 
 | |
| 		fifo.tryPop();
 | |
| 		fifo.tryPop();
 | |
| 		Assert.isNull(fifo.tryPop());
 | |
| 	}
 | |
| 
 | |
| 	function test_ItemsArePoppedInOrderTheyAreAdded() {
 | |
| 		fifo.add(0);
 | |
| 		fifo.add(1);
 | |
| 
 | |
| 		Assert.equals(0, fifo.tryPop());
 | |
| 		Assert.equals(1, fifo.tryPop());
 | |
| 	}
 | |
| }
 |