1+ // SPDX-FileCopyrightText: Copyright 2026 Mark Rotteveel
2+ // SPDX-License-Identifier: LGPL-2.1-or-later
3+ package org .firebirdsql .jaybird .util ;
4+
5+ import org .junit .jupiter .api .Test ;
6+ import org .junit .jupiter .params .ParameterizedTest ;
7+ import org .junit .jupiter .params .provider .ValueSource ;
8+
9+ import static org .junit .jupiter .api .Assertions .assertEquals ;
10+ import static org .junit .jupiter .api .Assertions .assertFalse ;
11+
12+ /**
13+ * Tests for {@link Primitives}.
14+ */
15+ @ SuppressWarnings ("ObviousNullCheck" )
16+ class PrimitivesTest {
17+
18+ @ ParameterizedTest
19+ @ ValueSource (booleans = { true , false })
20+ void orFalse (boolean value ) {
21+ assertEquals (value , Primitives .orFalse (value ));
22+ }
23+
24+ @ Test
25+ void orFalse_null () {
26+ assertFalse (Primitives .orFalse (null ));
27+ }
28+
29+ @ ParameterizedTest
30+ @ ValueSource (bytes = { -1 , 0 , 1 })
31+ void orZero_Byte (byte value ) {
32+ assertEquals (value , Primitives .orZero (value ));
33+ }
34+
35+ @ Test
36+ void orZero_Byte_null () {
37+ assertEquals (0 , Primitives .orZero ((Byte ) null ));
38+ }
39+
40+ @ ParameterizedTest
41+ @ ValueSource (shorts = { -1 , 0 , 1 })
42+ void orZero_Short (short value ) {
43+ assertEquals (value , Primitives .orZero (value ));
44+ }
45+
46+ @ Test
47+ void orZero_Short_null () {
48+ assertEquals (0 , Primitives .orZero ((Short ) null ));
49+ }
50+
51+ @ ParameterizedTest
52+ @ ValueSource (ints = { -1 , 0 , 1 })
53+ void orZero_Integer (int value ) {
54+ assertEquals (value , Primitives .orZero (value ));
55+ }
56+
57+ @ Test
58+ void orZero_Integer_null () {
59+ assertEquals (0 , Primitives .orZero ((Integer ) null ));
60+ }
61+
62+ @ ParameterizedTest
63+ @ ValueSource (longs = { -1 , 0 , 1 })
64+ void orZero_Long (long value ) {
65+ assertEquals (value , Primitives .orZero (value ));
66+ }
67+
68+ @ Test
69+ void orZero_Long_null () {
70+ assertEquals (0 , Primitives .orZero ((Long ) null ));
71+ }
72+
73+ @ ParameterizedTest
74+ @ ValueSource (floats = { -1f , 0f , 1f })
75+ void orZero_Float (float value ) {
76+ assertEquals (value , Primitives .orZero (value ));
77+ }
78+
79+ @ Test
80+ void orZero_Float_null () {
81+ assertEquals (0f , Primitives .orZero ((Float ) null ));
82+ }
83+
84+ @ ParameterizedTest
85+ @ ValueSource (doubles = { -1d , 0d , 1d })
86+ void orZero_Double (double value ) {
87+ assertEquals (value , Primitives .orZero (value ));
88+ }
89+
90+ @ Test
91+ void orZero_Double_null () {
92+ assertEquals (0d , Primitives .orZero ((Double ) null ));
93+ }
94+
95+ }
0 commit comments