小数范围之间的C#硒声明值

时间:2018-12-28 23:22:28

标签: c# selenium

我有一些过滤器正在编写自动化工具,每当我认为有解决方案时,都会被证明是错误的。它会通过,但随后我将值更改为超出范围,并且仍然通过。

这就是我想要做的。我在过滤器上有3种情况:

$10 or Less

$15-$30

$30+

我有一个以十进制表示的价格结果列表。现在,我只想声明所有三个结果。这是我尝试过的。我包括了所有这些,但是我的问题一直是>>等于一个值但>大于另一个值的范围。我想念什么?

Seems to be working:
case "10 or less":
List<decimal> listDefault = price.Select(s => decimal.Parse(s)).ToList();
Assert.IsTrue(listDefault.Where(x => x < 10).Any());
break;

This does not appear to be working:
case "11-30":
List<decimal> listDefaultRange = price.Select(s => decimal.Parse(s)).ToList();
Assert.IsTrue(listDefaultRange.Any(a => 11 < 30));
break;

Seems to be working:
case "30+":
List<decimal> listDefaultMax = price.Select(s => decimal.Parse(s)).ToList();
Assert.IsTrue(listDefaultMax.Where(x => x > 30).Any());
break;

1 个答案:

答案 0 :(得分:2)

应该是:

Assert.IsTrue(listDefaultRange.Any(x => x > 10 && x <= 30));

执行.Any(a => 11 < 30)时,仅检查11 < 30是否忽略所有输入值,这将始终返回true(如果序列包含任何元素)。