GlueGen v2.6.0-rc-20250722
GlueGen, Native Binding Generator for Java™ (public API).
TestVersionNumber.java
Go to the documentation of this file.
1/**
2 * Copyright 2012 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.common.util;
30
31import java.io.IOException;
32
33import org.junit.Assert;
34import org.junit.Test;
35
36import com.jogamp.junit.util.SingletonJunitCase;
37
38import org.junit.FixMethodOrder;
39import org.junit.runners.MethodSorters;
40
41@FixMethodOrder(MethodSorters.NAME_ASCENDING)
43
44 static void validate(final String vs, final VersionNumber vexp) {
45 final VersionNumber vhas = new VersionNumber(vs);
46 System.err.println("Exp: "+vexp);
47 System.err.println("Has: "+vhas);
48 Assert.assertEquals(vexp.hasMajor(), vhas.hasMajor());
49 Assert.assertEquals(vexp.hasMinor(), vhas.hasMinor());
50 Assert.assertEquals(vexp.hasSub(), vhas.hasSub());
51 Assert.assertEquals(vexp, vhas);
52 }
53 @Test
54 public void test01() {
55 final VersionNumber vexp_1_0_16 = new VersionNumber(1, 0, 16);
56 final VersionNumber vexp_3_10_0 = new VersionNumber(3, 10);
57 validate("1.0.16", vexp_1_0_16);
58 validate("1.0.16 OpenGL ES GLSL ES", vexp_1_0_16);
59 validate("OpenGL ES GLSL ES 1.0.16", vexp_1_0_16);
60 validate("OpenGL ES GLSL ES 3.10", vexp_3_10_0);
61 }
62 @Test
63 public void test01b() {
64 final String delim = ",";
65
66 final String vs00 = "1,0,16";
67 final String vs01 = "OpenGL ES GLSL ES 1,0,16";
68 final String vs02 = "1,0,16 OpenGL ES GLSL ES";
69 final VersionNumber vn0 = new VersionNumber(1, 0, 16);
70 Assert.assertTrue(vn0.hasMajor());
71 Assert.assertTrue(vn0.hasMinor());
72 Assert.assertTrue(vn0.hasSub());
73
75
76 vn = new VersionNumber(vs00, delim);
77 Assert.assertTrue(vn.hasMajor());
78 Assert.assertTrue(vn.hasMinor());
79 Assert.assertTrue(vn.hasSub());
80 Assert.assertEquals(vn0, vn);
81
82 vn = new VersionNumber(vs01, delim);
83 Assert.assertTrue(vn.hasMajor());
84 Assert.assertTrue(vn.hasMinor());
85 Assert.assertTrue(vn.hasSub());
86 Assert.assertEquals(vn0, vn);
87
88 vn = new VersionNumber(vs02, delim);
89 Assert.assertTrue(vn.hasMajor());
90 Assert.assertTrue(vn.hasMinor());
91 Assert.assertTrue(vn.hasSub());
92 Assert.assertEquals(vn0, vn);
93 }
94
95 @Test
96 public void test02() {
97 final String vs00 = "4.20";
98 final String vs01 = "COMPANY via Stupid tool 4.20";
99 final String vs02 = "4.20 COMPANY via Stupid tool";
100 final VersionNumber vn0 = new VersionNumber(4, 20, 0);
101 Assert.assertTrue(vn0.hasMajor());
102 Assert.assertTrue(vn0.hasMinor());
103 Assert.assertTrue(vn0.hasSub());
104
105 VersionNumber vn;
106
107 vn = new VersionNumber(vs00);
108 Assert.assertTrue(vn.hasMajor());
109 Assert.assertTrue(vn.hasMinor());
110 Assert.assertTrue(!vn.hasSub());
111 Assert.assertEquals(vn0, vn);
112
113 vn = new VersionNumber(vs01);
114 Assert.assertTrue(vn.hasMajor());
115 Assert.assertTrue(vn.hasMinor());
116 Assert.assertTrue(!vn.hasSub());
117 Assert.assertEquals(vn0, vn);
118
119 vn = new VersionNumber(vs02);
120 Assert.assertTrue(vn.hasMajor());
121 Assert.assertTrue(vn.hasMinor());
122 Assert.assertTrue(!vn.hasSub());
123 Assert.assertEquals(vn0, vn);
124 }
125
126 @Test
127 public void test02b() {
128 final String delim = ",";
129
130 final String vs00 = "4,20";
131 final String vs01 = "COMPANY via Stupid tool 4,20";
132 final String vs02 = "4,20 COMPANY via Stupid tool";
133 final VersionNumber vn0 = new VersionNumber(4, 20, 0);
134 Assert.assertTrue(vn0.hasMajor());
135 Assert.assertTrue(vn0.hasMinor());
136 Assert.assertTrue(vn0.hasSub());
137
138 VersionNumber vn;
139
140 vn = new VersionNumber(vs00, delim);
141 Assert.assertTrue(vn.hasMajor());
142 Assert.assertTrue(vn.hasMinor());
143 Assert.assertTrue(!vn.hasSub());
144 Assert.assertEquals(vn0, vn);
145
146 vn = new VersionNumber(vs01, delim);
147 Assert.assertTrue(vn.hasMajor());
148 Assert.assertTrue(vn.hasMinor());
149 Assert.assertTrue(!vn.hasSub());
150 Assert.assertEquals(vn0, vn);
151
152 vn = new VersionNumber(vs02, delim);
153 Assert.assertTrue(vn.hasMajor());
154 Assert.assertTrue(vn.hasMinor());
155 Assert.assertTrue(!vn.hasSub());
156 Assert.assertEquals(vn0, vn);
157 }
158
159 @Test
160 public void test03() {
161 final String vs00 = "A10.11.12b";
162 final String vs01 = "Prelim Text 10.Funny11.Weird12 Something is odd";
163 final String vs02 = "Prelim Text 10.Funny11l1.Weird12 2 Something is odd";
164 final VersionNumber vn0 = new VersionNumber(10, 11, 12);
165 Assert.assertTrue(vn0.hasMajor());
166 Assert.assertTrue(vn0.hasMinor());
167 Assert.assertTrue(vn0.hasSub());
168
169 VersionNumber vn;
170
171 vn = new VersionNumber(vs00);
172 Assert.assertTrue(vn.hasMajor());
173 Assert.assertTrue(vn.hasMinor());
174 Assert.assertTrue(vn.hasSub());
175 Assert.assertEquals(vn0, vn);
176
177 vn = new VersionNumber(vs01);
178 Assert.assertTrue(vn.hasMajor());
179 Assert.assertTrue(vn.hasMinor());
180 Assert.assertTrue(vn.hasSub());
181 Assert.assertEquals(vn0, vn);
182
183 vn = new VersionNumber(vs02);
184 Assert.assertTrue(vn.hasMajor());
185 Assert.assertTrue(vn.hasMinor());
186 Assert.assertTrue(vn.hasSub());
187 Assert.assertEquals(vn0, vn);
188 }
189
190 @Test
191 public void test03b() {
192 final String delim = ",";
193
194 final String vs00 = "A10,11,12b";
195 final String vs01 = "Prelim Text 10,Funny11,Weird12 Something is odd";
196 final String vs02 = "Prelim Text 10,Funny11l1,Weird12 2 Something is odd";
197 final VersionNumber vn0 = new VersionNumber(10, 11, 12);
198 Assert.assertTrue(vn0.hasMajor());
199 Assert.assertTrue(vn0.hasMinor());
200 Assert.assertTrue(vn0.hasSub());
201
202 VersionNumber vn;
203
204 vn = new VersionNumber(vs00, delim);
205 Assert.assertTrue(vn.hasMajor());
206 Assert.assertTrue(vn.hasMinor());
207 Assert.assertTrue(vn.hasSub());
208 Assert.assertEquals(vn0, vn);
209
210 vn = new VersionNumber(vs01, delim);
211 Assert.assertTrue(vn.hasMajor());
212 Assert.assertTrue(vn.hasMinor());
213 Assert.assertTrue(vn.hasSub());
214 Assert.assertEquals(vn0, vn);
215
216 vn = new VersionNumber(vs02, delim);
217 Assert.assertTrue(vn.hasMajor());
218 Assert.assertTrue(vn.hasMinor());
219 Assert.assertTrue(vn.hasSub());
220 Assert.assertEquals(vn0, vn);
221 }
222
223 @Test
224 public void test04() {
225 final String vs00 = "A10.11.12b (git-d6c318e)";
226 final String vs01 = "Prelim Text 10.Funny11.Weird12 Something is odd (git-d6c318e)";
227 final String vs02 = "Prelim Text 10.Funny11l1.Weird12 2 Something is odd (git-d6c318e)";
228 final VersionNumber vn0 = new VersionNumber(10, 11, 12);
229 Assert.assertTrue(vn0.hasMajor());
230 Assert.assertTrue(vn0.hasMinor());
231 Assert.assertTrue(vn0.hasSub());
232
233 VersionNumber vn;
234
235 vn = new VersionNumber(vs00);
236 Assert.assertTrue(vn.hasMajor());
237 Assert.assertTrue(vn.hasMinor());
238 Assert.assertTrue(vn.hasSub());
239 Assert.assertEquals(vn0, vn);
240
241 vn = new VersionNumber(vs01);
242 Assert.assertTrue(vn.hasMajor());
243 Assert.assertTrue(vn.hasMinor());
244 Assert.assertTrue(vn.hasSub());
245 Assert.assertEquals(vn0, vn);
246
247 vn = new VersionNumber(vs02);
248 Assert.assertTrue(vn.hasMajor());
249 Assert.assertTrue(vn.hasMinor());
250 Assert.assertTrue(vn.hasSub());
251 Assert.assertEquals(vn0, vn);
252 }
253 @Test
254 public void test04b() {
255 final String delim = ",";
256
257 final String vs00 = "A10,11,12b (git-d6c318e)";
258 final String vs01 = "Prelim Text 10,Funny11,Weird12 Something is odd (git-d6c318e)";
259 final String vs02 = "Prelim Text 10,Funny11l1,Weird12 2 Something is odd (git-d6c318e)";
260 final VersionNumber vn0 = new VersionNumber(10, 11, 12);
261 Assert.assertTrue(vn0.hasMajor());
262 Assert.assertTrue(vn0.hasMinor());
263 Assert.assertTrue(vn0.hasSub());
264
265 VersionNumber vn;
266
267 vn = new VersionNumber(vs00, delim);
268 Assert.assertTrue(vn.hasMajor());
269 Assert.assertTrue(vn.hasMinor());
270 Assert.assertTrue(vn.hasSub());
271 Assert.assertEquals(vn0, vn);
272
273 vn = new VersionNumber(vs01, delim);
274 Assert.assertTrue(vn.hasMajor());
275 Assert.assertTrue(vn.hasMinor());
276 Assert.assertTrue(vn.hasSub());
277 Assert.assertEquals(vn0, vn);
278
279 vn = new VersionNumber(vs02, delim);
280 Assert.assertTrue(vn.hasMajor());
281 Assert.assertTrue(vn.hasMinor());
282 Assert.assertTrue(vn.hasSub());
283 Assert.assertEquals(vn0, vn);
284 }
285
286 public static void main(final String args[]) throws IOException {
287 final String tstname = TestVersionNumber.class.getName();
288 org.junit.runner.JUnitCore.main(tstname);
289 }
290
291}
static void main(final String args[])
Simple version number class containing a version number either being defined explicit or derived from...
final boolean hasSub()
Returns true, if the optional sub component is defined explicitly, otherwise false.
final boolean hasMajor()
Returns true, if the major component is defined explicitly, otherwise false.
final boolean hasMinor()
Returns true, if the optional minor component is defined explicitly, otherwise false.