Я пытаюсь построить метод в JUnit, чтобы проверить, является ли объект сфероцилиндром, и я не могу достичь покрытия.
Вот условия, которые я пытаюсь проверить.
-условие, где метод equals возвращает истину
-условие для obj, не являющегося сфероцилиндром
-условие для разной метки объектов
условие для разной величины объектов
условие разной высоты цилиндра объектов
Вот метод иЯ пытаюсь проверить.
public boolean equals(Object obj) {
if (!(obj instanceof Spherocylinder)) {
return false;
}
else {
Spherocylinder d = (Spherocylinder) obj;
return (label.equalsIgnoreCase(d.getLabel())
&& Math.abs(radius - d.getRadius()) < 0.000001
&& Math.abs(cylinderHeight - d.getCylinderHeight())
< 0.000001);
}
}
/**
* hashcode method for equals method.
* @return - return 0
*/
public int hashCode() {
return 0;
}
И вот мой метод испытаний, который я написал в Junit
/**A test for equals() method. **/
@Test public void equals() {
Spherocylinder c1 = new Spherocylinder("Small Example", 0.5, 0.25);
Spherocylinder c2 = new Spherocylinder("Different Example", 0.5, 0.25);
Assert.assertFalse(c1.equals(c2));
Spherocylinder d1 = new Spherocylinder("Small Example", 0.5, 0.25);
Spherocylinder d2 = new Spherocylinder("Small Example", 0.6, 0.25);
Assert.assertFalse(d1.equals(d2));
Spherocylinder e1 = new Spherocylinder("Small Example", 0.5, 0.25);
Spherocylinder e2 = new Spherocylinder("Small Example", 0.5, 0.3);
Assert.assertFalse(e1.equals(e2));
Spherocylinder f1 = new Spherocylinder("Small Example", 0.5, 0.25);
Spherocylinder f2 = new Spherocylinder("Small Example", 0.5, 0.25);
Assert.assertEquals(f1, f2);
}
Я считаю, что у меня есть все условия, за исключением следующих
- условие, чтобы объект не был сфероцилиндром
Как мне проверить это состояние?