java - 断言 2 个字符串按字母顺序排列
问题描述
我目前正在写。比较投注表中的排行榜条目的测试,首先我必须比较结果选择或玩家(有效),然后我必须比较每个玩家的分数(有效),但如果这两个属性相同我必须断言桌子上较高的玩家按字母顺序排列较高。我已经创建了变量 username_player 和 previous_user 来执行此操作,但无法弄清楚如何执行此操作,我试图将其放在 else if 部分(我认为这是正确的)。似乎没有断言选项可以做到这一点?
public void test_player_leaderboard_entry() {
int size = playerRows.size();
Integer previous_total = 0;
Integer previous_points = 0;
String previous_user = null;
for (int i = 0; i < size; i++) {
//Position
String position_first_player = Drivers.getDriver().findElement(By.cssSelector("[data-qa-position-value='" + i + "']")).getText();
//Points
String points_player = Drivers.getDriver().findElement(By.cssSelector("[data-qa-points-value='" + i + "']")).getText();
//Username
String username_player = Drivers.getDriver().findElement(By.cssSelector("[data-qa-player-value='" + i + "']")).getText();
//Row Number
Integer row = i + 1;
Integer point_player = Integer.parseInt(points_player);
Integer total_of_won_and_looking_good = 0;
//PICKS
for (int pick_number = 1; pick_number < 5; pick_number++) {
String pick_status = Drivers.getDriver().findElement(By.xpath("//*[@id='root']/div/main/section[2]/section/div/ol/a[" + row + "]/li/div[3]/div[" + pick_number + "]/div")).getAttribute("data-qa-pick-state");
//System.out.println(pick_status);
if (Integer.parseInt(pick_status) == 2 || Integer.parseInt(pick_status) == 1) {
total_of_won_and_looking_good = total_of_won_and_looking_good + 1;
}
} if(previous_total.equals(total_of_won_and_looking_good)) {
Assert.assertTrue(previous_points > point_player);
System.out.println("Picks are the same, points are higher ");
} else if (previous_total.equals(total_of_won_and_looking_good)&& previous_points.equals(point_player)) {
Assert.assertTrue(previous_user.compareTo(username_player) < 0);
}
previous_total = total_of_won_and_looking_good;
previous_points = point_player;
previous_user = username_player;
System.out.println("On row number " + row + " we find " + username_player + " in position " + position_first_player + " with " + total_of_won_and_looking_good + " correct picks and " + points_player + " points!");
}
}
}
解决方案
您可以使用 compareTo 方法。
尝试使用断言previous_user.compareTo(username_player) <0
推荐阅读
- python - PyOpenGL - 使用 VBO 绘制多个不同颜色的三角形
- json - Swift Codable 没有按预期工作?
- ios - 在 IOS 中为录制的视频创建的 GIF 是非常大量的数据。如何在上传前减少它?
- postgresql - Postgres:多表与单表和多索引
- c# - 在特定 XML 节点 C# 之后添加同级
- java - 如何在 sftp 服务器中创建文件,还需要将该文件的权限更改为 511
- mql4 - 满足条件时如何进行多笔交易?
- django - 如何编写单个视图函数以从不同的 url 路径呈现多个 html?
- python - 学习 Python 的艰辛练习 47 个鼻子测试 NameError
- selenium - 如何处理 Selenium Webdriver 中重叠的两个弹出窗口?