Chrysalis - Pattern Test Coverage


pattern/
File: pattern/src/Transformation.cpp
Date: 2026-08-27 18:35:18
Lines:
13/13
100.0%
Functions:
2/2
100.0%
Branches:
16/30
53.3%
Decisions:
2/2
100.0%
Calls:
87/102
85.3%

Line Branch Decision Call Exec Source
1 #include "Transformation.h"
2
3 using namespace Chrysalis;
4
5 6 Transformation::Transformation(const Point* origin, CG::Vector translation, double angle)
6
10/10
✓ Call 0 invoked.
✓ Call 1 invoked.
✓ Call 2 invoked.
✓ Call 3 invoked.
✓ Call 4 invoked.
✓ Call 5 invoked.
✓ Call 6 invoked.
✓ Call 7 invoked.
✓ Call 8 invoked.
✓ Call 9 invoked.
6 : origin_(origin), translation_(std::move(translation)), angle_(std::move(angle)) {}
7
8 75 CG::Point Transformation::apply(CG::Point point) const {
9
2/2
✓ Branch 1 taken 60 times.
✓ Branch 2 taken 15 times.
2/2
✓ Decision 'true' taken 60 times.
✓ Decision 'false' taken 15 times.
1/1
✓ Call 0 invoked.
75 if (!origin_) return point;
10
1/2
✓ Branch 7 taken 15 times.
✗ Branch 8 not taken.
7/7
✓ Call 0 invoked.
✓ Call 1 invoked.
✓ Call 2 invoked.
✓ Call 3 invoked.
✓ Call 4 invoked.
✓ Call 5 invoked.
✓ Call 6 invoked.
15 const CG::Transformation translation(CGAL::TRANSLATION, translation_);
11
12
2/4
✓ Branch 10 taken 15 times.
✗ Branch 11 not taken.
✓ Branch 16 taken 15 times.
✗ Branch 17 not taken.
15/16
✓ Call 0 invoked.
✓ Call 1 invoked.
✓ Call 2 invoked.
✓ Call 3 invoked.
✓ Call 4 invoked.
✓ Call 5 invoked.
✓ Call 6 invoked.
✓ Call 7 invoked.
✓ Call 8 invoked.
✓ Call 9 invoked.
✓ Call 12 invoked.
✓ Call 13 invoked.
✓ Call 14 invoked.
✓ Call 15 invoked.
✓ Call 18 invoked.
✗ Call 19 not invoked.
15 const CG::Vector to_origin = CGAL::ORIGIN - static_cast<CG::Point>(*origin_);
13
2/4
✓ Branch 10 taken 15 times.
✗ Branch 11 not taken.
✓ Branch 16 taken 15 times.
✗ Branch 17 not taken.
15/16
✓ Call 0 invoked.
✓ Call 1 invoked.
✓ Call 2 invoked.
✓ Call 3 invoked.
✓ Call 4 invoked.
✓ Call 5 invoked.
✓ Call 6 invoked.
✓ Call 7 invoked.
✓ Call 8 invoked.
✓ Call 9 invoked.
✓ Call 12 invoked.
✓ Call 13 invoked.
✓ Call 14 invoked.
✓ Call 15 invoked.
✓ Call 18 invoked.
✗ Call 19 not invoked.
15 const CG::Vector back_again = static_cast<CG::Point>(*origin_) - CGAL::ORIGIN;
14
15
1/1
✓ Call 0 invoked.
15 const auto rotation =
16
2/4
✓ Branch 4 taken 15 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 15 times.
✗ Branch 8 not taken.
9/13
✓ Call 0 invoked.
✓ Call 1 invoked.
✓ Call 2 invoked.
✓ Call 3 invoked.
✓ Call 6 invoked.
✓ Call 9 invoked.
✓ Call 10 invoked.
✓ Call 11 invoked.
✓ Call 12 invoked.
✗ Call 13 not invoked.
✗ Call 14 not invoked.
✗ Call 15 not invoked.
✗ Call 16 not invoked.
60 CG::Transformation(CGAL::TRANSLATION, back_again) *
17
3/6
✓ Branch 4 taken 15 times.
✗ Branch 5 not taken.
✓ Branch 11 taken 15 times.
✗ Branch 12 not taken.
✓ Branch 15 taken 15 times.
✗ Branch 16 not taken.
15/19
✓ Call 0 invoked.
✓ Call 1 invoked.
✓ Call 2 invoked.
✓ Call 3 invoked.
✓ Call 6 invoked.
✓ Call 7 invoked.
✓ Call 8 invoked.
✓ Call 9 invoked.
✓ Call 10 invoked.
✓ Call 13 invoked.
✓ Call 14 invoked.
✓ Call 17 invoked.
✓ Call 18 invoked.
✓ Call 19 invoked.
✓ Call 20 invoked.
✗ Call 21 not invoked.
✗ Call 22 not invoked.
✗ Call 23 not invoked.
✗ Call 24 not invoked.
45 CG::Transformation(CGAL::ROTATION, std::sin(CG::radians(angle_)), std::cos(CG::radians(angle_))) *
18
2/4
✓ Branch 2 taken 15 times.
✗ Branch 3 not taken.
✓ Branch 7 taken 15 times.
✗ Branch 8 not taken.
7/9
✓ Call 0 invoked.
✓ Call 1 invoked.
✓ Call 4 invoked.
✓ Call 5 invoked.
✓ Call 6 invoked.
✓ Call 9 invoked.
✓ Call 10 invoked.
✗ Call 11 not invoked.
✗ Call 12 not invoked.
45 CG::Transformation(CGAL::TRANSLATION, to_origin);
19
20
2/4
✓ Branch 2 taken 15 times.
✗ Branch 3 not taken.
✓ Branch 6 taken 15 times.
✗ Branch 7 not taken.
5/6
✓ Call 0 invoked.
✓ Call 1 invoked.
✓ Call 4 invoked.
✓ Call 5 invoked.
✓ Call 8 invoked.
✗ Call 9 not invoked.
15 return translation(rotation(point));
21
2/4
✓ Call 0 invoked.
✓ Call 1 invoked.
✗ Call 2 not invoked.
✗ Call 3 not invoked.
15 }
22