Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
Pinoxchio
apollo
提交
796ff100
A
apollo
项目概览
Pinoxchio
/
apollo
与 Fork 源项目一致
从无法访问的项目Fork
通知
2
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
A
apollo
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
796ff100
编写于
9月 18, 2019
作者:
fengqikai1414
提交者:
Qi Luo
9月 17, 2019
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
cyber: add unit test for SingleValueWarehouse
上级
98fd4118
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
203 addition
and
0 deletion
+203
-0
cyber/service_discovery/BUILD
cyber/service_discovery/BUILD
+10
-0
cyber/service_discovery/container/single_value_warehouse_test.cc
...ervice_discovery/container/single_value_warehouse_test.cc
+193
-0
未找到文件。
cyber/service_discovery/BUILD
浏览文件 @
796ff100
...
...
@@ -84,6 +84,16 @@ cc_library(
],
)
cc_test
(
name
=
"single_value_warehouse_test"
,
size
=
"small"
,
srcs
=
[
"container/single_value_warehouse_test.cc"
],
deps
=
[
":single_value_warehouse"
,
"@gtest//:main"
,
],
)
cc_library
(
name
=
"warehouse_base"
,
hdrs
=
[
"container/warehouse_base.h"
],
...
...
cyber/service_discovery/container/single_value_warehouse_test.cc
0 → 100644
浏览文件 @
796ff100
/******************************************************************************
* Copyright 2019 The Apollo Authors. All Rights Reserved.
*
* Licensed 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.
*****************************************************************************/
#include "cyber/service_discovery/container/single_value_warehouse.h"
#include <iostream>
#include <string>
#include <utility>
#include "gtest/gtest.h"
namespace
apollo
{
namespace
cyber
{
namespace
service_discovery
{
using
proto
::
RoleAttributes
;
TEST
(
SingleValueWarehouseTest
,
test1
)
{
{
SingleValueWarehouse
sh
;
}
{
SingleValueWarehouse
sh
;
EXPECT_EQ
(
sh
.
Size
(),
0
);
RoleAttributes
attr
;
attr
.
set_host_name
(
"caros"
);
attr
.
set_process_id
(
12345
);
int
i
=
0
,
id
=
0
;
{
attr
.
set_node_id
(
i
);
auto
role
=
std
::
make_shared
<
RoleBase
>
();
role
->
set_attributes
(
attr
);
sh
.
Add
(
id
++
,
role
);
role
=
std
::
make_shared
<
RoleBase
>
();
role
->
set_attributes
(
attr
);
sh
.
Add
(
id
++
,
role
);
role
=
std
::
make_shared
<
RoleBase
>
();
role
->
set_attributes
(
attr
);
sh
.
Add
(
id
++
,
role
);
}
{
auto
role
=
std
::
make_shared
<
RoleBase
>
();
attr
.
set_node_id
(
i
++
);
role
->
set_attributes
(
attr
);
sh
.
Add
(
id
++
,
role
);
}
{
auto
role
=
std
::
make_shared
<
RoleBase
>
();
attr
.
set_node_id
(
i
);
role
->
set_attributes
(
attr
);
sh
.
Add
(
id
++
,
role
);
}
{
attr
.
set_node_id
(
i
++
);
auto
role
=
std
::
make_shared
<
RoleWriter
>
();
role
->
set_attributes
(
attr
);
role
->
set_timestamp_ns
(
54321
);
sh
.
Add
(
id
++
,
role
);
role
=
std
::
make_shared
<
RoleWriter
>
();
role
->
set_attributes
(
attr
);
role
->
set_timestamp_ns
(
54321
);
sh
.
Add
(
id
++
,
role
);
}
{
auto
role
=
std
::
make_shared
<
RoleBase
>
();
attr
.
set_node_id
(
i
);
role
->
set_attributes
(
attr
);
sh
.
Add
(
id
++
,
role
);
}
{
auto
role
=
std
::
make_shared
<
RoleWriter
>
();
attr
.
set_node_id
(
i
);
role
->
set_attributes
(
attr
);
role
->
set_timestamp_ns
(
54321
);
sh
.
Add
(
id
++
,
role
);
}
EXPECT_EQ
(
sh
.
Size
(),
9
);
std
::
vector
<
RoleAttributes
>
roles_attr
;
std
::
vector
<
RolePtr
>
roles
;
sh
.
GetAllRoles
(
&
roles_attr
);
sh
.
GetAllRoles
(
&
roles
);
EXPECT_EQ
(
roles
.
size
(),
roles_attr
.
size
());
EXPECT_EQ
(
roles
.
size
(),
sh
.
Size
());
roles
.
clear
();
roles_attr
.
clear
();
attr
.
set_node_id
(
0
);
EXPECT_TRUE
(
sh
.
Search
(
attr
,
&
roles_attr
));
EXPECT_TRUE
(
sh
.
Search
(
attr
,
&
roles
));
EXPECT_EQ
(
roles
.
size
(),
roles_attr
.
size
());
EXPECT_EQ
(
roles
.
size
(),
4
);
RolePtr
role
;
RoleAttributes
rattr
;
EXPECT_TRUE
(
sh
.
Search
(
attr
,
&
rattr
));
EXPECT_TRUE
(
sh
.
Search
(
attr
,
&
role
));
EXPECT_TRUE
(
sh
.
Search
(
attr
));
roles_attr
.
clear
();
roles
.
clear
();
EXPECT_TRUE
(
sh
.
Search
(
5
,
&
roles_attr
));
EXPECT_TRUE
(
sh
.
Search
(
5
,
&
roles
));
EXPECT_EQ
(
roles
.
size
(),
roles_attr
.
size
());
EXPECT_EQ
(
roles
.
size
(),
1
);
EXPECT_TRUE
(
sh
.
Search
(
5
,
&
rattr
));
EXPECT_TRUE
(
sh
.
Search
(
5
,
&
role
));
EXPECT_TRUE
(
sh
.
Search
(
5
));
roles_attr
.
clear
();
roles
.
clear
();
attr
.
set_node_id
(
i
+
10
);
EXPECT_FALSE
(
sh
.
Search
(
attr
,
&
roles_attr
));
EXPECT_FALSE
(
sh
.
Search
(
attr
,
&
roles
));
EXPECT_EQ
(
roles
.
size
(),
roles_attr
.
size
());
EXPECT_EQ
(
roles
.
size
(),
0
);
EXPECT_FALSE
(
sh
.
Search
(
attr
,
&
rattr
));
EXPECT_FALSE
(
sh
.
Search
(
attr
,
&
role
));
EXPECT_FALSE
(
sh
.
Search
(
attr
));
roles_attr
.
clear
();
roles
.
clear
();
EXPECT_FALSE
(
sh
.
Search
(
i
+
10
,
&
roles_attr
));
EXPECT_FALSE
(
sh
.
Search
(
i
+
10
,
&
roles
));
EXPECT_EQ
(
roles
.
size
(),
roles_attr
.
size
());
EXPECT_EQ
(
roles
.
size
(),
0
);
EXPECT_FALSE
(
sh
.
Search
(
i
+
10
,
&
rattr
));
EXPECT_FALSE
(
sh
.
Search
(
i
+
10
,
&
role
));
EXPECT_FALSE
(
sh
.
Search
(
i
+
10
));
attr
.
set_node_id
(
0
);
sh
.
Remove
(
attr
);
EXPECT_EQ
(
sh
.
Size
(),
5
);
attr
.
set_node_id
(
i
+
10
);
sh
.
Remove
(
attr
);
EXPECT_EQ
(
sh
.
Size
(),
5
);
EXPECT_TRUE
(
sh
.
Search
(
5
,
&
role
));
sh
.
Remove
(
i
+
10
,
role
);
EXPECT_EQ
(
sh
.
Size
(),
5
);
sh
.
Remove
(
8
,
role
);
EXPECT_EQ
(
sh
.
Size
(),
5
);
sh
.
Remove
(
6
,
role
);
EXPECT_EQ
(
sh
.
Size
(),
4
);
sh
.
Remove
(
5
,
role
);
EXPECT_EQ
(
sh
.
Size
(),
3
);
sh
.
Remove
(
6
);
EXPECT_EQ
(
sh
.
Size
(),
3
);
sh
.
Remove
(
8
);
EXPECT_EQ
(
sh
.
Size
(),
2
);
sh
.
Clear
();
EXPECT_EQ
(
sh
.
Size
(),
0
);
}
}
}
// namespace service_discovery
}
// namespace cyber
}
// namespace apollo
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录