xref: /aosp_15_r20/external/flatbuffers/dart/test/flex_reader_test.dart (revision 890232f25432b36107d06881e0a25aaa6b473652)
1*890232f2SAndroid Build Coastguard Workerimport 'dart:typed_data';
2*890232f2SAndroid Build Coastguard Worker
3*890232f2SAndroid Build Coastguard Workerimport 'package:flat_buffers/flex_buffers.dart' show Reference, Builder;
4*890232f2SAndroid Build Coastguard Workerimport 'package:test/test.dart';
5*890232f2SAndroid Build Coastguard Worker
6*890232f2SAndroid Build Coastguard Workervoid main() {
7*890232f2SAndroid Build Coastguard Worker  test('is null', () {
8*890232f2SAndroid Build Coastguard Worker    expect(Reference.fromBuffer(b([0, 0, 1])).isNull, isTrue);
9*890232f2SAndroid Build Coastguard Worker  });
10*890232f2SAndroid Build Coastguard Worker
11*890232f2SAndroid Build Coastguard Worker  test('bool value', () {
12*890232f2SAndroid Build Coastguard Worker    expect(Reference.fromBuffer(b([1, 104, 1])).boolValue, isTrue);
13*890232f2SAndroid Build Coastguard Worker    expect(Reference.fromBuffer(b([0, 104, 1])).boolValue, isFalse);
14*890232f2SAndroid Build Coastguard Worker  });
15*890232f2SAndroid Build Coastguard Worker  test('int value', () {
16*890232f2SAndroid Build Coastguard Worker    expect(Reference.fromBuffer(b([25, 4, 1])).intValue, 25);
17*890232f2SAndroid Build Coastguard Worker    expect(Reference.fromBuffer(b([231, 4, 1])).intValue, -25);
18*890232f2SAndroid Build Coastguard Worker    expect(Reference.fromBuffer(b([230, 8, 1])).intValue, 230);
19*890232f2SAndroid Build Coastguard Worker    expect(Reference.fromBuffer(b([230, 0, 5, 2])).intValue, 230);
20*890232f2SAndroid Build Coastguard Worker    expect(Reference.fromBuffer(b([1, 4, 5, 2])).intValue, 1025);
21*890232f2SAndroid Build Coastguard Worker    expect(Reference.fromBuffer(b([255, 251, 5, 2])).intValue, -1025);
22*890232f2SAndroid Build Coastguard Worker    expect(Reference.fromBuffer(b([1, 4, 9, 2])).intValue, 1025);
23*890232f2SAndroid Build Coastguard Worker    expect(Reference.fromBuffer(b([255, 255, 255, 127, 6, 4])).intValue,
24*890232f2SAndroid Build Coastguard Worker        2147483647);
25*890232f2SAndroid Build Coastguard Worker    expect(Reference.fromBuffer(b([0, 0, 0, 128, 6, 4])).intValue, -2147483648);
26*890232f2SAndroid Build Coastguard Worker    expect(
27*890232f2SAndroid Build Coastguard Worker        Reference.fromBuffer(b([255, 255, 255, 255, 0, 0, 0, 0, 7, 8]))
28*890232f2SAndroid Build Coastguard Worker            .intValue,
29*890232f2SAndroid Build Coastguard Worker        4294967295);
30*890232f2SAndroid Build Coastguard Worker    expect(
31*890232f2SAndroid Build Coastguard Worker        Reference.fromBuffer(b([255, 255, 255, 255, 255, 255, 255, 127, 7, 8]))
32*890232f2SAndroid Build Coastguard Worker            .intValue,
33*890232f2SAndroid Build Coastguard Worker        9223372036854775807);
34*890232f2SAndroid Build Coastguard Worker    expect(Reference.fromBuffer(b([0, 0, 0, 0, 0, 0, 0, 128, 7, 8])).intValue,
35*890232f2SAndroid Build Coastguard Worker        -9223372036854775808);
36*890232f2SAndroid Build Coastguard Worker    // Dart does not really support UInt64
37*890232f2SAndroid Build Coastguard Worker//      expect(FlxValue.fromBuffer(b([255, 255, 255, 255, 255, 255, 255, 255, 11, 8])).intValue, 18446744073709551615);
38*890232f2SAndroid Build Coastguard Worker  });
39*890232f2SAndroid Build Coastguard Worker  test('double value', () {
40*890232f2SAndroid Build Coastguard Worker    expect(Reference.fromBuffer(b([0, 0, 144, 64, 14, 4])).doubleValue, 4.5);
41*890232f2SAndroid Build Coastguard Worker    expect(Reference.fromBuffer(b([205, 204, 204, 61, 14, 4])).doubleValue,
42*890232f2SAndroid Build Coastguard Worker        closeTo(.1, .001));
43*890232f2SAndroid Build Coastguard Worker    expect(
44*890232f2SAndroid Build Coastguard Worker        Reference.fromBuffer(b([154, 153, 153, 153, 153, 153, 185, 63, 15, 8]))
45*890232f2SAndroid Build Coastguard Worker            .doubleValue,
46*890232f2SAndroid Build Coastguard Worker        .1);
47*890232f2SAndroid Build Coastguard Worker  });
48*890232f2SAndroid Build Coastguard Worker  test('num value', () {
49*890232f2SAndroid Build Coastguard Worker    expect(Reference.fromBuffer(b([0, 0, 144, 64, 14, 4])).numValue, 4.5);
50*890232f2SAndroid Build Coastguard Worker    expect(Reference.fromBuffer(b([205, 204, 204, 61, 14, 4])).numValue,
51*890232f2SAndroid Build Coastguard Worker        closeTo(.1, .001));
52*890232f2SAndroid Build Coastguard Worker    expect(
53*890232f2SAndroid Build Coastguard Worker        Reference.fromBuffer(b([154, 153, 153, 153, 153, 153, 185, 63, 15, 8]))
54*890232f2SAndroid Build Coastguard Worker            .numValue,
55*890232f2SAndroid Build Coastguard Worker        .1);
56*890232f2SAndroid Build Coastguard Worker    expect(Reference.fromBuffer(b([255, 251, 5, 2])).numValue, -1025);
57*890232f2SAndroid Build Coastguard Worker  });
58*890232f2SAndroid Build Coastguard Worker  test('string value', () {
59*890232f2SAndroid Build Coastguard Worker    expect(
60*890232f2SAndroid Build Coastguard Worker        Reference.fromBuffer(b([5, 77, 97, 120, 105, 109, 0, 6, 20, 1]))
61*890232f2SAndroid Build Coastguard Worker            .stringValue,
62*890232f2SAndroid Build Coastguard Worker        'Maxim');
63*890232f2SAndroid Build Coastguard Worker    expect(
64*890232f2SAndroid Build Coastguard Worker        Reference.fromBuffer(b([
65*890232f2SAndroid Build Coastguard Worker          10,
66*890232f2SAndroid Build Coastguard Worker          104,
67*890232f2SAndroid Build Coastguard Worker          101,
68*890232f2SAndroid Build Coastguard Worker          108,
69*890232f2SAndroid Build Coastguard Worker          108,
70*890232f2SAndroid Build Coastguard Worker          111,
71*890232f2SAndroid Build Coastguard Worker          32,
72*890232f2SAndroid Build Coastguard Worker          240,
73*890232f2SAndroid Build Coastguard Worker          159,
74*890232f2SAndroid Build Coastguard Worker          152,
75*890232f2SAndroid Build Coastguard Worker          177,
76*890232f2SAndroid Build Coastguard Worker          0,
77*890232f2SAndroid Build Coastguard Worker          11,
78*890232f2SAndroid Build Coastguard Worker          20,
79*890232f2SAndroid Build Coastguard Worker          1
80*890232f2SAndroid Build Coastguard Worker        ])).stringValue,
81*890232f2SAndroid Build Coastguard Worker        'hello ��');
82*890232f2SAndroid Build Coastguard Worker  });
83*890232f2SAndroid Build Coastguard Worker  test('blob value', () {
84*890232f2SAndroid Build Coastguard Worker    expect(
85*890232f2SAndroid Build Coastguard Worker        Reference.fromBuffer(b([3, 1, 2, 3, 3, 100, 1])).blobValue, [1, 2, 3]);
86*890232f2SAndroid Build Coastguard Worker  });
87*890232f2SAndroid Build Coastguard Worker  test('bool vector', () {
88*890232f2SAndroid Build Coastguard Worker    var flx = Reference.fromBuffer(b([3, 1, 0, 1, 3, 144, 1]));
89*890232f2SAndroid Build Coastguard Worker    expect(flx[0].boolValue, true);
90*890232f2SAndroid Build Coastguard Worker    expect(flx[1].boolValue, false);
91*890232f2SAndroid Build Coastguard Worker    expect(flx[2].boolValue, true);
92*890232f2SAndroid Build Coastguard Worker  });
93*890232f2SAndroid Build Coastguard Worker  test('number vector', () {
94*890232f2SAndroid Build Coastguard Worker    testNumbers([3, 1, 2, 3, 3, 44, 1], [1, 2, 3]);
95*890232f2SAndroid Build Coastguard Worker    testNumbers([3, 255, 2, 3, 3, 44, 1], [-1, 2, 3]);
96*890232f2SAndroid Build Coastguard Worker    testNumbers([3, 0, 1, 0, 43, 2, 3, 0, 6, 45, 1], [1, 555, 3]);
97*890232f2SAndroid Build Coastguard Worker    testNumbers([3, 0, 0, 0, 1, 0, 0, 0, 204, 216, 0, 0, 3, 0, 0, 0, 12, 46, 1],
98*890232f2SAndroid Build Coastguard Worker        [1, 55500, 3]);
99*890232f2SAndroid Build Coastguard Worker    testNumbers([
100*890232f2SAndroid Build Coastguard Worker      3,
101*890232f2SAndroid Build Coastguard Worker      0,
102*890232f2SAndroid Build Coastguard Worker      0,
103*890232f2SAndroid Build Coastguard Worker      0,
104*890232f2SAndroid Build Coastguard Worker      0,
105*890232f2SAndroid Build Coastguard Worker      0,
106*890232f2SAndroid Build Coastguard Worker      0,
107*890232f2SAndroid Build Coastguard Worker      0,
108*890232f2SAndroid Build Coastguard Worker      1,
109*890232f2SAndroid Build Coastguard Worker      0,
110*890232f2SAndroid Build Coastguard Worker      0,
111*890232f2SAndroid Build Coastguard Worker      0,
112*890232f2SAndroid Build Coastguard Worker      0,
113*890232f2SAndroid Build Coastguard Worker      0,
114*890232f2SAndroid Build Coastguard Worker      0,
115*890232f2SAndroid Build Coastguard Worker      0,
116*890232f2SAndroid Build Coastguard Worker      172,
117*890232f2SAndroid Build Coastguard Worker      128,
118*890232f2SAndroid Build Coastguard Worker      94,
119*890232f2SAndroid Build Coastguard Worker      239,
120*890232f2SAndroid Build Coastguard Worker      12,
121*890232f2SAndroid Build Coastguard Worker      0,
122*890232f2SAndroid Build Coastguard Worker      0,
123*890232f2SAndroid Build Coastguard Worker      0,
124*890232f2SAndroid Build Coastguard Worker      3,
125*890232f2SAndroid Build Coastguard Worker      0,
126*890232f2SAndroid Build Coastguard Worker      0,
127*890232f2SAndroid Build Coastguard Worker      0,
128*890232f2SAndroid Build Coastguard Worker      0,
129*890232f2SAndroid Build Coastguard Worker      0,
130*890232f2SAndroid Build Coastguard Worker      0,
131*890232f2SAndroid Build Coastguard Worker      0,
132*890232f2SAndroid Build Coastguard Worker      24,
133*890232f2SAndroid Build Coastguard Worker      47,
134*890232f2SAndroid Build Coastguard Worker      1
135*890232f2SAndroid Build Coastguard Worker    ], [
136*890232f2SAndroid Build Coastguard Worker      1,
137*890232f2SAndroid Build Coastguard Worker      55555555500,
138*890232f2SAndroid Build Coastguard Worker      3
139*890232f2SAndroid Build Coastguard Worker    ]);
140*890232f2SAndroid Build Coastguard Worker    testNumbers(
141*890232f2SAndroid Build Coastguard Worker        [3, 0, 0, 0, 0, 0, 192, 63, 0, 0, 32, 64, 0, 0, 96, 64, 12, 54, 1],
142*890232f2SAndroid Build Coastguard Worker        [1.5, 2.5, 3.5]);
143*890232f2SAndroid Build Coastguard Worker    testNumbers([
144*890232f2SAndroid Build Coastguard Worker      3,
145*890232f2SAndroid Build Coastguard Worker      0,
146*890232f2SAndroid Build Coastguard Worker      0,
147*890232f2SAndroid Build Coastguard Worker      0,
148*890232f2SAndroid Build Coastguard Worker      0,
149*890232f2SAndroid Build Coastguard Worker      0,
150*890232f2SAndroid Build Coastguard Worker      0,
151*890232f2SAndroid Build Coastguard Worker      0,
152*890232f2SAndroid Build Coastguard Worker      154,
153*890232f2SAndroid Build Coastguard Worker      153,
154*890232f2SAndroid Build Coastguard Worker      153,
155*890232f2SAndroid Build Coastguard Worker      153,
156*890232f2SAndroid Build Coastguard Worker      153,
157*890232f2SAndroid Build Coastguard Worker      153,
158*890232f2SAndroid Build Coastguard Worker      241,
159*890232f2SAndroid Build Coastguard Worker      63,
160*890232f2SAndroid Build Coastguard Worker      154,
161*890232f2SAndroid Build Coastguard Worker      153,
162*890232f2SAndroid Build Coastguard Worker      153,
163*890232f2SAndroid Build Coastguard Worker      153,
164*890232f2SAndroid Build Coastguard Worker      153,
165*890232f2SAndroid Build Coastguard Worker      153,
166*890232f2SAndroid Build Coastguard Worker      1,
167*890232f2SAndroid Build Coastguard Worker      64,
168*890232f2SAndroid Build Coastguard Worker      102,
169*890232f2SAndroid Build Coastguard Worker      102,
170*890232f2SAndroid Build Coastguard Worker      102,
171*890232f2SAndroid Build Coastguard Worker      102,
172*890232f2SAndroid Build Coastguard Worker      102,
173*890232f2SAndroid Build Coastguard Worker      102,
174*890232f2SAndroid Build Coastguard Worker      10,
175*890232f2SAndroid Build Coastguard Worker      64,
176*890232f2SAndroid Build Coastguard Worker      24,
177*890232f2SAndroid Build Coastguard Worker      55,
178*890232f2SAndroid Build Coastguard Worker      1
179*890232f2SAndroid Build Coastguard Worker    ], [
180*890232f2SAndroid Build Coastguard Worker      1.1,
181*890232f2SAndroid Build Coastguard Worker      2.2,
182*890232f2SAndroid Build Coastguard Worker      3.3
183*890232f2SAndroid Build Coastguard Worker    ]);
184*890232f2SAndroid Build Coastguard Worker  });
185*890232f2SAndroid Build Coastguard Worker  test('number vector, fixed type', () {
186*890232f2SAndroid Build Coastguard Worker    testNumbers([1, 2, 2, 64, 1], [1, 2]);
187*890232f2SAndroid Build Coastguard Worker    testNumbers([255, 255, 0, 1, 4, 65, 1], [-1, 256]);
188*890232f2SAndroid Build Coastguard Worker    testNumbers([211, 255, 255, 255, 0, 232, 3, 0, 8, 66, 1], [-45, 256000]);
189*890232f2SAndroid Build Coastguard Worker    testNumbers([
190*890232f2SAndroid Build Coastguard Worker      211,
191*890232f2SAndroid Build Coastguard Worker      255,
192*890232f2SAndroid Build Coastguard Worker      255,
193*890232f2SAndroid Build Coastguard Worker      255,
194*890232f2SAndroid Build Coastguard Worker      255,
195*890232f2SAndroid Build Coastguard Worker      255,
196*890232f2SAndroid Build Coastguard Worker      255,
197*890232f2SAndroid Build Coastguard Worker      255,
198*890232f2SAndroid Build Coastguard Worker      255,
199*890232f2SAndroid Build Coastguard Worker      255,
200*890232f2SAndroid Build Coastguard Worker      255,
201*890232f2SAndroid Build Coastguard Worker      255,
202*890232f2SAndroid Build Coastguard Worker      255,
203*890232f2SAndroid Build Coastguard Worker      255,
204*890232f2SAndroid Build Coastguard Worker      255,
205*890232f2SAndroid Build Coastguard Worker      127,
206*890232f2SAndroid Build Coastguard Worker      16,
207*890232f2SAndroid Build Coastguard Worker      67,
208*890232f2SAndroid Build Coastguard Worker      1
209*890232f2SAndroid Build Coastguard Worker    ], [
210*890232f2SAndroid Build Coastguard Worker      -45,
211*890232f2SAndroid Build Coastguard Worker      9223372036854775807
212*890232f2SAndroid Build Coastguard Worker    ]);
213*890232f2SAndroid Build Coastguard Worker
214*890232f2SAndroid Build Coastguard Worker    testNumbers([1, 2, 2, 68, 1], [1, 2]);
215*890232f2SAndroid Build Coastguard Worker    testNumbers([1, 0, 0, 1, 4, 69, 1], [1, 256]);
216*890232f2SAndroid Build Coastguard Worker    testNumbers([45, 0, 0, 0, 0, 232, 3, 0, 8, 70, 1], [45, 256000]);
217*890232f2SAndroid Build Coastguard Worker
218*890232f2SAndroid Build Coastguard Worker    testNumbers([205, 204, 140, 63, 0, 0, 0, 192, 8, 74, 1], [1.1, -2]);
219*890232f2SAndroid Build Coastguard Worker    testNumbers([
220*890232f2SAndroid Build Coastguard Worker      154,
221*890232f2SAndroid Build Coastguard Worker      153,
222*890232f2SAndroid Build Coastguard Worker      153,
223*890232f2SAndroid Build Coastguard Worker      153,
224*890232f2SAndroid Build Coastguard Worker      153,
225*890232f2SAndroid Build Coastguard Worker      153,
226*890232f2SAndroid Build Coastguard Worker      241,
227*890232f2SAndroid Build Coastguard Worker      63,
228*890232f2SAndroid Build Coastguard Worker      0,
229*890232f2SAndroid Build Coastguard Worker      0,
230*890232f2SAndroid Build Coastguard Worker      0,
231*890232f2SAndroid Build Coastguard Worker      0,
232*890232f2SAndroid Build Coastguard Worker      0,
233*890232f2SAndroid Build Coastguard Worker      0,
234*890232f2SAndroid Build Coastguard Worker      112,
235*890232f2SAndroid Build Coastguard Worker      192,
236*890232f2SAndroid Build Coastguard Worker      16,
237*890232f2SAndroid Build Coastguard Worker      75,
238*890232f2SAndroid Build Coastguard Worker      1
239*890232f2SAndroid Build Coastguard Worker    ], [
240*890232f2SAndroid Build Coastguard Worker      1.1,
241*890232f2SAndroid Build Coastguard Worker      -256
242*890232f2SAndroid Build Coastguard Worker    ]);
243*890232f2SAndroid Build Coastguard Worker
244*890232f2SAndroid Build Coastguard Worker    testNumbers([211, 255, 255, 255, 0, 232, 3, 0, 4, 0, 0, 0, 12, 78, 1],
245*890232f2SAndroid Build Coastguard Worker        [-45, 256000, 4]);
246*890232f2SAndroid Build Coastguard Worker
247*890232f2SAndroid Build Coastguard Worker    testNumbers([
248*890232f2SAndroid Build Coastguard Worker      211,
249*890232f2SAndroid Build Coastguard Worker      255,
250*890232f2SAndroid Build Coastguard Worker      255,
251*890232f2SAndroid Build Coastguard Worker      255,
252*890232f2SAndroid Build Coastguard Worker      255,
253*890232f2SAndroid Build Coastguard Worker      255,
254*890232f2SAndroid Build Coastguard Worker      255,
255*890232f2SAndroid Build Coastguard Worker      255,
256*890232f2SAndroid Build Coastguard Worker      255,
257*890232f2SAndroid Build Coastguard Worker      255,
258*890232f2SAndroid Build Coastguard Worker      255,
259*890232f2SAndroid Build Coastguard Worker      255,
260*890232f2SAndroid Build Coastguard Worker      255,
261*890232f2SAndroid Build Coastguard Worker      255,
262*890232f2SAndroid Build Coastguard Worker      255,
263*890232f2SAndroid Build Coastguard Worker      127,
264*890232f2SAndroid Build Coastguard Worker      4,
265*890232f2SAndroid Build Coastguard Worker      0,
266*890232f2SAndroid Build Coastguard Worker      0,
267*890232f2SAndroid Build Coastguard Worker      0,
268*890232f2SAndroid Build Coastguard Worker      0,
269*890232f2SAndroid Build Coastguard Worker      0,
270*890232f2SAndroid Build Coastguard Worker      0,
271*890232f2SAndroid Build Coastguard Worker      0,
272*890232f2SAndroid Build Coastguard Worker      9,
273*890232f2SAndroid Build Coastguard Worker      0,
274*890232f2SAndroid Build Coastguard Worker      0,
275*890232f2SAndroid Build Coastguard Worker      0,
276*890232f2SAndroid Build Coastguard Worker      0,
277*890232f2SAndroid Build Coastguard Worker      0,
278*890232f2SAndroid Build Coastguard Worker      0,
279*890232f2SAndroid Build Coastguard Worker      0,
280*890232f2SAndroid Build Coastguard Worker      32,
281*890232f2SAndroid Build Coastguard Worker      91,
282*890232f2SAndroid Build Coastguard Worker      1
283*890232f2SAndroid Build Coastguard Worker    ], [
284*890232f2SAndroid Build Coastguard Worker      -45,
285*890232f2SAndroid Build Coastguard Worker      9223372036854775807,
286*890232f2SAndroid Build Coastguard Worker      4,
287*890232f2SAndroid Build Coastguard Worker      9
288*890232f2SAndroid Build Coastguard Worker    ]);
289*890232f2SAndroid Build Coastguard Worker
290*890232f2SAndroid Build Coastguard Worker    testNumbers([
291*890232f2SAndroid Build Coastguard Worker      45,
292*890232f2SAndroid Build Coastguard Worker      0,
293*890232f2SAndroid Build Coastguard Worker      0,
294*890232f2SAndroid Build Coastguard Worker      0,
295*890232f2SAndroid Build Coastguard Worker      0,
296*890232f2SAndroid Build Coastguard Worker      0,
297*890232f2SAndroid Build Coastguard Worker      0,
298*890232f2SAndroid Build Coastguard Worker      0,
299*890232f2SAndroid Build Coastguard Worker      255,
300*890232f2SAndroid Build Coastguard Worker      255,
301*890232f2SAndroid Build Coastguard Worker      255,
302*890232f2SAndroid Build Coastguard Worker      255,
303*890232f2SAndroid Build Coastguard Worker      255,
304*890232f2SAndroid Build Coastguard Worker      255,
305*890232f2SAndroid Build Coastguard Worker      255,
306*890232f2SAndroid Build Coastguard Worker      127,
307*890232f2SAndroid Build Coastguard Worker      4,
308*890232f2SAndroid Build Coastguard Worker      0,
309*890232f2SAndroid Build Coastguard Worker      0,
310*890232f2SAndroid Build Coastguard Worker      0,
311*890232f2SAndroid Build Coastguard Worker      0,
312*890232f2SAndroid Build Coastguard Worker      0,
313*890232f2SAndroid Build Coastguard Worker      0,
314*890232f2SAndroid Build Coastguard Worker      0,
315*890232f2SAndroid Build Coastguard Worker      9,
316*890232f2SAndroid Build Coastguard Worker      0,
317*890232f2SAndroid Build Coastguard Worker      0,
318*890232f2SAndroid Build Coastguard Worker      0,
319*890232f2SAndroid Build Coastguard Worker      0,
320*890232f2SAndroid Build Coastguard Worker      0,
321*890232f2SAndroid Build Coastguard Worker      0,
322*890232f2SAndroid Build Coastguard Worker      0,
323*890232f2SAndroid Build Coastguard Worker      32,
324*890232f2SAndroid Build Coastguard Worker      95,
325*890232f2SAndroid Build Coastguard Worker      1
326*890232f2SAndroid Build Coastguard Worker    ], [
327*890232f2SAndroid Build Coastguard Worker      45,
328*890232f2SAndroid Build Coastguard Worker      9223372036854775807,
329*890232f2SAndroid Build Coastguard Worker      4,
330*890232f2SAndroid Build Coastguard Worker      9
331*890232f2SAndroid Build Coastguard Worker    ]);
332*890232f2SAndroid Build Coastguard Worker
333*890232f2SAndroid Build Coastguard Worker    testNumbers([
334*890232f2SAndroid Build Coastguard Worker      154,
335*890232f2SAndroid Build Coastguard Worker      153,
336*890232f2SAndroid Build Coastguard Worker      153,
337*890232f2SAndroid Build Coastguard Worker      153,
338*890232f2SAndroid Build Coastguard Worker      153,
339*890232f2SAndroid Build Coastguard Worker      153,
340*890232f2SAndroid Build Coastguard Worker      241,
341*890232f2SAndroid Build Coastguard Worker      63,
342*890232f2SAndroid Build Coastguard Worker      0,
343*890232f2SAndroid Build Coastguard Worker      0,
344*890232f2SAndroid Build Coastguard Worker      0,
345*890232f2SAndroid Build Coastguard Worker      0,
346*890232f2SAndroid Build Coastguard Worker      0,
347*890232f2SAndroid Build Coastguard Worker      0,
348*890232f2SAndroid Build Coastguard Worker      112,
349*890232f2SAndroid Build Coastguard Worker      64,
350*890232f2SAndroid Build Coastguard Worker      0,
351*890232f2SAndroid Build Coastguard Worker      0,
352*890232f2SAndroid Build Coastguard Worker      0,
353*890232f2SAndroid Build Coastguard Worker      0,
354*890232f2SAndroid Build Coastguard Worker      0,
355*890232f2SAndroid Build Coastguard Worker      0,
356*890232f2SAndroid Build Coastguard Worker      16,
357*890232f2SAndroid Build Coastguard Worker      64,
358*890232f2SAndroid Build Coastguard Worker      24,
359*890232f2SAndroid Build Coastguard Worker      87,
360*890232f2SAndroid Build Coastguard Worker      1
361*890232f2SAndroid Build Coastguard Worker    ], [
362*890232f2SAndroid Build Coastguard Worker      1.1,
363*890232f2SAndroid Build Coastguard Worker      256,
364*890232f2SAndroid Build Coastguard Worker      4
365*890232f2SAndroid Build Coastguard Worker    ]);
366*890232f2SAndroid Build Coastguard Worker
367*890232f2SAndroid Build Coastguard Worker    testNumbers([
368*890232f2SAndroid Build Coastguard Worker      154,
369*890232f2SAndroid Build Coastguard Worker      153,
370*890232f2SAndroid Build Coastguard Worker      153,
371*890232f2SAndroid Build Coastguard Worker      153,
372*890232f2SAndroid Build Coastguard Worker      153,
373*890232f2SAndroid Build Coastguard Worker      153,
374*890232f2SAndroid Build Coastguard Worker      241,
375*890232f2SAndroid Build Coastguard Worker      63,
376*890232f2SAndroid Build Coastguard Worker      0,
377*890232f2SAndroid Build Coastguard Worker      0,
378*890232f2SAndroid Build Coastguard Worker      0,
379*890232f2SAndroid Build Coastguard Worker      0,
380*890232f2SAndroid Build Coastguard Worker      0,
381*890232f2SAndroid Build Coastguard Worker      0,
382*890232f2SAndroid Build Coastguard Worker      112,
383*890232f2SAndroid Build Coastguard Worker      64,
384*890232f2SAndroid Build Coastguard Worker      0,
385*890232f2SAndroid Build Coastguard Worker      0,
386*890232f2SAndroid Build Coastguard Worker      0,
387*890232f2SAndroid Build Coastguard Worker      0,
388*890232f2SAndroid Build Coastguard Worker      0,
389*890232f2SAndroid Build Coastguard Worker      0,
390*890232f2SAndroid Build Coastguard Worker      16,
391*890232f2SAndroid Build Coastguard Worker      64,
392*890232f2SAndroid Build Coastguard Worker      0,
393*890232f2SAndroid Build Coastguard Worker      0,
394*890232f2SAndroid Build Coastguard Worker      0,
395*890232f2SAndroid Build Coastguard Worker      0,
396*890232f2SAndroid Build Coastguard Worker      0,
397*890232f2SAndroid Build Coastguard Worker      0,
398*890232f2SAndroid Build Coastguard Worker      34,
399*890232f2SAndroid Build Coastguard Worker      64,
400*890232f2SAndroid Build Coastguard Worker      32,
401*890232f2SAndroid Build Coastguard Worker      99,
402*890232f2SAndroid Build Coastguard Worker      1
403*890232f2SAndroid Build Coastguard Worker    ], [
404*890232f2SAndroid Build Coastguard Worker      1.1,
405*890232f2SAndroid Build Coastguard Worker      256,
406*890232f2SAndroid Build Coastguard Worker      4,
407*890232f2SAndroid Build Coastguard Worker      9
408*890232f2SAndroid Build Coastguard Worker    ]);
409*890232f2SAndroid Build Coastguard Worker  });
410*890232f2SAndroid Build Coastguard Worker  test('string vector', () {
411*890232f2SAndroid Build Coastguard Worker    testStrings([
412*890232f2SAndroid Build Coastguard Worker      3,
413*890232f2SAndroid Build Coastguard Worker      102,
414*890232f2SAndroid Build Coastguard Worker      111,
415*890232f2SAndroid Build Coastguard Worker      111,
416*890232f2SAndroid Build Coastguard Worker      0,
417*890232f2SAndroid Build Coastguard Worker      3,
418*890232f2SAndroid Build Coastguard Worker      98,
419*890232f2SAndroid Build Coastguard Worker      97,
420*890232f2SAndroid Build Coastguard Worker      114,
421*890232f2SAndroid Build Coastguard Worker      0,
422*890232f2SAndroid Build Coastguard Worker      3,
423*890232f2SAndroid Build Coastguard Worker      98,
424*890232f2SAndroid Build Coastguard Worker      97,
425*890232f2SAndroid Build Coastguard Worker      122,
426*890232f2SAndroid Build Coastguard Worker      0,
427*890232f2SAndroid Build Coastguard Worker      3,
428*890232f2SAndroid Build Coastguard Worker      15,
429*890232f2SAndroid Build Coastguard Worker      11,
430*890232f2SAndroid Build Coastguard Worker      7,
431*890232f2SAndroid Build Coastguard Worker      3,
432*890232f2SAndroid Build Coastguard Worker      60,
433*890232f2SAndroid Build Coastguard Worker      1
434*890232f2SAndroid Build Coastguard Worker    ], [
435*890232f2SAndroid Build Coastguard Worker      'foo',
436*890232f2SAndroid Build Coastguard Worker      'bar',
437*890232f2SAndroid Build Coastguard Worker      'baz'
438*890232f2SAndroid Build Coastguard Worker    ]);
439*890232f2SAndroid Build Coastguard Worker    testStrings([
440*890232f2SAndroid Build Coastguard Worker      3,
441*890232f2SAndroid Build Coastguard Worker      102,
442*890232f2SAndroid Build Coastguard Worker      111,
443*890232f2SAndroid Build Coastguard Worker      111,
444*890232f2SAndroid Build Coastguard Worker      0,
445*890232f2SAndroid Build Coastguard Worker      3,
446*890232f2SAndroid Build Coastguard Worker      98,
447*890232f2SAndroid Build Coastguard Worker      97,
448*890232f2SAndroid Build Coastguard Worker      114,
449*890232f2SAndroid Build Coastguard Worker      0,
450*890232f2SAndroid Build Coastguard Worker      3,
451*890232f2SAndroid Build Coastguard Worker      98,
452*890232f2SAndroid Build Coastguard Worker      97,
453*890232f2SAndroid Build Coastguard Worker      122,
454*890232f2SAndroid Build Coastguard Worker      0,
455*890232f2SAndroid Build Coastguard Worker      6,
456*890232f2SAndroid Build Coastguard Worker      15,
457*890232f2SAndroid Build Coastguard Worker      11,
458*890232f2SAndroid Build Coastguard Worker      7,
459*890232f2SAndroid Build Coastguard Worker      18,
460*890232f2SAndroid Build Coastguard Worker      14,
461*890232f2SAndroid Build Coastguard Worker      10,
462*890232f2SAndroid Build Coastguard Worker      6,
463*890232f2SAndroid Build Coastguard Worker      60,
464*890232f2SAndroid Build Coastguard Worker      1
465*890232f2SAndroid Build Coastguard Worker    ], [
466*890232f2SAndroid Build Coastguard Worker      'foo',
467*890232f2SAndroid Build Coastguard Worker      'bar',
468*890232f2SAndroid Build Coastguard Worker      'baz',
469*890232f2SAndroid Build Coastguard Worker      'foo',
470*890232f2SAndroid Build Coastguard Worker      'bar',
471*890232f2SAndroid Build Coastguard Worker      'baz'
472*890232f2SAndroid Build Coastguard Worker    ]);
473*890232f2SAndroid Build Coastguard Worker  });
474*890232f2SAndroid Build Coastguard Worker  test('mixed vector', () {
475*890232f2SAndroid Build Coastguard Worker    var flx = Reference.fromBuffer(b([
476*890232f2SAndroid Build Coastguard Worker      3,
477*890232f2SAndroid Build Coastguard Worker      102,
478*890232f2SAndroid Build Coastguard Worker      111,
479*890232f2SAndroid Build Coastguard Worker      111,
480*890232f2SAndroid Build Coastguard Worker      0,
481*890232f2SAndroid Build Coastguard Worker      0,
482*890232f2SAndroid Build Coastguard Worker      0,
483*890232f2SAndroid Build Coastguard Worker      0,
484*890232f2SAndroid Build Coastguard Worker      5,
485*890232f2SAndroid Build Coastguard Worker      0,
486*890232f2SAndroid Build Coastguard Worker      0,
487*890232f2SAndroid Build Coastguard Worker      0,
488*890232f2SAndroid Build Coastguard Worker      0,
489*890232f2SAndroid Build Coastguard Worker      0,
490*890232f2SAndroid Build Coastguard Worker      0,
491*890232f2SAndroid Build Coastguard Worker      0,
492*890232f2SAndroid Build Coastguard Worker      15,
493*890232f2SAndroid Build Coastguard Worker      0,
494*890232f2SAndroid Build Coastguard Worker      0,
495*890232f2SAndroid Build Coastguard Worker      0,
496*890232f2SAndroid Build Coastguard Worker      0,
497*890232f2SAndroid Build Coastguard Worker      0,
498*890232f2SAndroid Build Coastguard Worker      0,
499*890232f2SAndroid Build Coastguard Worker      0,
500*890232f2SAndroid Build Coastguard Worker      1,
501*890232f2SAndroid Build Coastguard Worker      0,
502*890232f2SAndroid Build Coastguard Worker      0,
503*890232f2SAndroid Build Coastguard Worker      0,
504*890232f2SAndroid Build Coastguard Worker      0,
505*890232f2SAndroid Build Coastguard Worker      0,
506*890232f2SAndroid Build Coastguard Worker      0,
507*890232f2SAndroid Build Coastguard Worker      0,
508*890232f2SAndroid Build Coastguard Worker      251,
509*890232f2SAndroid Build Coastguard Worker      255,
510*890232f2SAndroid Build Coastguard Worker      255,
511*890232f2SAndroid Build Coastguard Worker      255,
512*890232f2SAndroid Build Coastguard Worker      255,
513*890232f2SAndroid Build Coastguard Worker      255,
514*890232f2SAndroid Build Coastguard Worker      255,
515*890232f2SAndroid Build Coastguard Worker      255,
516*890232f2SAndroid Build Coastguard Worker      205,
517*890232f2SAndroid Build Coastguard Worker      204,
518*890232f2SAndroid Build Coastguard Worker      204,
519*890232f2SAndroid Build Coastguard Worker      204,
520*890232f2SAndroid Build Coastguard Worker      204,
521*890232f2SAndroid Build Coastguard Worker      204,
522*890232f2SAndroid Build Coastguard Worker      244,
523*890232f2SAndroid Build Coastguard Worker      63,
524*890232f2SAndroid Build Coastguard Worker      1,
525*890232f2SAndroid Build Coastguard Worker      0,
526*890232f2SAndroid Build Coastguard Worker      0,
527*890232f2SAndroid Build Coastguard Worker      0,
528*890232f2SAndroid Build Coastguard Worker      0,
529*890232f2SAndroid Build Coastguard Worker      0,
530*890232f2SAndroid Build Coastguard Worker      0,
531*890232f2SAndroid Build Coastguard Worker      0,
532*890232f2SAndroid Build Coastguard Worker      20,
533*890232f2SAndroid Build Coastguard Worker      4,
534*890232f2SAndroid Build Coastguard Worker      4,
535*890232f2SAndroid Build Coastguard Worker      15,
536*890232f2SAndroid Build Coastguard Worker      104,
537*890232f2SAndroid Build Coastguard Worker      45,
538*890232f2SAndroid Build Coastguard Worker      43,
539*890232f2SAndroid Build Coastguard Worker      1
540*890232f2SAndroid Build Coastguard Worker    ]));
541*890232f2SAndroid Build Coastguard Worker    expect(flx.length, 5);
542*890232f2SAndroid Build Coastguard Worker    expect(flx[0].stringValue, 'foo');
543*890232f2SAndroid Build Coastguard Worker    expect(flx[1].numValue, 1);
544*890232f2SAndroid Build Coastguard Worker    expect(flx[2].numValue, -5);
545*890232f2SAndroid Build Coastguard Worker    expect(flx[3].numValue, 1.3);
546*890232f2SAndroid Build Coastguard Worker    expect(flx[4].boolValue, true);
547*890232f2SAndroid Build Coastguard Worker  });
548*890232f2SAndroid Build Coastguard Worker
549*890232f2SAndroid Build Coastguard Worker  test('single value map', () {
550*890232f2SAndroid Build Coastguard Worker    var flx = Reference.fromBuffer(b([97, 0, 1, 3, 1, 1, 1, 12, 4, 2, 36, 1]));
551*890232f2SAndroid Build Coastguard Worker    expect(flx.length, 1);
552*890232f2SAndroid Build Coastguard Worker    expect(flx['a'].numValue, 12);
553*890232f2SAndroid Build Coastguard Worker  });
554*890232f2SAndroid Build Coastguard Worker  test('two value map', () {
555*890232f2SAndroid Build Coastguard Worker    var flx = Reference.fromBuffer(
556*890232f2SAndroid Build Coastguard Worker        b([0, 97, 0, 2, 4, 4, 2, 1, 2, 45, 12, 4, 4, 4, 36, 1]));
557*890232f2SAndroid Build Coastguard Worker    expect(flx.length, 2);
558*890232f2SAndroid Build Coastguard Worker    expect(flx['a'].numValue, 12);
559*890232f2SAndroid Build Coastguard Worker    expect(flx[''].numValue, 45);
560*890232f2SAndroid Build Coastguard Worker  });
561*890232f2SAndroid Build Coastguard Worker  test('complex map', () {
562*890232f2SAndroid Build Coastguard Worker    var flx = complexMap();
563*890232f2SAndroid Build Coastguard Worker    expect(flx.length, 5);
564*890232f2SAndroid Build Coastguard Worker    expect(flx['age'].numValue, 35);
565*890232f2SAndroid Build Coastguard Worker    expect(flx['weight'].numValue, 72.5);
566*890232f2SAndroid Build Coastguard Worker    expect(flx['name'].stringValue, 'Maxim');
567*890232f2SAndroid Build Coastguard Worker
568*890232f2SAndroid Build Coastguard Worker    expect(flx['flags'].length, 4);
569*890232f2SAndroid Build Coastguard Worker    expect(flx['flags'][0].boolValue, true);
570*890232f2SAndroid Build Coastguard Worker    expect(flx['flags'][1].boolValue, false);
571*890232f2SAndroid Build Coastguard Worker    expect(flx['flags'][2].boolValue, true);
572*890232f2SAndroid Build Coastguard Worker    expect(flx['flags'][3].boolValue, true);
573*890232f2SAndroid Build Coastguard Worker
574*890232f2SAndroid Build Coastguard Worker    expect(flx['address'].length, 3);
575*890232f2SAndroid Build Coastguard Worker    expect(flx['address']['city'].stringValue, 'Bla');
576*890232f2SAndroid Build Coastguard Worker    expect(flx['address']['zip'].stringValue, '12345');
577*890232f2SAndroid Build Coastguard Worker    expect(flx['address']['countryCode'].stringValue, 'XX');
578*890232f2SAndroid Build Coastguard Worker
579*890232f2SAndroid Build Coastguard Worker    expect(
580*890232f2SAndroid Build Coastguard Worker        () => flx['address']['country'].stringValue,
581*890232f2SAndroid Build Coastguard Worker        throwsA(predicate((dynamic e) =>
582*890232f2SAndroid Build Coastguard Worker            e is ArgumentError &&
583*890232f2SAndroid Build Coastguard Worker            e.message ==
584*890232f2SAndroid Build Coastguard Worker                'Key: [country] is not applicable on: //address of: ValueType.Map')));
585*890232f2SAndroid Build Coastguard Worker    expect(
586*890232f2SAndroid Build Coastguard Worker        () => flx['address']['countryCode'][0],
587*890232f2SAndroid Build Coastguard Worker        throwsA(predicate((dynamic e) =>
588*890232f2SAndroid Build Coastguard Worker            e is ArgumentError &&
589*890232f2SAndroid Build Coastguard Worker            e.message ==
590*890232f2SAndroid Build Coastguard Worker                'Key: [0] is not applicable on: //address/countryCode of: ValueType.String')));
591*890232f2SAndroid Build Coastguard Worker    expect(
592*890232f2SAndroid Build Coastguard Worker        () => flx[1],
593*890232f2SAndroid Build Coastguard Worker        throwsA(predicate((dynamic e) =>
594*890232f2SAndroid Build Coastguard Worker            e is ArgumentError &&
595*890232f2SAndroid Build Coastguard Worker            e.message ==
596*890232f2SAndroid Build Coastguard Worker                'Key: [1] is not applicable on: / of: ValueType.Map')));
597*890232f2SAndroid Build Coastguard Worker    expect(
598*890232f2SAndroid Build Coastguard Worker        () => flx['flags'][4],
599*890232f2SAndroid Build Coastguard Worker        throwsA(predicate((dynamic e) =>
600*890232f2SAndroid Build Coastguard Worker            e is ArgumentError &&
601*890232f2SAndroid Build Coastguard Worker            e.message ==
602*890232f2SAndroid Build Coastguard Worker                'Key: [4] is not applicable on: //flags of: ValueType.VectorBool length: 4')));
603*890232f2SAndroid Build Coastguard Worker    expect(
604*890232f2SAndroid Build Coastguard Worker        () => flx['flags'][-1],
605*890232f2SAndroid Build Coastguard Worker        throwsA(predicate((dynamic e) =>
606*890232f2SAndroid Build Coastguard Worker            e is ArgumentError &&
607*890232f2SAndroid Build Coastguard Worker            e.message ==
608*890232f2SAndroid Build Coastguard Worker                'Key: [-1] is not applicable on: //flags of: ValueType.VectorBool length: 4')));
609*890232f2SAndroid Build Coastguard Worker  });
610*890232f2SAndroid Build Coastguard Worker  test('complex map to json', () {
611*890232f2SAndroid Build Coastguard Worker    var flx = complexMap();
612*890232f2SAndroid Build Coastguard Worker    expect(flx.json,
613*890232f2SAndroid Build Coastguard Worker        '{"address":{"city":"Bla","countryCode":"XX","zip":"12345"},"age":35,"flags":[true,false,true,true],"name":"Maxim","weight":72.5}');
614*890232f2SAndroid Build Coastguard Worker  });
615*890232f2SAndroid Build Coastguard Worker
616*890232f2SAndroid Build Coastguard Worker  test('complex map iterators', () {
617*890232f2SAndroid Build Coastguard Worker    var flx = complexMap();
618*890232f2SAndroid Build Coastguard Worker    expect(flx.mapKeyIterable.map((e) => e).toList(),
619*890232f2SAndroid Build Coastguard Worker        ['address', 'age', 'flags', 'name', 'weight']);
620*890232f2SAndroid Build Coastguard Worker    expect(flx.mapValueIterable.map((e) => e.json).toList(), [
621*890232f2SAndroid Build Coastguard Worker      flx['address'].json,
622*890232f2SAndroid Build Coastguard Worker      flx['age'].json,
623*890232f2SAndroid Build Coastguard Worker      flx['flags'].json,
624*890232f2SAndroid Build Coastguard Worker      flx['name'].json,
625*890232f2SAndroid Build Coastguard Worker      flx['weight'].json
626*890232f2SAndroid Build Coastguard Worker    ]);
627*890232f2SAndroid Build Coastguard Worker    expect(flx['flags'].vectorIterable.map((e) => e.boolValue).toList(),
628*890232f2SAndroid Build Coastguard Worker        [true, false, true, true]);
629*890232f2SAndroid Build Coastguard Worker  });
630*890232f2SAndroid Build Coastguard Worker
631*890232f2SAndroid Build Coastguard Worker  test('bug where offest were stored as int instead of uint', () {
632*890232f2SAndroid Build Coastguard Worker    const data = [
633*890232f2SAndroid Build Coastguard Worker      99,
634*890232f2SAndroid Build Coastguard Worker      104,
635*890232f2SAndroid Build Coastguard Worker      97,
636*890232f2SAndroid Build Coastguard Worker      110,
637*890232f2SAndroid Build Coastguard Worker      110,
638*890232f2SAndroid Build Coastguard Worker      101,
639*890232f2SAndroid Build Coastguard Worker      108,
640*890232f2SAndroid Build Coastguard Worker      115,
641*890232f2SAndroid Build Coastguard Worker      95,
642*890232f2SAndroid Build Coastguard Worker      105,
643*890232f2SAndroid Build Coastguard Worker      110,
644*890232f2SAndroid Build Coastguard Worker      0,
645*890232f2SAndroid Build Coastguard Worker      100,
646*890232f2SAndroid Build Coastguard Worker      105,
647*890232f2SAndroid Build Coastguard Worker      108,
648*890232f2SAndroid Build Coastguard Worker      97,
649*890232f2SAndroid Build Coastguard Worker      116,
650*890232f2SAndroid Build Coastguard Worker      105,
651*890232f2SAndroid Build Coastguard Worker      111,
652*890232f2SAndroid Build Coastguard Worker      110,
653*890232f2SAndroid Build Coastguard Worker      95,
654*890232f2SAndroid Build Coastguard Worker      104,
655*890232f2SAndroid Build Coastguard Worker      101,
656*890232f2SAndroid Build Coastguard Worker      105,
657*890232f2SAndroid Build Coastguard Worker      103,
658*890232f2SAndroid Build Coastguard Worker      104,
659*890232f2SAndroid Build Coastguard Worker      116,
660*890232f2SAndroid Build Coastguard Worker      95,
661*890232f2SAndroid Build Coastguard Worker      102,
662*890232f2SAndroid Build Coastguard Worker      97,
663*890232f2SAndroid Build Coastguard Worker      99,
664*890232f2SAndroid Build Coastguard Worker      116,
665*890232f2SAndroid Build Coastguard Worker      111,
666*890232f2SAndroid Build Coastguard Worker      114,
667*890232f2SAndroid Build Coastguard Worker      0,
668*890232f2SAndroid Build Coastguard Worker      100,
669*890232f2SAndroid Build Coastguard Worker      105,
670*890232f2SAndroid Build Coastguard Worker      108,
671*890232f2SAndroid Build Coastguard Worker      97,
672*890232f2SAndroid Build Coastguard Worker      116,
673*890232f2SAndroid Build Coastguard Worker      105,
674*890232f2SAndroid Build Coastguard Worker      111,
675*890232f2SAndroid Build Coastguard Worker      110,
676*890232f2SAndroid Build Coastguard Worker      95,
677*890232f2SAndroid Build Coastguard Worker      119,
678*890232f2SAndroid Build Coastguard Worker      105,
679*890232f2SAndroid Build Coastguard Worker      100,
680*890232f2SAndroid Build Coastguard Worker      116,
681*890232f2SAndroid Build Coastguard Worker      104,
682*890232f2SAndroid Build Coastguard Worker      95,
683*890232f2SAndroid Build Coastguard Worker      102,
684*890232f2SAndroid Build Coastguard Worker      97,
685*890232f2SAndroid Build Coastguard Worker      99,
686*890232f2SAndroid Build Coastguard Worker      116,
687*890232f2SAndroid Build Coastguard Worker      111,
688*890232f2SAndroid Build Coastguard Worker      114,
689*890232f2SAndroid Build Coastguard Worker      0,
690*890232f2SAndroid Build Coastguard Worker      102,
691*890232f2SAndroid Build Coastguard Worker      117,
692*890232f2SAndroid Build Coastguard Worker      115,
693*890232f2SAndroid Build Coastguard Worker      101,
694*890232f2SAndroid Build Coastguard Worker      100,
695*890232f2SAndroid Build Coastguard Worker      95,
696*890232f2SAndroid Build Coastguard Worker      97,
697*890232f2SAndroid Build Coastguard Worker      99,
698*890232f2SAndroid Build Coastguard Worker      116,
699*890232f2SAndroid Build Coastguard Worker      105,
700*890232f2SAndroid Build Coastguard Worker      118,
701*890232f2SAndroid Build Coastguard Worker      97,
702*890232f2SAndroid Build Coastguard Worker      116,
703*890232f2SAndroid Build Coastguard Worker      105,
704*890232f2SAndroid Build Coastguard Worker      111,
705*890232f2SAndroid Build Coastguard Worker      110,
706*890232f2SAndroid Build Coastguard Worker      95,
707*890232f2SAndroid Build Coastguard Worker      102,
708*890232f2SAndroid Build Coastguard Worker      117,
709*890232f2SAndroid Build Coastguard Worker      110,
710*890232f2SAndroid Build Coastguard Worker      99,
711*890232f2SAndroid Build Coastguard Worker      116,
712*890232f2SAndroid Build Coastguard Worker      105,
713*890232f2SAndroid Build Coastguard Worker      111,
714*890232f2SAndroid Build Coastguard Worker      110,
715*890232f2SAndroid Build Coastguard Worker      0,
716*890232f2SAndroid Build Coastguard Worker      112,
717*890232f2SAndroid Build Coastguard Worker      97,
718*890232f2SAndroid Build Coastguard Worker      100,
719*890232f2SAndroid Build Coastguard Worker      95,
720*890232f2SAndroid Build Coastguard Worker      118,
721*890232f2SAndroid Build Coastguard Worker      97,
722*890232f2SAndroid Build Coastguard Worker      108,
723*890232f2SAndroid Build Coastguard Worker      117,
724*890232f2SAndroid Build Coastguard Worker      101,
725*890232f2SAndroid Build Coastguard Worker      115,
726*890232f2SAndroid Build Coastguard Worker      0,
727*890232f2SAndroid Build Coastguard Worker      112,
728*890232f2SAndroid Build Coastguard Worker      97,
729*890232f2SAndroid Build Coastguard Worker      100,
730*890232f2SAndroid Build Coastguard Worker      100,
731*890232f2SAndroid Build Coastguard Worker      105,
732*890232f2SAndroid Build Coastguard Worker      110,
733*890232f2SAndroid Build Coastguard Worker      103,
734*890232f2SAndroid Build Coastguard Worker      0,
735*890232f2SAndroid Build Coastguard Worker      115,
736*890232f2SAndroid Build Coastguard Worker      116,
737*890232f2SAndroid Build Coastguard Worker      114,
738*890232f2SAndroid Build Coastguard Worker      105,
739*890232f2SAndroid Build Coastguard Worker      100,
740*890232f2SAndroid Build Coastguard Worker      101,
741*890232f2SAndroid Build Coastguard Worker      95,
742*890232f2SAndroid Build Coastguard Worker      104,
743*890232f2SAndroid Build Coastguard Worker      101,
744*890232f2SAndroid Build Coastguard Worker      105,
745*890232f2SAndroid Build Coastguard Worker      103,
746*890232f2SAndroid Build Coastguard Worker      104,
747*890232f2SAndroid Build Coastguard Worker      116,
748*890232f2SAndroid Build Coastguard Worker      0,
749*890232f2SAndroid Build Coastguard Worker      115,
750*890232f2SAndroid Build Coastguard Worker      116,
751*890232f2SAndroid Build Coastguard Worker      114,
752*890232f2SAndroid Build Coastguard Worker      105,
753*890232f2SAndroid Build Coastguard Worker      100,
754*890232f2SAndroid Build Coastguard Worker      101,
755*890232f2SAndroid Build Coastguard Worker      95,
756*890232f2SAndroid Build Coastguard Worker      119,
757*890232f2SAndroid Build Coastguard Worker      105,
758*890232f2SAndroid Build Coastguard Worker      100,
759*890232f2SAndroid Build Coastguard Worker      116,
760*890232f2SAndroid Build Coastguard Worker      104,
761*890232f2SAndroid Build Coastguard Worker      0,
762*890232f2SAndroid Build Coastguard Worker      8,
763*890232f2SAndroid Build Coastguard Worker      130,
764*890232f2SAndroid Build Coastguard Worker      119,
765*890232f2SAndroid Build Coastguard Worker      97,
766*890232f2SAndroid Build Coastguard Worker      76,
767*890232f2SAndroid Build Coastguard Worker      51,
768*890232f2SAndroid Build Coastguard Worker      41,
769*890232f2SAndroid Build Coastguard Worker      34,
770*890232f2SAndroid Build Coastguard Worker      21,
771*890232f2SAndroid Build Coastguard Worker      8,
772*890232f2SAndroid Build Coastguard Worker      1,
773*890232f2SAndroid Build Coastguard Worker      8,
774*890232f2SAndroid Build Coastguard Worker      64,
775*890232f2SAndroid Build Coastguard Worker      1,
776*890232f2SAndroid Build Coastguard Worker      1,
777*890232f2SAndroid Build Coastguard Worker      1,
778*890232f2SAndroid Build Coastguard Worker      1,
779*890232f2SAndroid Build Coastguard Worker      0,
780*890232f2SAndroid Build Coastguard Worker      1,
781*890232f2SAndroid Build Coastguard Worker      1,
782*890232f2SAndroid Build Coastguard Worker      4,
783*890232f2SAndroid Build Coastguard Worker      4,
784*890232f2SAndroid Build Coastguard Worker      4,
785*890232f2SAndroid Build Coastguard Worker      4,
786*890232f2SAndroid Build Coastguard Worker      4,
787*890232f2SAndroid Build Coastguard Worker      4,
788*890232f2SAndroid Build Coastguard Worker      4,
789*890232f2SAndroid Build Coastguard Worker      4,
790*890232f2SAndroid Build Coastguard Worker      16,
791*890232f2SAndroid Build Coastguard Worker      36,
792*890232f2SAndroid Build Coastguard Worker      1
793*890232f2SAndroid Build Coastguard Worker    ];
794*890232f2SAndroid Build Coastguard Worker    var flx = Reference.fromBuffer(b(data));
795*890232f2SAndroid Build Coastguard Worker    expect(flx.json,
796*890232f2SAndroid Build Coastguard Worker        '{"channels_in":64,"dilation_height_factor":1,"dilation_width_factor":1,"fused_activation_function":1,"pad_values":1,"padding":0,"stride_height":1,"stride_width":1}');
797*890232f2SAndroid Build Coastguard Worker    const object = {
798*890232f2SAndroid Build Coastguard Worker      "channels_in": 64,
799*890232f2SAndroid Build Coastguard Worker      "dilation_height_factor": 1,
800*890232f2SAndroid Build Coastguard Worker      "dilation_width_factor": 1,
801*890232f2SAndroid Build Coastguard Worker      "fused_activation_function": 1,
802*890232f2SAndroid Build Coastguard Worker      "pad_values": 1,
803*890232f2SAndroid Build Coastguard Worker      "padding": 0,
804*890232f2SAndroid Build Coastguard Worker      "stride_height": 1,
805*890232f2SAndroid Build Coastguard Worker      "stride_width": 1
806*890232f2SAndroid Build Coastguard Worker    };
807*890232f2SAndroid Build Coastguard Worker    var data1 = Builder.buildFromObject(object).asUint8List();
808*890232f2SAndroid Build Coastguard Worker    expect(data1.length, data.length);
809*890232f2SAndroid Build Coastguard Worker    var flx1 = Reference.fromBuffer(b(data1));
810*890232f2SAndroid Build Coastguard Worker    expect(flx1.json,
811*890232f2SAndroid Build Coastguard Worker        '{"channels_in":64,"dilation_height_factor":1,"dilation_width_factor":1,"fused_activation_function":1,"pad_values":1,"padding":0,"stride_height":1,"stride_width":1}');
812*890232f2SAndroid Build Coastguard Worker  });
813*890232f2SAndroid Build Coastguard Worker}
814*890232f2SAndroid Build Coastguard Worker
815*890232f2SAndroid Build Coastguard WorkerByteBuffer b(List<int> values) {
816*890232f2SAndroid Build Coastguard Worker  var data = Uint8List.fromList(values);
817*890232f2SAndroid Build Coastguard Worker  return data.buffer;
818*890232f2SAndroid Build Coastguard Worker}
819*890232f2SAndroid Build Coastguard Worker
820*890232f2SAndroid Build Coastguard Workervoid testNumbers(List<int> buffer, List<num> numbers) {
821*890232f2SAndroid Build Coastguard Worker  var flx = Reference.fromBuffer(b(buffer));
822*890232f2SAndroid Build Coastguard Worker  expect(flx.length, numbers.length);
823*890232f2SAndroid Build Coastguard Worker  for (var i = 0; i < flx.length; i++) {
824*890232f2SAndroid Build Coastguard Worker    expect(flx[i].numValue, closeTo(numbers[i], 0.001));
825*890232f2SAndroid Build Coastguard Worker  }
826*890232f2SAndroid Build Coastguard Worker}
827*890232f2SAndroid Build Coastguard Worker
828*890232f2SAndroid Build Coastguard Workervoid testStrings(List<int> buffer, List<String> numbers) {
829*890232f2SAndroid Build Coastguard Worker  var flx = Reference.fromBuffer(b(buffer));
830*890232f2SAndroid Build Coastguard Worker  expect(flx.length, numbers.length);
831*890232f2SAndroid Build Coastguard Worker  for (var i = 0; i < flx.length; i++) {
832*890232f2SAndroid Build Coastguard Worker    expect(flx[i].stringValue, numbers[i]);
833*890232f2SAndroid Build Coastguard Worker  }
834*890232f2SAndroid Build Coastguard Worker}
835*890232f2SAndroid Build Coastguard Worker
836*890232f2SAndroid Build Coastguard WorkerReference complexMap() {
837*890232f2SAndroid Build Coastguard Worker//  {
838*890232f2SAndroid Build Coastguard Worker//    "age": 35,
839*890232f2SAndroid Build Coastguard Worker//    "flags": [True, False, True, True],
840*890232f2SAndroid Build Coastguard Worker//    "weight": 72.5,
841*890232f2SAndroid Build Coastguard Worker//    "name": "Maxim",
842*890232f2SAndroid Build Coastguard Worker//    "address": {
843*890232f2SAndroid Build Coastguard Worker//      "city": "Bla",
844*890232f2SAndroid Build Coastguard Worker//      "zip": "12345",
845*890232f2SAndroid Build Coastguard Worker//      "countryCode": "XX",
846*890232f2SAndroid Build Coastguard Worker//    }
847*890232f2SAndroid Build Coastguard Worker//  }
848*890232f2SAndroid Build Coastguard Worker  return Reference.fromBuffer(b([
849*890232f2SAndroid Build Coastguard Worker    97,
850*890232f2SAndroid Build Coastguard Worker    100,
851*890232f2SAndroid Build Coastguard Worker    100,
852*890232f2SAndroid Build Coastguard Worker    114,
853*890232f2SAndroid Build Coastguard Worker    101,
854*890232f2SAndroid Build Coastguard Worker    115,
855*890232f2SAndroid Build Coastguard Worker    115,
856*890232f2SAndroid Build Coastguard Worker    0,
857*890232f2SAndroid Build Coastguard Worker    99,
858*890232f2SAndroid Build Coastguard Worker    105,
859*890232f2SAndroid Build Coastguard Worker    116,
860*890232f2SAndroid Build Coastguard Worker    121,
861*890232f2SAndroid Build Coastguard Worker    0,
862*890232f2SAndroid Build Coastguard Worker    3,
863*890232f2SAndroid Build Coastguard Worker    66,
864*890232f2SAndroid Build Coastguard Worker    108,
865*890232f2SAndroid Build Coastguard Worker    97,
866*890232f2SAndroid Build Coastguard Worker    0,
867*890232f2SAndroid Build Coastguard Worker    99,
868*890232f2SAndroid Build Coastguard Worker    111,
869*890232f2SAndroid Build Coastguard Worker    117,
870*890232f2SAndroid Build Coastguard Worker    110,
871*890232f2SAndroid Build Coastguard Worker    116,
872*890232f2SAndroid Build Coastguard Worker    114,
873*890232f2SAndroid Build Coastguard Worker    121,
874*890232f2SAndroid Build Coastguard Worker    67,
875*890232f2SAndroid Build Coastguard Worker    111,
876*890232f2SAndroid Build Coastguard Worker    100,
877*890232f2SAndroid Build Coastguard Worker    101,
878*890232f2SAndroid Build Coastguard Worker    0,
879*890232f2SAndroid Build Coastguard Worker    2,
880*890232f2SAndroid Build Coastguard Worker    88,
881*890232f2SAndroid Build Coastguard Worker    88,
882*890232f2SAndroid Build Coastguard Worker    0,
883*890232f2SAndroid Build Coastguard Worker    122,
884*890232f2SAndroid Build Coastguard Worker    105,
885*890232f2SAndroid Build Coastguard Worker    112,
886*890232f2SAndroid Build Coastguard Worker    0,
887*890232f2SAndroid Build Coastguard Worker    5,
888*890232f2SAndroid Build Coastguard Worker    49,
889*890232f2SAndroid Build Coastguard Worker    50,
890*890232f2SAndroid Build Coastguard Worker    51,
891*890232f2SAndroid Build Coastguard Worker    52,
892*890232f2SAndroid Build Coastguard Worker    53,
893*890232f2SAndroid Build Coastguard Worker    0,
894*890232f2SAndroid Build Coastguard Worker    3,
895*890232f2SAndroid Build Coastguard Worker    38,
896*890232f2SAndroid Build Coastguard Worker    29,
897*890232f2SAndroid Build Coastguard Worker    14,
898*890232f2SAndroid Build Coastguard Worker    3,
899*890232f2SAndroid Build Coastguard Worker    1,
900*890232f2SAndroid Build Coastguard Worker    3,
901*890232f2SAndroid Build Coastguard Worker    38,
902*890232f2SAndroid Build Coastguard Worker    22,
903*890232f2SAndroid Build Coastguard Worker    15,
904*890232f2SAndroid Build Coastguard Worker    20,
905*890232f2SAndroid Build Coastguard Worker    20,
906*890232f2SAndroid Build Coastguard Worker    20,
907*890232f2SAndroid Build Coastguard Worker    97,
908*890232f2SAndroid Build Coastguard Worker    103,
909*890232f2SAndroid Build Coastguard Worker    101,
910*890232f2SAndroid Build Coastguard Worker    0,
911*890232f2SAndroid Build Coastguard Worker    102,
912*890232f2SAndroid Build Coastguard Worker    108,
913*890232f2SAndroid Build Coastguard Worker    97,
914*890232f2SAndroid Build Coastguard Worker    103,
915*890232f2SAndroid Build Coastguard Worker    115,
916*890232f2SAndroid Build Coastguard Worker    0,
917*890232f2SAndroid Build Coastguard Worker    4,
918*890232f2SAndroid Build Coastguard Worker    1,
919*890232f2SAndroid Build Coastguard Worker    0,
920*890232f2SAndroid Build Coastguard Worker    1,
921*890232f2SAndroid Build Coastguard Worker    1,
922*890232f2SAndroid Build Coastguard Worker    110,
923*890232f2SAndroid Build Coastguard Worker    97,
924*890232f2SAndroid Build Coastguard Worker    109,
925*890232f2SAndroid Build Coastguard Worker    101,
926*890232f2SAndroid Build Coastguard Worker    0,
927*890232f2SAndroid Build Coastguard Worker    5,
928*890232f2SAndroid Build Coastguard Worker    77,
929*890232f2SAndroid Build Coastguard Worker    97,
930*890232f2SAndroid Build Coastguard Worker    120,
931*890232f2SAndroid Build Coastguard Worker    105,
932*890232f2SAndroid Build Coastguard Worker    109,
933*890232f2SAndroid Build Coastguard Worker    0,
934*890232f2SAndroid Build Coastguard Worker    119,
935*890232f2SAndroid Build Coastguard Worker    101,
936*890232f2SAndroid Build Coastguard Worker    105,
937*890232f2SAndroid Build Coastguard Worker    103,
938*890232f2SAndroid Build Coastguard Worker    104,
939*890232f2SAndroid Build Coastguard Worker    116,
940*890232f2SAndroid Build Coastguard Worker    0,
941*890232f2SAndroid Build Coastguard Worker    5,
942*890232f2SAndroid Build Coastguard Worker    93,
943*890232f2SAndroid Build Coastguard Worker    36,
944*890232f2SAndroid Build Coastguard Worker    33,
945*890232f2SAndroid Build Coastguard Worker    23,
946*890232f2SAndroid Build Coastguard Worker    12,
947*890232f2SAndroid Build Coastguard Worker    0,
948*890232f2SAndroid Build Coastguard Worker    0,
949*890232f2SAndroid Build Coastguard Worker    7,
950*890232f2SAndroid Build Coastguard Worker    0,
951*890232f2SAndroid Build Coastguard Worker    0,
952*890232f2SAndroid Build Coastguard Worker    0,
953*890232f2SAndroid Build Coastguard Worker    1,
954*890232f2SAndroid Build Coastguard Worker    0,
955*890232f2SAndroid Build Coastguard Worker    0,
956*890232f2SAndroid Build Coastguard Worker    0,
957*890232f2SAndroid Build Coastguard Worker    5,
958*890232f2SAndroid Build Coastguard Worker    0,
959*890232f2SAndroid Build Coastguard Worker    0,
960*890232f2SAndroid Build Coastguard Worker    0,
961*890232f2SAndroid Build Coastguard Worker    60,
962*890232f2SAndroid Build Coastguard Worker    0,
963*890232f2SAndroid Build Coastguard Worker    0,
964*890232f2SAndroid Build Coastguard Worker    0,
965*890232f2SAndroid Build Coastguard Worker    35,
966*890232f2SAndroid Build Coastguard Worker    0,
967*890232f2SAndroid Build Coastguard Worker    0,
968*890232f2SAndroid Build Coastguard Worker    0,
969*890232f2SAndroid Build Coastguard Worker    51,
970*890232f2SAndroid Build Coastguard Worker    0,
971*890232f2SAndroid Build Coastguard Worker    0,
972*890232f2SAndroid Build Coastguard Worker    0,
973*890232f2SAndroid Build Coastguard Worker    45,
974*890232f2SAndroid Build Coastguard Worker    0,
975*890232f2SAndroid Build Coastguard Worker    0,
976*890232f2SAndroid Build Coastguard Worker    0,
977*890232f2SAndroid Build Coastguard Worker    0,
978*890232f2SAndroid Build Coastguard Worker    0,
979*890232f2SAndroid Build Coastguard Worker    145,
980*890232f2SAndroid Build Coastguard Worker    66,
981*890232f2SAndroid Build Coastguard Worker    36,
982*890232f2SAndroid Build Coastguard Worker    4,
983*890232f2SAndroid Build Coastguard Worker    144,
984*890232f2SAndroid Build Coastguard Worker    20,
985*890232f2SAndroid Build Coastguard Worker    14,
986*890232f2SAndroid Build Coastguard Worker    25,
987*890232f2SAndroid Build Coastguard Worker    38,
988*890232f2SAndroid Build Coastguard Worker    1
989*890232f2SAndroid Build Coastguard Worker  ]));
990*890232f2SAndroid Build Coastguard Worker}
991