1

三角形をチェックする機能テストを実行しようとしています。私は3つのint入力を持っています。3 つの入力変数はそれぞれ、三角形の各辺の長さを表します。三角形の辺の長さは 1000 以下である必要があります。このメソッドの出力は、次の 5 つの値のいずれかになります。1 は不等辺三角形、2 は二等辺三角形、3 は正三角形、4 は正三角形です。三角形を表さない値、範囲外の値の場合は 5 です。

これは私が書いた最初のテストですが、正しいかどうかはわかりません。

public class TriangleTypeFunctionalTest {
    @Before
    public void setUp() throws Exception {
    }

    @Test
    public void testTriangleScalene(x,y,z) {
        if(x < 1000 and y <1000 and z< 1000){
            if ( ( x != y ) and ( x != z ) and ( y !=z ) )  
                return True;
            else
                return False;
        }
        else
            return False;

    }

}

理解とこれを行う方法についての助けが必要です

4

3 に答える 3

0

三角形を作るには、1 辺の長さが他の 2 辺の合計よりも小さくなければなりません。

試す:

if(x+y<z) //not a triangle
if(x+z<y) //not a triangle

...

数学を勉強してからしばらく経ちましたが、それでうまくいくはずです

于 2013-05-23T23:44:35.903 に答える
0

三角形を作るには、各辺が他の 2 つの辺の合計よりも低くなければなりません。(JUnit4を使用していることをお勧めします)。(x, y, z)トレイの条件をassertTrueメソッドに渡すだけです。

import static org.junit.Assert.assertTrue;
import org.junit.Test;

public class TriangleTypeFunctionalTest {
   private int x;
   private int y;
   private int z;

   @Before
   public void setUp() throws Exception {
       x = //some mock value;
       y = //some mock value;
       z = //some mock value;
   }

   @Test
   public void testTriangleScalene() {
       assertTrue((x < 1000 && y <1000 && z< 1000));
       assertTrue(( x + y > z) && (x + z > y) && (y + z > x));
   }
}
于 2013-05-23T23:47:26.753 に答える