diff options
author | Sven Gothel <[email protected]> | 2023-05-04 17:25:25 +0200 |
---|---|---|
committer | Sven Gothel <[email protected]> | 2023-05-04 17:25:25 +0200 |
commit | b83ed843310f74655493ceefb2ee0e5420d1fe28 (patch) | |
tree | f1479ff6e5c5105e23a263d6ce615bb47ed25e50 /src/test | |
parent | e481757000902582e80353f9b76f77793950d47a (diff) |
Add ALVersion, i.e. retrieve vendor, renderer, version and vendor-version. Test against OpenAL-Soft data >= 1.23.0
Diffstat (limited to 'src/test')
-rw-r--r-- | src/test/com/jogamp/openal/test/junit/ALVersionTest.java | 76 | ||||
-rw-r--r-- | src/test/com/jogamp/openal/test/manual/OpenALTest.java | 9 |
2 files changed, 82 insertions, 3 deletions
diff --git a/src/test/com/jogamp/openal/test/junit/ALVersionTest.java b/src/test/com/jogamp/openal/test/junit/ALVersionTest.java new file mode 100644 index 0000000..cb24e95 --- /dev/null +++ b/src/test/com/jogamp/openal/test/junit/ALVersionTest.java @@ -0,0 +1,76 @@ +/** + * Copyright 2013-2023 JogAmp Community. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY JogAmp Community ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL JogAmp Community OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of JogAmp Community. + */ +package com.jogamp.openal.test.junit; + +import java.io.IOException; + +import org.junit.FixMethodOrder; +import org.junit.Test; +import org.junit.Assert; +import org.junit.runners.MethodSorters; + +import com.jogamp.common.util.VersionNumber; +import com.jogamp.openal.ALFactory; +import com.jogamp.openal.ALVersion; +import com.jogamp.openal.JoalVersion; +import com.jogamp.openal.test.util.UITestCase; + +/** + * Testing the OpenAL version, + * comparing against expected OpenAL-Soft version >= 1.1.0 and vendor-version >= 1.23.0, + * as well as the OpenAL-Soft vendor and renderer strings. + */ +@FixMethodOrder(MethodSorters.NAME_ASCENDING) +public class ALVersionTest extends UITestCase { + static private final String OpenALVendor = "OpenAL Community"; + static private final String OpenALRenderer = "OpenAL Soft"; + static private final VersionNumber ALVersion11 = new VersionNumber(1, 1, 0); + static private final VersionNumber OpenALVersion1230 = new VersionNumber(1, 23, 0); + + @Test + public void test01ALVersion() { + final ALVersion alv = new ALVersion(ALFactory.getALC()); + final int versionComp = alv.getVersion().compareTo(ALVersion11); + final int vendorVersionComp = alv.getVendorVersion().compareTo(OpenALVersion1230); + System.out.println("ALVersion: "+alv.toString()+", version >= 1.1: "+versionComp+", vendorVersion >= 1.23.0: "+vendorVersionComp); + Assert.assertEquals(OpenALVendor, alv.getVendor()); + Assert.assertEquals(OpenALRenderer, alv.getRenderer()); + Assert.assertTrue( versionComp >= 0 ); + Assert.assertTrue( vendorVersionComp >= 0 ); + } + + @Test + public void test02JoalVersion() { + final JoalVersion jv = JoalVersion.getInstance(); + System.err.println(jv.toString(ALFactory.getALC())); + } + + public static void main(final String args[]) throws IOException { + org.junit.runner.JUnitCore.main(ALVersionTest.class.getName()); + } +} diff --git a/src/test/com/jogamp/openal/test/manual/OpenALTest.java b/src/test/com/jogamp/openal/test/manual/OpenALTest.java index 1981326..cf86fe5 100644 --- a/src/test/com/jogamp/openal/test/manual/OpenALTest.java +++ b/src/test/com/jogamp/openal/test/manual/OpenALTest.java @@ -44,6 +44,7 @@ import com.jogamp.openal.ALCcontext; import com.jogamp.openal.ALCdevice; import com.jogamp.openal.ALConstants; import com.jogamp.openal.ALFactory; +import com.jogamp.openal.ALVersion; import com.jogamp.openal.UnsupportedAudioFileException; import com.jogamp.openal.eax.EAX; import com.jogamp.openal.eax.EAXConstants; @@ -73,8 +74,9 @@ public class OpenALTest { device = alc.alcOpenDevice(null); context = alc.alcCreateContext(device, null); alc.alcMakeContextCurrent(context); - al = ALFactory.getAL(); - System.out.println("output devices:"); + al = ALFactory.getAL(); // valid after makeContextCurrent(..) + System.out.println("ALVersion: "+new ALVersion(al).toString()); + System.out.println("Output devices:"); { final String[] outDevices = alc.alcGetDeviceSpecifiers(); if( null != outDevices ) { @@ -83,7 +85,7 @@ public class OpenALTest { } } } - System.out.println("capture devices:"); + System.out.println("Capture devices:"); { final String[] inDevices = alc.alcGetCaptureDeviceSpecifiers(); if( null != inDevices ) { @@ -164,6 +166,7 @@ public class OpenALTest { sources = null; } if( null != context ) { + alc.alcMakeContextCurrent(null); alc.alcDestroyContext(context); context = null; } |