检查复选框值的更好方法
本文关键字:更好 方法 复选框 检查 | 更新日期: 2023-09-27 17:49:44
我写了一段代码,检查窗口中的3个复选框是否全部选中。
-
有更好的方式来写这个吗?
-
如果复选框不是全部选中或未选中,什么是更好的方法来做我的If语句?
如有任何建议,将不胜感激。提前感谢:)
代码调用并比较复选框的值:
public void TheCheckboxesShouldBeChecked()
{
bool estCheckboxStatus = Win1.GetCheckboxstatus();
bool checkboxStatus = true;
Assert.AreEqual(checkboxStatus, estCheckboxStatus, "Checkbox values did not match the default.");
}
public void TheCheckboxesShouldBeUnChecked()
{
bool estCheckboxStatus2 = Win1.GetCheckboxstatus2();
bool checkboxStatus2 = true;
Assert.AreEqual(checkboxStatus2, estCheckboxStatus2, "Checkbox values did not match the default.");
}
检查并返回复选框值的代码:
public bool GetCheckboxstatus()
{
bool value = false;
if (ChkBx1.Checked
&& ChkBx2.Checked
&& ChkBx3.Checked)
{
value = true;
return value;
}
else
{
return value;
}
public bool GetCheckboxstatus2()
{
bool value = true;
if (ChkBx1.Checked
&& ChkBx2.Checked
&& ChkBx3.Checked)
{
value = false;
return value;
}
else
{
return value;
}
确定是否选中所有:
return ChkBx1.Checked && ChkBx2.Checked && ChkBx3.Checked;
要确定是否选中none,则:
return !ChkBx1.Checked && !ChkBx2.Checked && !ChkBx3.Checked;
对于任何更详细的内容-即,其中被检查和未检查-那么逻辑自然开始看起来有点难看。
关于第一个问题,是的:
在测试类中:
public void TheCheckboxesShouldBeChecked()
{
AssertCheckState(Win.AreAllCheckboxesChecked());
}
public void TheCheckboxesShouldBeUnChecked()
{
AssertCheckState(Win.AreAllCheckboxesUnchecked());
}
private void AssertCheckState(bool value)
{
Assert.AreEqual(true, actual, "Checked state does not match");
}
在你的Win1
类:
public bool AreAllCheckboxesChecked
{
return (ChkBx1.Checked && ChkBx2.Checked && ChkBx3.Checked);
}
public bool AreAllCheckboxesUnchecked()
{
return (!ChkBx1.Checked && !ChkBx2.Checked && !ChkBx3.Checked);
}
至于你关心的第二个问题,那真的取决于你和你需要什么。您可以公开封装在类属性中的单个检查状态,例如