Когда я тестирую код, он возвращает ошибку:
По крайней мере один из тестов не пройден!
Имя теста: GetJointPositions_Test(1.5707963267948966d,0,0,0,330.0f)
Сообщение :
конец ладониY
Ожидалось: 330.0d +/- 1.0000000000000001E-05d
Но было: 210.0d
Отклонение: 120.0d
Пытался изменить тест, но тогда эта практика не засчитывается на сайте, где я выполняю задание
using System;
using Avalonia;
using NUnit.Framework;
using static Manipulation.Manipulator;
namespace Manipulation
{
public static class AnglesToCoordinatesTask
{
///
/// По значению углов суставов возвращает массив координат суставов
/// в порядке new []{elbow, wrist, palmEnd}
///
public static Point[] GetJointPositions(double shoulder, double elbow, double wrist)
{
var elbowX = UpperArm * Math.Cos(shoulder);
var elbowY = UpperArm * Math.Sin(shoulder);
var elbowPos = new Point(elbowX, elbowY);
var wristAng = shoulder + elbow;
var wristX = elbowX + Forearm * Math.Cos(wristAng);
var wristY = elbowY + Forearm * Math.Sin(wristAng);
var wristPos = new Point(wristX, wristY);
var palmEndAng = wristAng + wrist;
var palmEndX = wristX + Palm * Math.Cos(palmEndAng);
var palmEndY = wristY + Palm * (-Math.Sin(palmEndAng));
var palmEndPos = new Point(palmEndX, palmEndY);
return new[]
{
elbowPos,
wristPos,
palmEndPos
};
}
}
[TestFixture]
public class AnglesToCoordinatesTask_Tests
{
[TestCase(0, 0, 0, UpperArm + Forearm + Palm, 0)]
[TestCase(Math.PI / 2, 0, 0, 0, UpperArm + Forearm + Palm)]
[TestCase(Math.PI, 0, 0, -UpperArm - Forearm - Palm, 0)]
[TestCase(0, Math.PI / 2, 0, UpperArm, UpperArm + Forearm)]
[TestCase(Math.PI / 2, Math.PI / 2, Math.PI / 2, -Forearm, UpperArm - Palm)]
[TestCase(0, Math.PI / 2, 0, UpperArm, UpperArm + Forearm)]
[TestCase(0, Math.PI / 2, 0, UpperArm, UpperArm + Forearm)]
public void GetJointPositions_Test(
double shoulder, double elbow, double wrist,
double palmEndX, double palmEndY)
{
var joints = AnglesToCoordinatesTask.GetJointPositions(shoulder, elbow, wrist);
Assert.That(joints[2].X, Is.EqualTo(palmEndX).Within(1e-5), "palm endX");
Assert.That(joints[2].Y, Is.EqualTo(palmEndY).Within(1e-5), "palm endY");
Assert.That(dis(new Point(0, 0), joints[0]), Is.EqualTo(UpperArm).Within(1e-5), "dis shoulder to elbow");
Assert.That(dis(joints[0], joints[1]), Is.EqualTo(Forearm).Within(1e-5), "dis elbow to wrist");
Assert.That(dis(joints[1], joints[2]), Is.EqualTo(Palm).Within(1e-5), "dis wrist to palm end");
}
private double dis(Point a, Point b)
{
return Math.Sqrt(Math.Pow(a.X - b.X, 2) + Math.Pow(a.Y - b.Y, 2));
}
}
}
Подробнее здесь: https://stackoverflow.com/questions/784 ... what-to-do
Мой код не проходит тест, я не знаю, что делать ⇐ C#
Место общения программистов C#
-
Anonymous
1715716691
Anonymous
Когда я тестирую код, он возвращает ошибку:
По крайней мере один из тестов не пройден!
Имя теста: GetJointPositions_Test(1.5707963267948966d,0,0,0,330.0f)
Сообщение :
конец ладониY
Ожидалось: 330.0d +/- 1.0000000000000001E-05d
Но было: 210.0d
Отклонение: 120.0d
Пытался изменить тест, но тогда эта практика не засчитывается на сайте, где я выполняю задание
using System;
using Avalonia;
using NUnit.Framework;
using static Manipulation.Manipulator;
namespace Manipulation
{
public static class AnglesToCoordinatesTask
{
///
/// По значению углов суставов возвращает массив координат суставов
/// в порядке new []{elbow, wrist, palmEnd}
///
public static Point[] GetJointPositions(double shoulder, double elbow, double wrist)
{
var elbowX = UpperArm * Math.Cos(shoulder);
var elbowY = UpperArm * Math.Sin(shoulder);
var elbowPos = new Point(elbowX, elbowY);
var wristAng = shoulder + elbow;
var wristX = elbowX + Forearm * Math.Cos(wristAng);
var wristY = elbowY + Forearm * Math.Sin(wristAng);
var wristPos = new Point(wristX, wristY);
var palmEndAng = wristAng + wrist;
var palmEndX = wristX + Palm * Math.Cos(palmEndAng);
var palmEndY = wristY + Palm * (-Math.Sin(palmEndAng));
var palmEndPos = new Point(palmEndX, palmEndY);
return new[]
{
elbowPos,
wristPos,
palmEndPos
};
}
}
[TestFixture]
public class AnglesToCoordinatesTask_Tests
{
[TestCase(0, 0, 0, UpperArm + Forearm + Palm, 0)]
[TestCase(Math.PI / 2, 0, 0, 0, UpperArm + Forearm + Palm)]
[TestCase(Math.PI, 0, 0, -UpperArm - Forearm - Palm, 0)]
[TestCase(0, Math.PI / 2, 0, UpperArm, UpperArm + Forearm)]
[TestCase(Math.PI / 2, Math.PI / 2, Math.PI / 2, -Forearm, UpperArm - Palm)]
[TestCase(0, Math.PI / 2, 0, UpperArm, UpperArm + Forearm)]
[TestCase(0, Math.PI / 2, 0, UpperArm, UpperArm + Forearm)]
public void GetJointPositions_Test(
double shoulder, double elbow, double wrist,
double palmEndX, double palmEndY)
{
var joints = AnglesToCoordinatesTask.GetJointPositions(shoulder, elbow, wrist);
Assert.That(joints[2].X, Is.EqualTo(palmEndX).Within(1e-5), "palm endX");
Assert.That(joints[2].Y, Is.EqualTo(palmEndY).Within(1e-5), "palm endY");
Assert.That(dis(new Point(0, 0), joints[0]), Is.EqualTo(UpperArm).Within(1e-5), "dis shoulder to elbow");
Assert.That(dis(joints[0], joints[1]), Is.EqualTo(Forearm).Within(1e-5), "dis elbow to wrist");
Assert.That(dis(joints[1], joints[2]), Is.EqualTo(Palm).Within(1e-5), "dis wrist to palm end");
}
private double dis(Point a, Point b)
{
return Math.Sqrt(Math.Pow(a.X - b.X, 2) + Math.Pow(a.Y - b.Y, 2));
}
}
}
Подробнее здесь: [url]https://stackoverflow.com/questions/78480404/my-code-does-not-pass-the-test-idk-what-to-do[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия