首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >java/webdriver中每个记录级的两个嵌套地图数据验证

java/webdriver中每个记录级的两个嵌套地图数据验证
EN

Stack Overflow用户
提问于 2017-01-27 02:34:40
回答 1查看 21关注 0票数 1

我有一个场景,需要将UI数据与数据库进行比较。

在UI中,我有n个数据和n个字段。

所以我想将所有n个数据和每个数据n个字段与数据库进行比较。

因此,对于我在嵌套映射中存储UI数据的方法,以及在嵌套映射中存储数据库数据的相同方式,现在我需要比较每条记录和记录的每个字段。有没有人能建议一下怎么做?

UI嵌套地图数据看起来像- {1={1=Edit,2=Click查看报表选项,3=123456},2={1=EMPTY,2=Click查看报表选项,3=6000792},3={1=EMPTY,2=Click查看报表选项,3=6000791}}

DB嵌套地图数据如下- {1={1=Edit,2=Click查看报表选项,3=123456},2={1=EMPTY,2=Click查看报表选项,3=6000792},3={1=EMPTY,2=Click查看报表选项,3=6000791},4={1=EMPTY,2=Click查看报表选项,3=6011791},5={1=EMPTY,2=Click查看报表选项,}}

我使用的是JAVA/WebDriver语言。由于我是java方面的新手,所以不确定如何实现这一点。请提个建议。

EN

回答 1

Stack Overflow用户

发布于 2017-01-27 22:57:47

我会使用谷歌的Guava library来做到这一点。该库提供了一个比较地图的方便方法:Maps.difference(mapA, mapB)

下面是示例(为简单起见,我将样本数据复制到两个ImmutableMap对象中。请注意,这当然也适用于“正常”贴图):

代码语言:javascript
复制
ImmutableMap<Integer, ImmutableMap<Integer, String>> uiMap = ImmutableMap.<Integer, ImmutableMap<Integer, String>>of(
  1, ImmutableMap.<Integer, String>of(1, "Edit", 2, "Click to view report options", 3, "123456"),
  2, ImmutableMap.<Integer, String>of(1, "EMPTY", 2, "Click to view report options", 3, "6000792"),
  3, ImmutableMap.<Integer, String>of(1, "EMPTY", 2, "Click to view report options", 3, "6000791"));

ImmutableMap<Integer, ImmutableMap<Integer, String>> dbMap = ImmutableMap.<Integer, ImmutableMap<Integer, String>>of(
  1, ImmutableMap.<Integer, String>of(1, "Edit", 2, "Click to view report options", 3, "123456"),
  2, ImmutableMap.<Integer, String>of(1, "EMPTY", 2, "Click to view report options", 3, "6000792"),
  3, ImmutableMap.<Integer, String>of(1, "EMPTY", 2, "Click to view report options", 3, "6000791"),
  4, ImmutableMap.<Integer, String>of(1, "EMPTY", 2, "Click to view report options", 3, "6011791"),
  5, ImmutableMap.<Integer, String>of(1, "EMPTY", 2, "Click to view report options", 3, "6011792"));

System.out.println(Maps.difference(uiMap, dbMap));

这将为您提供以下输出:

代码语言:javascript
复制
not equal: only on right={4={1=EMPTY, 2=Click to view report options, 3=6011791}, 5={1=EMPTY, 2=Click to view report options, 3=6011792}}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41880514

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档