forked from LeenkxTeam/LNXSDK
		
	
		
			
				
	
	
		
			96 lines
		
	
	
		
			3.1 KiB
		
	
	
	
		
			Haxe
		
	
	
	
	
	
			
		
		
	
	
			96 lines
		
	
	
		
			3.1 KiB
		
	
	
	
		
			Haxe
		
	
	
	
	
	
| package auratests.channels;
 | |
| 
 | |
| import utest.Assert;
 | |
| 
 | |
| import aura.Aura;
 | |
| import aura.channels.MixChannel;
 | |
| import aura.channels.UncompBufferResamplingChannel;
 | |
| 
 | |
| class TestBaseChannelHandle extends utest.Test {
 | |
| 	var handle: BaseChannelHandle;
 | |
| 	var channel: UncompBufferResamplingChannel;
 | |
| 	var data = new kha.arrays.Float32Array(8);
 | |
| 
 | |
| 	function setup() {
 | |
| 		channel = new UncompBufferResamplingChannel(data, false, 44100);
 | |
| 		handle = new BaseChannelHandle(channel);
 | |
| 	}
 | |
| 
 | |
| 	function teardown() {}
 | |
| 
 | |
| 	function test_setMixChannelAddsInputIfNotYetExisting() {
 | |
| 		final handle1 = new MixChannelHandle(new MixChannel());
 | |
| 		final handle2 = new MixChannelHandle(new MixChannel());
 | |
| 
 | |
| 		Assert.equals(0, handle2.getNumInputs());
 | |
| 		Assert.isTrue(handle1.setMixChannel(handle2));
 | |
| 		Assert.equals(1, handle2.getNumInputs());
 | |
| 	}
 | |
| 
 | |
| 	function test_setMixChannelDoesntAddAlreadyExistingInput() {
 | |
| 		final handle1 = new MixChannelHandle(new MixChannel());
 | |
| 		final handle2 = new MixChannelHandle(new MixChannel());
 | |
| 
 | |
| 		Assert.isTrue(handle1.setMixChannel(handle2));
 | |
| 		Assert.equals(1, handle2.getNumInputs());
 | |
| 		Assert.isTrue(handle1.setMixChannel(handle2));
 | |
| 		Assert.equals(1, handle2.getNumInputs());
 | |
| 	}
 | |
| 
 | |
| 	function test_setMixChannelNullRemovesInputIfExisting() {
 | |
| 		final handle1 = new MixChannelHandle(new MixChannel());
 | |
| 		final handle2 = new MixChannelHandle(new MixChannel());
 | |
| 
 | |
| 		Assert.equals(0, handle2.getNumInputs());
 | |
| 		Assert.isTrue(handle1.setMixChannel(null));
 | |
| 		Assert.equals(0, handle2.getNumInputs());
 | |
| 
 | |
| 		Assert.isTrue(handle1.setMixChannel(handle2));
 | |
| 		Assert.equals(1, handle2.getNumInputs());
 | |
| 
 | |
| 		Assert.isTrue(handle1.setMixChannel(null));
 | |
| 		Assert.equals(0, handle2.getNumInputs());
 | |
| 	}
 | |
| 
 | |
| 	function test_setMixChannelSwitchingMixChannelCorrectlyChangesInputs() {
 | |
| 		final handle1 = new MixChannelHandle(new MixChannel());
 | |
| 		final handle2 = new MixChannelHandle(new MixChannel());
 | |
| 		final handle3 = new MixChannelHandle(new MixChannel());
 | |
| 
 | |
| 		Assert.equals(0, handle2.getNumInputs());
 | |
| 		Assert.equals(0, handle3.getNumInputs());
 | |
| 		Assert.isTrue(handle1.setMixChannel(handle2));
 | |
| 		Assert.equals(1, handle2.getNumInputs());
 | |
| 		Assert.equals(0, handle3.getNumInputs());
 | |
| 
 | |
| 		Assert.isTrue(handle1.setMixChannel(handle3));
 | |
| 		Assert.equals(0, handle2.getNumInputs());
 | |
| 		Assert.equals(1, handle3.getNumInputs());
 | |
| 	}
 | |
| 
 | |
| 	function test_setMixChannelSelfReferenceReturnsFalseAndRemovesInput() {
 | |
| 		final handle1 = new MixChannelHandle(new MixChannel());
 | |
| 		final handle2 = new MixChannelHandle(new MixChannel());
 | |
| 
 | |
| 		Assert.isTrue(handle1.setMixChannel(handle2));
 | |
| 		Assert.equals(1, handle2.getNumInputs());
 | |
| 
 | |
| 		Assert.isFalse(handle1.setMixChannel(handle1));
 | |
| 		Assert.equals(0, handle2.getNumInputs());
 | |
| 	}
 | |
| 
 | |
| 	function test_setMixChannelCircularDependencyReturnsFalseAndRemovesInput() {
 | |
| 		final handle1 = new MixChannelHandle(new MixChannel());
 | |
| 		final handle2 = new MixChannelHandle(new MixChannel());
 | |
| 		final handle3 = new MixChannelHandle(new MixChannel());
 | |
| 		final handle4 = new MixChannelHandle(new MixChannel());
 | |
| 
 | |
| 		Assert.isTrue(handle3.setMixChannel(handle4));
 | |
| 
 | |
| 		Assert.isTrue(handle1.setMixChannel(handle2));
 | |
| 		Assert.isTrue(handle2.setMixChannel(handle3));
 | |
| 		Assert.isFalse(handle3.setMixChannel(handle1));
 | |
| 		Assert.equals(0, handle4.getNumInputs());
 | |
| 	}
 | |
| }
 |