Allo0o2a:
私はこのコードを持っていると私はJUnitのを使用してユニットテストを作成しようとしました。私は次のようにMAINをテストしようとすると、
@Test
public void testMain(){
assertEquals(determineType(0,1,1),"ABCDEF");
}
これは、void型は、ここで許可されていないことを私に言って続けています。私がしなければならないこと?
package triangle;
public class Triangle {
public static void determineType(int a, int b, int c) {
if (a >= (b + c) || c >= (b + a) || b >= (a + c)) {
System.out.println("Not a Triangle");
} else if (a == b && b == c) {
System.out.println("Equilateral Triangle");
} else if (((a * a) + (b * b)) == (c * c) || ((a * a) + (c * c)) == (b * b) || ((c * c) + (b * b)) == (a * a)) {
System.out.println("Right Triangle");
} else if (a != b && b != c && c != a) {
System.out.println("Scalene Triangle");
} else if ((a == b && b != c) || (a != b && c == a) || (c == b && c != a)) {
System.out.println("Isosceles Triangle");
}
}
public static void main(String[] args) {
determineType(1, 1, 9);
}
}
シャオゆう:
このコードを試してみてください、私はエラーを修正しました
TestCode
@Test
public void testMain(){
assertEquals(determineType(0,1,1),"Not a Triangle");
}
ソースコード
package triangle;
public class Triangle {
public static String determineType(int a, int b, int c) {
if (a >= (b + c) || c >= (b + a) || b >= (a + c)) {
return "Not a Triangle";
} else if (a == b && b == c) {
return "Equilateral Triangle";
} else if (((a * a) + (b * b)) == (c * c) || ((a * a) + (c * c)) == (b * b) || ((c * c) + (b * b)) == (a * a)) {
return "Right Triangle";
} else if (a != b && b != c && c != a) {
return "Scalene Triangle";
} else if ((a == b && b != c) || (a != b && c == a) || (c == b && c != a)) {
return "Isosceles Triangle";
}
// other case
return null;
}
public static void main(String[] args) {
System.out.println(determineType(1, 1, 9));
}
}