Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
爱吃血肠
spring-framework
提交
7432202b
S
spring-framework
项目概览
爱吃血肠
/
spring-framework
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
S
spring-framework
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
7432202b
编写于
12月 14, 2008
作者:
C
Chris Beams
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
moving unit tests from .testsuite -> .context
上级
b4e61dd9
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
97 addition
and
0 deletion
+97
-0
org.springframework.context/src/test/java/org/springframework/util/SerializationTestUtils.java
...java/org/springframework/util/SerializationTestUtils.java
+97
-0
未找到文件。
org.springframework.context/src/test/java/org/springframework/util/SerializationTestUtils.java
0 → 100644
浏览文件 @
7432202b
/*
* The Spring Framework is published under the terms
* of the Apache Software License.
*/
package
org.springframework.util
;
import
java.awt.Point
;
import
java.io.ByteArrayInputStream
;
import
java.io.ByteArrayOutputStream
;
import
java.io.IOException
;
import
java.io.NotSerializableException
;
import
java.io.ObjectInputStream
;
import
java.io.ObjectOutputStream
;
import
java.io.OutputStream
;
import
java.io.Serializable
;
import
junit.framework.TestCase
;
import
org.springframework.beans.TestBean
;
/**
* Utilities for testing serializability of objects.
* Exposes static methods for use in other test cases.
* Extends TestCase only to test itself.
*
* @author Rod Johnson
*/
public
class
SerializationTestUtils
extends
TestCase
{
public
static
void
testSerialization
(
Object
o
)
throws
IOException
{
OutputStream
baos
=
new
ByteArrayOutputStream
();
ObjectOutputStream
oos
=
new
ObjectOutputStream
(
baos
);
oos
.
writeObject
(
o
);
}
public
static
boolean
isSerializable
(
Object
o
)
throws
IOException
{
try
{
testSerialization
(
o
);
return
true
;
}
catch
(
NotSerializableException
ex
)
{
return
false
;
}
}
public
static
Object
serializeAndDeserialize
(
Object
o
)
throws
IOException
,
ClassNotFoundException
{
ByteArrayOutputStream
baos
=
new
ByteArrayOutputStream
();
ObjectOutputStream
oos
=
new
ObjectOutputStream
(
baos
);
oos
.
writeObject
(
o
);
oos
.
flush
();
baos
.
flush
();
byte
[]
bytes
=
baos
.
toByteArray
();
ByteArrayInputStream
is
=
new
ByteArrayInputStream
(
bytes
);
ObjectInputStream
ois
=
new
ObjectInputStream
(
is
);
Object
o2
=
ois
.
readObject
();
return
o2
;
}
public
SerializationTestUtils
(
String
s
)
{
super
(
s
);
}
public
void
testWithNonSerializableObject
()
throws
IOException
{
TestBean
o
=
new
TestBean
();
assertFalse
(
o
instanceof
Serializable
);
assertFalse
(
isSerializable
(
o
));
try
{
testSerialization
(
o
);
fail
();
}
catch
(
NotSerializableException
ex
)
{
// Ok
}
}
public
void
testWithSerializableObject
()
throws
Exception
{
int
x
=
5
;
int
y
=
10
;
Point
p
=
new
Point
(
x
,
y
);
assertTrue
(
p
instanceof
Serializable
);
testSerialization
(
p
);
assertTrue
(
isSerializable
(
p
));
Point
p2
=
(
Point
)
serializeAndDeserialize
(
p
);
assertNotSame
(
p
,
p2
);
assertEquals
(
x
,
(
int
)
p2
.
getX
());
assertEquals
(
y
,
(
int
)
p2
.
getY
());
}
}
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录