naz*_*art 6 java junit comparator
我需要测试这种方法 - compare().你能得到建议吗?我能做得更好(所有部分if,else-if,else).
public class AbsFigure {
class AreaCompare implements Comparator<FigureGeneral> {
@Override
public int compare(FigureGeneral oneFigure, FigureGeneral twoFigure) {
double firstValue = oneFigure.area();
double secondValue = twoFigure.area();
int result = 0;
if (firstValue > secondValue)
result = 1;
else if (firstValue < secondValue)
result = -1;
else
result = 0;
return result;
}
}
Run Code Online (Sandbox Code Playgroud)
在这个推荐之后 - 我们有下一张图片(非常感谢你们!):
public AreaCompare areaCompare = new AreaCompare();
@Test
public void testEqual() {
FigureGeneral oneFigure = new Rectangle(2.0, 2.0, "triangle");
FigureGeneral twoFigure = new Rectangle(2.0, 2.0, "rectangle");
int result = areaCompare.compare(oneFigure, twoFigure);
assertTrue("expected to be equal", result == 0);
}
@Test
public void testGreaterThan() {
FigureGeneral oneFigure = new Triangle(2.0, 2.0, "triangle");
FigureGeneral twoFigure = new Rectangle(1.0, 1.0, "rectangle");
int result = areaCompare.compare(oneFigure, twoFigure);
assertTrue("expected to be greater than", result >= 1);
}
@Test
public void testLessThan() {
FigureGeneral oneFigure = new Rectangle(1.0, 1.0, "rectangle");
FigureGeneral twoFigure = new Triangle(2.0, 2.0, "triangle");
int result = areaCompare.compare(oneFigure, twoFigure);
assertTrue("expected to be less than", result <= -1);
Run Code Online (Sandbox Code Playgroud)
现在一切正常.
mun*_*ngm 15
只需实例化你的比较器类并传入对象:
public class Test extends TestCase {
class AreaCompare implements Comparator<FigureGeneral> {
@Override
public int compare(FigureGeneral oneFigure, FigureGeneral twoFigure) {
double firstValue = oneFigure.area();
double secondValue = twoFigure.area();
int result = 0;
if (firstValue > secondValue) {
result = 1;
} else if (firstValue < secondValue) {
result = -1;
} else {
result = 0;
}
return result;
}
}
private final AreaCompare areaCompare = new AreaCompare();
@Test
public void testEqual() {
FigureGeneral oneFigure = new FigureGeneral();
FigureGeneral twoFigure = new FigureGeneral();
int result = areaCompare.compare(oneFigure, twoFigure);
assertTrue("expected to be equal", result == 0);
}
@Test
public void testGreaterThan() {
FigureGeneral oneFigure = new FigureGeneral();
FigureGeneral twoFigure = new FigureGeneral();
int result = areaCompare.compare(oneFigure, twoFigure);
assertTrue("expected to be greater than", result >= 1);
}
@Test
public void testLessThan() {
FigureGeneral oneFigure = new FigureGeneral();
FigureGeneral twoFigure = new FigureGeneral();
int result = areaCompare.compare(oneFigure, twoFigure);
assertTrue("expected to be less than", result <= -1);
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
13605 次 |
| 最近记录: |