public class TestFailure {
@Test
public void testSwitch() throws CustomException {
Employee emp = new Employee(123, "John", "1234567890", "CEO", 0);
Map<Integer,Employee> exhmp = new HashMap<Integer, Employee>();
AllFunctions f = new AllFunctions();
exhmp.put(123, emp);
Map<Integer, Employee> htest= f.AddEmployee();
assertTrue(exhmp.equals(htest));
}
}
即使来自控制台的输入与employee对象中提供的输入相同,测试用例也会作为测试失败。但是,如果员工类的不同属性与htest分别进行比较,则测试返回true。 Allfunctions类基本上通过从控制台询问详细信息并创建包含所有员工对象的hashmap来形成员工对象。
答案 0 :(得分:-1)
如果不知道AllFunctions是什么,我只能猜出你想要实现的目标。
的Hashmap#等于
将指定对象与此映射进行相等性比较。返回 如果给定对象也是一个映射,并且两个映射表示相同的映射,则返回true。更正式地说,如果m1.entrySet()。equals(m2.entrySet()),则两个映射m1和m2表示相同的映射。这可确保equals方法在不同的实现中正常工作 Map接口。
Entry#equals将使用equals方法比较键和值。因此,如果您在Employee类中实现了equals(和hashcode)方法,那么您的代码应该可以正常工作。