JOGL v2.6.0-rc-20250712
JOGL, High-Performance Graphics Binding for Java™ (public API).
TestImageTypeNEWT.java
Go to the documentation of this file.
1/**
2 * Copyright 2015 JogAmp Community. All rights reserved.
3 *
4 * Redistribution and use in source and binary forms, with or without modification, are
5 * permitted provided that the following conditions are met:
6 *
7 * 1. Redistributions of source code must retain the above copyright notice, this list of
8 * conditions and the following disclaimer.
9 *
10 * 2. Redistributions in binary form must reproduce the above copyright notice, this list
11 * of conditions and the following disclaimer in the documentation and/or other materials
12 * provided with the distribution.
13 *
14 * THIS SOFTWARE IS PROVIDED BY JogAmp Community ``AS IS'' AND ANY EXPRESS OR IMPLIED
15 * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
16 * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL JogAmp Community OR
17 * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
18 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
19 * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
20 * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
21 * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
22 * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
23 *
24 * The views and conclusions contained in the software and documentation are those of the
25 * authors and should not be interpreted as representing official policies, either expressed
26 * or implied, of JogAmp Community.
27 */
28
29package com.jogamp.opengl.test.junit.jogl.util.texture;
30
31import com.jogamp.opengl.test.junit.util.UITestCase;
32import com.jogamp.opengl.util.texture.ImageType;
33
34import java.io.IOException;
35import java.util.List;
36
37import org.junit.Assert;
38import org.junit.After;
39import org.junit.Before;
40import org.junit.Test;
41import org.junit.FixMethodOrder;
42import org.junit.runners.MethodSorters;
43
44@FixMethodOrder(MethodSorters.NAME_ASCENDING)
45public class TestImageTypeNEWT extends UITestCase {
46 ImageTstFiles imageTstFiles;
47
48 @Before
49 public void initTest() throws IOException {
50 imageTstFiles = new ImageTstFiles();
51 imageTstFiles.init();
52 }
53
54 @After
55 public void cleanupTest() {
56 imageTstFiles.clear();
57 }
58
59 public void testImpl(final List<ImageTstFiles.NamedInputStream> streams, final ImageType expImageType) throws InterruptedException, IOException {
60 for(int i=0; i<streams.size(); i++) {
61 final ImageTstFiles.NamedInputStream s = streams.get(i);
62 final ImageType t = new ImageType(s.stream);
63 System.err.printf("Test %3d: path %s, exp-type %s, has-type %s%n", i, s.basePath, expImageType, t);
64 Assert.assertEquals(expImageType, t);
65 }
66 }
67
68 @Test
69 public void test01AllPNG() throws InterruptedException, IOException {
70 testImpl(imageTstFiles.pngStreams, new ImageType(ImageType.T_PNG));
71 }
72
73 @Test
74 public void test02AllJPG() throws InterruptedException, IOException {
75 testImpl(imageTstFiles.jpgStreams, new ImageType(ImageType.T_JPG));
76 }
77
78 // TGA cannot be detected
79 // @Test
80 public void test03AllTGA() throws InterruptedException, IOException {
81 testImpl(imageTstFiles.tgaStreams, new ImageType(ImageType.T_TGA));
82 }
83
84 @Test
85 public void test04AllDDS() throws InterruptedException, IOException {
86 testImpl(imageTstFiles.ddsStreams, new ImageType(ImageType.T_DDS));
87 }
88
89 public static void main(final String args[]) throws IOException {
90 org.junit.runner.JUnitCore.main(TestImageTypeNEWT.class.getName());
91 }
92}
void testImpl(final List< ImageTstFiles.NamedInputStream > streams, final ImageType expImageType)
Image type classification.
Definition: ImageType.java:42
static final String T_TGA
Constant which can be used as a file suffix to indicate a Targa stream, value {@value}.
static final String T_PNG
Constant which can be used as a file suffix to indicate a PNG stream, value {@value}.
Definition: ImageType.java:63
static final String T_DDS
Constant which can be used as a file suffix to indicate a DirectDraw Surface stream,...
Definition: ImageType.java:220
static final String T_JPG
Constant which can be used as a file suffix to indicate a JPEG stream, value {@value}.
Definition: ImageType.java:55