Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
Apache RocketMQ
Rocketmq
提交
6a424891
R
Rocketmq
项目概览
Apache RocketMQ
/
Rocketmq
上一次同步 大约 3 年
通知
267
Star
16139
Fork
68
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
R
Rocketmq
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
提交
6a424891
编写于
5月 14, 2019
作者:
F
flyonsnow
提交者:
dinglei
5月 14, 2019
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
[RIP-10] Add test cases for CountDownLatch2 (#868)
上级
8a7df132
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
123 addition
and
0 deletion
+123
-0
common/src/test/java/org/apache/rocketmq/common/CountDownLatch2Test.java
.../java/org/apache/rocketmq/common/CountDownLatch2Test.java
+123
-0
未找到文件。
common/src/test/java/org/apache/rocketmq/common/CountDownLatch2Test.java
0 → 100644
浏览文件 @
6a424891
/*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You under the Apache License, Version 2.0
* (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package
org.apache.rocketmq.common
;
import
org.junit.Test
;
import
java.util.concurrent.TimeUnit
;
import
static
org
.
hamcrest
.
core
.
Is
.
is
;
import
static
org
.
hamcrest
.
core
.
StringContains
.
containsString
;
import
static
org
.
junit
.
Assert
.
assertEquals
;
import
static
org
.
junit
.
Assert
.
assertFalse
;
import
static
org
.
junit
.
Assert
.
assertThat
;
import
static
org
.
junit
.
Assert
.
assertTrue
;
/**
* CountDownLatch2 Unit Test
*
* @see CountDownLatch2
*/
public
class
CountDownLatch2Test
{
/**
* test constructor with invalid init param
*
* @see CountDownLatch2#CountDownLatch2(int)
*/
@Test
public
void
testConstructorError
()
{
int
count
=
-
1
;
try
{
CountDownLatch2
latch
=
new
CountDownLatch2
(
count
);
}
catch
(
IllegalArgumentException
e
)
{
assertThat
(
e
.
getMessage
(),
is
(
"count < 0"
));
}
}
/**
* test constructor with valid init param
*
* @see CountDownLatch2#CountDownLatch2(int)
*/
@Test
public
void
testConstructor
()
{
int
count
=
10
;
CountDownLatch2
latch
=
new
CountDownLatch2
(
count
);
assertEquals
(
"Expected equal"
,
count
,
latch
.
getCount
());
assertThat
(
"Expected contain"
,
latch
.
toString
(),
containsString
(
"[Count = "
+
count
+
"]"
));
}
/**
* test await timeout
*
* @see CountDownLatch2#await(long, TimeUnit)
*/
@Test
public
void
testAwaitTimeout
()
throws
InterruptedException
{
int
count
=
1
;
CountDownLatch2
latch
=
new
CountDownLatch2
(
count
);
boolean
await
=
latch
.
await
(
10
,
TimeUnit
.
MILLISECONDS
);
assertFalse
(
"Expected false"
,
await
);
latch
.
countDown
();
boolean
await2
=
latch
.
await
(
10
,
TimeUnit
.
MILLISECONDS
);
assertTrue
(
"Expected true"
,
await2
);
}
/**
* test reset
*
* @see CountDownLatch2#countDown()
*/
@Test
(
timeout
=
1000
)
public
void
testCountDownAndGetCount
()
throws
InterruptedException
{
int
count
=
2
;
CountDownLatch2
latch
=
new
CountDownLatch2
(
count
);
assertEquals
(
"Expected equal"
,
count
,
latch
.
getCount
());
latch
.
countDown
();
assertEquals
(
"Expected equal"
,
count
-
1
,
latch
.
getCount
());
latch
.
countDown
();
latch
.
await
();
assertEquals
(
"Expected equal"
,
0
,
latch
.
getCount
());
}
/**
* test reset
*
* @see CountDownLatch2#reset()
*/
@Test
public
void
testReset
()
throws
InterruptedException
{
int
count
=
2
;
CountDownLatch2
latch
=
new
CountDownLatch2
(
count
);
latch
.
countDown
();
assertEquals
(
"Expected equal"
,
count
-
1
,
latch
.
getCount
());
latch
.
reset
();
assertEquals
(
"Expected equal"
,
count
,
latch
.
getCount
());
latch
.
countDown
();
latch
.
countDown
();
latch
.
await
();
assertEquals
(
"Expected equal"
,
0
,
latch
.
getCount
());
// coverage Sync#tryReleaseShared, c==0
latch
.
countDown
();
assertEquals
(
"Expected equal"
,
0
,
latch
.
getCount
());
}
}
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录