私はユニットテストで実用的な実験室で作業しています。以下は私がテストしているアプリケーションです(私はすべてのメソッドとコンストラクタをテストしています)。すべての私のテストは、isScalene()というメソッドをテストしています。これは、三角形がスカラー(すべての辺が一意であるかどうか)をチェックします。テスト方法が失敗する(VSのユニットテスト)
テストメソッドが失敗したことがわかります。私が "等しく"をTrueに、 "scalene"をFalseに変更すると、それは合格となります。何かのアプリケーションで間違っているが、私はちょうど(ただし)は、おそらく(uniqueSides」で)それが何であるかを把握することはできません。
誰かが私を助けることができれば、私は感謝される!
public class Triangle {
double[] sides;
public Triangle(double a, double b, double c) {
if ((a <= 0) || (b <= 0) || (c <= 0)){
throw new ArgumentOutOfRangeException("Sidorna måste vara större än 0.");
}
sides = new double[] { a, b, c };
}
private int uniqueSides() {
return sides.Distinct<double>().Count();
}
public bool isScalene() {
if (uniqueSides() == 1){
return true;
}
else{
return false;
}
}
public bool isEquilateral() {
if (uniqueSides() == 3){
return true;
}
else{
return false;
}
}
public bool isIsosceles() {
if (uniqueSides() == 2){
return true;
}
else{
return false;
}
}
}
...
[TestMethod()]
public void isScalene3Test3()
{
Triangle triangle = new Triangle(25, 250, 2000);
var isosceles = triangle.isIsosceles();
var equalateral = triangle.isEquilateral();
var scalene = triangle.isScalene();
Assert.IsFalse(isosceles, "Test Isosceles");
Assert.IsFalse(equalateral, "Test Equalateral");
Assert.IsTrue(scalene, "Test Scalene");
}
ああ、どのように私は盲目でしたか? ;)ありがとう! :) – holyredbeard
私はいつもそれを行います:) –
@JasonCraigは答えとしてマークするのを忘れないでください。 –