|
| 1 | +package com.jme3.audio; |
| 2 | + |
| 3 | +import com.jme3.asset.AssetManager; |
| 4 | +import com.jme3.math.Vector3f; |
| 5 | +import com.jme3.system.JmeSystem; |
| 6 | +import org.junit.Assert; |
| 7 | +import org.junit.Test; |
| 8 | + |
| 9 | +/** |
| 10 | + * Automated tests for the {@code AudioNode} class. |
| 11 | + * |
| 12 | + * @author capdevon |
| 13 | + */ |
| 14 | +public class AudioNodeTest { |
| 15 | + |
| 16 | + @Test |
| 17 | + public void testAudioNodeClone() { |
| 18 | + AssetManager assetManager = JmeSystem.newAssetManager(AudioNodeTest.class.getResource("/com/jme3/asset/Desktop.cfg")); |
| 19 | + |
| 20 | + AudioNode audio = new AudioNode(assetManager, |
| 21 | + "Sound/Effects/Bang.wav", AudioData.DataType.Buffer); |
| 22 | + audio.setPositional(true); |
| 23 | + audio.setLocalTranslation(new Vector3f(0, 1,0)); |
| 24 | + audio.setMaxDistance(100); |
| 25 | + audio.setRefDistance(5); |
| 26 | + audio.setDirectional(true); |
| 27 | + audio.setDirection(new Vector3f(0, 1, 0)); |
| 28 | + audio.setVelocity(new Vector3f(1, 1, 1)); |
| 29 | + audio.setDryFilter(new LowPassFilter(1f, .1f)); |
| 30 | + audio.setReverbFilter(new LowPassFilter(.5f, .5f)); |
| 31 | + |
| 32 | + AudioNode clone = audio.clone(); |
| 33 | + Assert.assertEquals(audio.getLocalTranslation(), clone.getLocalTranslation()); |
| 34 | + |
| 35 | + Assert.assertNotSame(audio.getDirection(), clone.getDirection()); |
| 36 | + Assert.assertEquals(audio.getDirection(), clone.getDirection()); |
| 37 | + |
| 38 | + Assert.assertNotSame(audio.getVelocity(), clone.getVelocity()); |
| 39 | + Assert.assertEquals(audio.getVelocity(), clone.getVelocity()); |
| 40 | + |
| 41 | + assertEquals((LowPassFilter) audio.getDryFilter(), (LowPassFilter) clone.getDryFilter()); |
| 42 | + assertEquals((LowPassFilter) audio.getReverbFilter(), (LowPassFilter) clone.getReverbFilter()); |
| 43 | + } |
| 44 | + |
| 45 | + private void assertEquals(LowPassFilter filter, LowPassFilter clone) { |
| 46 | + Assert.assertEquals(filter.getVolume(), clone.getVolume(), 0.001f); |
| 47 | + Assert.assertEquals(filter.getHighFreqVolume(), clone.getHighFreqVolume(), 0.001f); |
| 48 | + } |
| 49 | + |
| 50 | +} |
0 commit comments