Я работаю над лабораторным практикумом с юнит-тестированием. Ниже приложение, которое я тестирую (я тестирую все методы и конструктор). Все мои тесты завершены, примите один, то есть тестирующий метод isScalene (), который проверяет, является ли треугольник разносторонним (все стороны уникальны) или нет.
В нижней части вы найдете метод испытаний, который не пройден. Когда я изменяю «равный» на «Истинный» и «разносторонний» на «Ложный», он проходит. Что-то не так в приложении, но я просто не могу понять, что это такое (возможно, в "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");
}