by Guest » 05 Jan 2025, 16:12
Ich versuche, einen Test für eine Funktion zu schreiben, die ich hinzufügen möchte. Auch wenn der Test in ctest bestanden wird, sagt Codecov, wenn ich die Änderungen übertrage, dass er nicht abgedeckt ist.
Der Code für die Funktion ist unten angegeben:
Code: Select all
angle_deg_t camera_impl::getAzimuth()
{
vtkCamera* cam = this->GetVTKCamera();
double pos[3], foc[3];
cam->GetPosition(pos);
cam->GetFocalPoint(foc);
double viewDir[3];
vtkMath::Subtract(foc, pos, viewDir);
double viewDirProj[2] = { viewDir[0], viewDir[1] };
if (vtkMath::Dot2D(viewDirProj, viewDirProj) < VTK_DBL_EPSILON)
{
return 0.0;
}
return vtkMath::DegreesFromRadians(atan2(viewDirProj[1], viewDirProj[0]));
}
Und hier ist der Test, den ich dafür geschrieben habe:
Code: Select all
f3d::angle_deg_t azimuth = cam.getAzimuth();
if (!compareDouble(azimuth, 90.0))
{
std::cerr
Ich versuche, einen Test für eine Funktion zu schreiben, die ich hinzufügen möchte. Auch wenn der Test in ctest bestanden wird, sagt Codecov, wenn ich die Änderungen übertrage, dass er nicht abgedeckt ist.
Der Code für die Funktion ist unten angegeben:
[code]angle_deg_t camera_impl::getAzimuth()
{
vtkCamera* cam = this->GetVTKCamera();
double pos[3], foc[3];
cam->GetPosition(pos);
cam->GetFocalPoint(foc);
double viewDir[3];
vtkMath::Subtract(foc, pos, viewDir);
double viewDirProj[2] = { viewDir[0], viewDir[1] };
if (vtkMath::Dot2D(viewDirProj, viewDirProj) < VTK_DBL_EPSILON)
{
return 0.0;
}
return vtkMath::DegreesFromRadians(atan2(viewDirProj[1], viewDirProj[0]));
}
[/code]
Und hier ist der Test, den ich dafür geschrieben habe:
[code]f3d::angle_deg_t azimuth = cam.getAzimuth();
if (!compareDouble(azimuth, 90.0))
{
std::cerr