2626
2727import static io .tiledb .java .api .Constants .TILEDB_VAR_NUM ;
2828
29- import java .math .BigInteger ;
3029import org .junit .Assert ;
3130import org .junit .Test ;
3231
@@ -69,8 +68,8 @@ public void testAttributeSetFillValue() throws Exception {
6968 a .setFillValue (5 );
7069
7170 Assert .assertEquals (5 , a .getFillValue ().getFirst ());
72- Assert . assertEquals (
73- BigInteger . valueOf (a .getType ().getNativeSize ()), a .getFillValue ().getSecond ());
71+
72+ Assert . assertEquals (a .getType ().getNativeSize (), ( int ) ( long ) a .getFillValue ().getSecond ());
7473 }
7574
7675 try (Context ctx = new Context ();
@@ -79,8 +78,7 @@ public void testAttributeSetFillValue() throws Exception {
7978 a .setFillValue (5L );
8079
8180 Assert .assertEquals (5L , a .getFillValue ().getFirst ());
82- Assert .assertEquals (
83- BigInteger .valueOf (a .getType ().getNativeSize ()), a .getFillValue ().getSecond ());
81+ Assert .assertEquals (a .getType ().getNativeSize (), (int ) (long ) a .getFillValue ().getSecond ());
8482 }
8583
8684 try (Context ctx = new Context ();
@@ -90,7 +88,7 @@ public void testAttributeSetFillValue() throws Exception {
9088
9189 Assert .assertEquals ((byte ) 'c' , a .getFillValue ().getFirst ());
9290 Assert .assertEquals (
93- BigInteger . valueOf ( a .getType ().getNativeSize ()), a .getFillValue ().getSecond ());
91+ ( int ) ( long ) a .getType ().getNativeSize (), ( int ) ( long ) a .getFillValue ().getSecond ());
9492 }
9593
9694 try (Context ctx = new Context ();
@@ -99,8 +97,7 @@ public void testAttributeSetFillValue() throws Exception {
9997 a .setFillValue ((byte ) 'c' );
10098
10199 Assert .assertEquals ((byte ) 'c' , a .getFillValue ().getFirst ());
102- Assert .assertEquals (
103- BigInteger .valueOf (a .getType ().getNativeSize ()), a .getFillValue ().getSecond ());
100+ Assert .assertEquals (a .getType ().getNativeSize (), (int ) (long ) a .getFillValue ().getSecond ());
104101 }
105102
106103 try (Context ctx = new Context ();
@@ -111,18 +108,39 @@ public void testAttributeSetFillValue() throws Exception {
111108 a .setFillValue (str );
112109
113110 Assert .assertEquals (str , new String ((byte []) a .getFillValue ().getFirst ()));
114- Assert .assertEquals (BigInteger . valueOf ( str .length ()), a .getFillValue ().getSecond ());
111+ Assert .assertEquals (str .length (), ( int ) ( long ) a .getFillValue ().getSecond ());
115112 }
116113
117114 try (Context ctx = new Context ();
118115 Attribute a = new Attribute (ctx , "a2" , Datatype .TILEDB_INT32 )) {
116+
119117 a .setCellValNum (2 );
120118
121119 int [] arr = new int [] {1 , 2 };
122120 a .setFillValue (arr );
123121
124122 Assert .assertArrayEquals (arr , (int []) a .getFillValue ().getFirst ());
125- Assert .assertEquals (BigInteger .valueOf (arr .length ), a .getFillValue ().getSecond ());
123+ Assert .assertEquals (
124+ arr .length * a .getType ().getNativeSize (), (int ) (long ) a .getFillValue ().getSecond ());
125+ }
126+ }
127+
128+ @ Test
129+ public void testAttributeSetFillValueVarSize () throws Exception {
130+ try (Context ctx = new Context ();
131+ Attribute a = new Attribute (ctx , "a2" , Datatype .TILEDB_INT32 )) {
132+
133+ a .setCellValNum (2 );
134+
135+ int [] arr = new int [] {1 , 2 };
136+
137+ a .setFillValue (arr );
138+ Assert .assertArrayEquals (arr , (int []) a .getFillValue ().getFirst ());
139+
140+ a .setCellVar ();
141+
142+ a .setFillValue (arr );
143+ Assert .assertArrayEquals (arr , (int []) a .getFillValue ().getFirst ());
126144 }
127145 }
128146
@@ -137,8 +155,8 @@ public void testAttributeSetFillValueNullable() throws Exception {
137155
138156 Assert .assertEquals (5 , a .getFillValueNullable ().getFirst ());
139157 Assert .assertEquals (
140- BigInteger . valueOf ( a .getType ().getNativeSize () ),
141- a .getFillValueNullable ().getSecond ().getFirst ());
158+ a .getType ().getNativeSize (),
159+ ( int ) ( long ) a .getFillValueNullable ().getSecond ().getFirst ());
142160
143161 Assert .assertEquals (true , a .getFillValueNullable ().getSecond ().getSecond ());
144162 }
@@ -152,8 +170,8 @@ public void testAttributeSetFillValueNullable() throws Exception {
152170
153171 Assert .assertEquals (5L , a .getFillValueNullable ().getFirst ());
154172 Assert .assertEquals (
155- BigInteger . valueOf ( a .getType ().getNativeSize () ),
156- a .getFillValueNullable ().getSecond ().getFirst ());
173+ a .getType ().getNativeSize (),
174+ ( int ) ( long ) a .getFillValueNullable ().getSecond ().getFirst ());
157175
158176 Assert .assertEquals (false , a .getFillValueNullable ().getSecond ().getSecond ());
159177 }
@@ -167,8 +185,8 @@ public void testAttributeSetFillValueNullable() throws Exception {
167185
168186 Assert .assertEquals ((byte ) 'c' , a .getFillValueNullable ().getFirst ());
169187 Assert .assertEquals (
170- BigInteger . valueOf ( a .getType ().getNativeSize () ),
171- a .getFillValueNullable ().getSecond ().getFirst ());
188+ a .getType ().getNativeSize (),
189+ ( int ) ( long ) a .getFillValueNullable ().getSecond ().getFirst ());
172190
173191 Assert .assertEquals (false , a .getFillValueNullable ().getSecond ().getSecond ());
174192 }
@@ -183,20 +201,46 @@ public void testAttributeSetFillValueNullable() throws Exception {
183201
184202 Assert .assertEquals (str , new String ((byte []) a .getFillValueNullable ().getFirst ()));
185203 Assert .assertEquals (
186- BigInteger . valueOf ( str .length ()), a .getFillValueNullable ().getSecond ().getFirst ());
204+ str .length (), ( int ) ( long ) a .getFillValueNullable ().getSecond ().getFirst ());
187205 }
188206
189207 try (Context ctx = new Context ();
190208 Attribute a = new Attribute (ctx , "a2" , Datatype .TILEDB_INT32 )) {
191209 a .setNullable (true );
210+
192211 a .setCellValNum (2 );
193212
194213 int [] arr = new int [] {1 , 2 };
195214 a .setFillValueNullable (arr , true );
196215
197216 Assert .assertArrayEquals (arr , (int []) a .getFillValueNullable ().getFirst ());
198217 Assert .assertEquals (
199- BigInteger .valueOf (arr .length ), a .getFillValueNullable ().getSecond ().getFirst ());
218+ arr .length * a .getType ().getNativeSize (),
219+ (long ) (int ) a .getFillValueNullable ().getSecond ().getFirst ());
220+
221+ a .setCellVar ();
222+
223+ a .setFillValueNullable (arr , true );
224+
225+ Assert .assertArrayEquals (arr , (int []) a .getFillValueNullable ().getFirst ());
226+ Assert .assertEquals (
227+ arr .length * a .getType ().getNativeSize (),
228+ (long ) (int ) a .getFillValueNullable ().getSecond ().getFirst ());
229+ }
230+ }
231+
232+ @ Test
233+ public void testAttributeSetFillValueNullableVarSize () throws Exception {
234+ try (Context ctx = new Context ();
235+ Attribute a = new Attribute (ctx , "a2" , Datatype .TILEDB_INT32 )) {
236+ a .setNullable (true );
237+
238+ a .setCellValNum (2 );
239+
240+ int [] arr = new int [] {1 , 2 };
241+ a .setFillValueNullable (arr , true );
242+
243+ Assert .assertArrayEquals (arr , (int []) a .getFillValueNullable ().getFirst ());
200244 }
201245 }
202246
0 commit comments