我写了一个方法(使用BlueJ),它将用户的银行帐户信息作为单行描述返回:
public String toString()
{
return (acctNumber + "\t" + name + "\t" + fmt.format(balance));
}
我为这个方法写了一个单元测试:
public void testToString()
{
Account account1 = new Account("Aurora", 772340912, 1000.00f);
assertEquals("Test account toString failed.", "772340912 Aurora $1,000.00", account1.toString());
}
我查看了BlueJ中的“Resources”文件夹,它说:bluej.editor.tabsize=4
所以我认为这意味着一个标签等于4个空格。但是,即使我在预期的输出中使用了四个空格,我的单元测试仍然失败。有任何想法吗?提前谢谢!
答案 0 :(得分:1)
标签不是四个空格。 bluej.editor.tabsize=4
表示BlueJ系统正在将标签呈现为四个空格。
但是,无论它们如何渲染,标签仍然是标签,与空间完全不同。 '\t' == 11
,而' ' == 32
和" "
甚至无法与int
进行比较,因为它是String
,而不是char
1}}。
对于预期的字符串,请使用"\t"
代替" "
。
答案 1 :(得分:0)
选项卡是与空格字符不同的ASCII字符。这可能会导致某种不匹配,其中选项卡的ASCII代码与空间的4个ASCII代码进行比较,这将不相等。
所以只需编辑一个或另一个以便它们匹配!