Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
PojavLauncherTeam
GitHub Repository: PojavLauncherTeam/mobile
Path: blob/master/test/jdk/java/io/Serializable/oldTests/SimpleArrays.java
41153 views
1
/*
2
* Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved.
3
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4
*
5
* This code is free software; you can redistribute it and/or modify it
6
* under the terms of the GNU General Public License version 2 only, as
7
* published by the Free Software Foundation.
8
*
9
* This code is distributed in the hope that it will be useful, but WITHOUT
10
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
11
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
12
* version 2 for more details (a copy is included in the LICENSE file that
13
* accompanied this code).
14
*
15
* You should have received a copy of the GNU General Public License version
16
* 2 along with this work; if not, write to the Free Software Foundation,
17
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
18
*
19
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
20
* or visit www.oracle.com if you need additional information or have any
21
* questions.
22
*/
23
24
/* @test
25
* @summary it is a new version of an old test which was
26
* /src/share/test/serialization/piotest.java
27
* Test of serialization/deserialization of
28
* objects with Arrays types
29
*
30
* @build ArrayOpsTest PrimitivesTest
31
* @run main SimpleArrays
32
*/
33
34
import java.io.*;
35
36
37
public class SimpleArrays {
38
public static void main (String argv[]) throws IOException {
39
System.err.println("\nRegression test for testing of " +
40
"serialization/deserialization of objects with Arrays types\n");
41
42
FileInputStream istream = null;
43
FileOutputStream ostream = null;
44
try {
45
ostream = new FileOutputStream("piotest2.tmp");
46
ObjectOutputStream p = new ObjectOutputStream(ostream);
47
48
byte b[] = { 0, 1};
49
p.writeObject((Object)b);
50
51
short s[] = { 0, 1, 2};
52
p.writeObject((Object)s);
53
54
char c[] = { 'A', 'B', 'C', 'D'};
55
p.writeObject((Object)c);
56
57
int i[] = { 0, 1, 2, 3, 4};
58
p.writeObject((Object)i);
59
60
long l[] = { 0, 1, 2, 3, 4, 5};
61
p.writeObject((Object)l);
62
63
boolean z[] = new boolean[4];
64
z[0] = true;
65
z[1] = false;
66
z[2] = true;
67
z[3] = false;
68
p.writeObject(z);
69
70
float f[] = { 1.0f, 2.0f, 3.0f, 4.0f, 5.0f, 6.0f};
71
p.writeObject((Object)f);
72
73
double d[] = { 1.0f, 2.0f, 3.0f, 4.0f, 5.0f, 6.0f, 7.0d};
74
p.writeObject((Object)d);
75
76
String string[] = { "A", "B", "C", "D"};
77
p.writeObject((Object) string);
78
79
PrimitivesTest prim[] = new PrimitivesTest[5];
80
prim[0] = new PrimitivesTest();
81
prim[1] = prim[0];
82
prim[2] = new PrimitivesTest();
83
prim[3] = prim[2];
84
prim[4] = null;
85
p.writeObject((Object)prim);
86
87
p.flush();
88
89
/* now read them back */
90
istream = new FileInputStream("piotest2.tmp");
91
ObjectInputStream q = new ObjectInputStream(istream);
92
93
Object obj;
94
95
byte b_u[] = (byte[])q.readObject();
96
short s_u[] = (short[])q.readObject();
97
char c_u[] = (char[])q.readObject();
98
int i_u[] = (int[])q.readObject();
99
long l_u[] = (long[])q.readObject();
100
101
/* This should be boolean, but they were serialized as bytes
102
*/
103
boolean z_u[] = null;
104
Object z_obj = null;
105
try {
106
z_obj = q.readObject();
107
z_u = (boolean[])z_obj;
108
} catch (ClassCastException e) {
109
System.err.println("\nClassCastException " + e.getMessage());
110
System.err.println("\nBoolean array read as " +
111
z_obj.getClass().getName());
112
System.err.println("\nAn Exception occurred. " +
113
e.getMessage());
114
z_u = z;
115
throw new Error();
116
}
117
118
float f_u[] = (float[])q.readObject();
119
double d_u[] = (double[])q.readObject();
120
String string_u[] = (String[])q.readObject();
121
122
PrimitivesTest prim_u[] = (PrimitivesTest[])q.readObject();
123
124
if (!ArrayOpsTest.verify(i, i_u)) {
125
System.err.println("\nUnpickling of int array failed");
126
throw new Error();
127
}
128
if (!ArrayOpsTest.verify(b, b_u)) {
129
System.err.println("\nUnpickling of byte array failed");
130
throw new Error();
131
}
132
if (!ArrayOpsTest.verify(s, s_u)) {
133
System.err.println("\nUnpickling of short array failed");
134
throw new Error();
135
}
136
if (!ArrayOpsTest.verify(c, c_u)) {
137
System.err.println("\nUnpickling of char array failed");
138
throw new Error();
139
}
140
if (!ArrayOpsTest.verify(l, l_u)) {
141
System.err.println("\nUnpickling of long array failed");
142
throw new Error();
143
}
144
if (!ArrayOpsTest.verify(f, f_u)) {
145
System.err.println("\nUnpickling of float array failed");
146
throw new Error();
147
}
148
if (!ArrayOpsTest.verify(d, d_u)) {
149
System.err.println("\nUnpickling of double array failed");
150
throw new Error();
151
}
152
if (!ArrayOpsTest.verify(z, z_u)) {
153
System.err.println("\nUnpickling of boolean array failed");
154
throw new Error();
155
}
156
if (!ArrayOpsTest.verify(string, string_u)) {
157
System.err.println("\nUnpickling of String array failed");
158
throw new Error();
159
}
160
if (!ArrayOpsTest.verify(prim, prim_u)) {
161
System.err.println("\nUnpickling of PrimitivesTest array " +
162
"failed");
163
throw new Error();
164
}
165
System.err.println("\nTEST PASSED");
166
} catch (Exception e) {
167
System.err.print("TEST FAILED: ");
168
e.printStackTrace();
169
170
System.err.println("\nInput remaining");
171
int ch;
172
try {
173
while ((ch = istream.read()) != -1) {
174
System.err.print("\n " + Integer.toString(ch, 16) + " ");
175
}
176
System.err.println("\n ");
177
} catch (Exception f) {
178
throw new Error();
179
}
180
throw new Error();
181
} finally {
182
if (istream != null) istream.close();
183
if (ostream != null) ostream.close();
184
}
185
}
186
}
187
188