Chrysalis - Pattern Test Coverage


pattern/
File: pattern/src/RelativePointInstruction.cpp
Date: 2026-08-27 18:35:18
Lines:
19/22
86.4%
Functions:
3/4
75.0%
Branches:
40/78
51.3%
Decisions:
4/4
100.0%
Calls:
319/341
93.5%

Line Branch Decision Call Exec Source
1 #include "instructions/RelativePointInstruction.h"
2
3 using namespace Chrysalis;
4
5 ✗ RelativePointInstruction::RelativePointInstruction(ProjectSpace* space, args::patterns* selectedPatterns,
6
0/1
✗ Call 0 not invoked.
✗ args::name&& name, const args::vector* vector)
7
0/8
✗ Call 0 not invoked.
✗ Call 1 not invoked.
✗ Call 2 not invoked.
✗ Call 3 not invoked.
✗ Call 4 not invoked.
✗ Call 5 not invoked.
✗ Call 6 not invoked.
✗ Call 11 not invoked.
✗ : RelativePointInstruction(space, selectedPatterns, std::move(name), vector, new args::optional<args::line>()) {}
8
9 141 RelativePointInstruction::RelativePointInstruction(ProjectSpace* space, args::patterns* selectedPatterns,
10 args::name&& name, const args::vector* vector,
11
1/1
✓ Call 0 invoked.
141 const args::optional<args::line>* line)
12
20/20
✓ 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 10 invoked.
✓ Call 11 invoked.
✓ Call 12 invoked.
✓ Call 13 invoked.
✓ Call 14 invoked.
✓ Call 15 invoked.
✓ Call 16 invoked.
✓ Call 17 invoked.
✓ Call 18 invoked.
✓ Call 19 invoked.
141 : BasePatternInstruction(space, selectedPatterns), name_(std::move(name)), vector_(vector), line_(line) {}
13
14
4/4
✓ Call 0 invoked.
✓ Call 1 invoked.
✓ Call 2 invoked.
✓ Call 3 invoked.
846 RelativePointInstruction::~RelativePointInstruction() {
15
1/2
✓ Branch 4 taken 141 times.
✗ Branch 5 not taken.
11/11
✓ 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 11 invoked.
✓ Call 12 invoked.
282 delete vector_;
16
1/2
✓ Branch 4 taken 141 times.
✗ Branch 5 not taken.
7/7
✓ Call 0 invoked.
✓ Call 1 invoked.
✓ Call 2 invoked.
✓ Call 3 invoked.
✓ Call 6 invoked.
✓ Call 7 invoked.
✓ Call 8 invoked.
282 delete line_;
17
7/7
✓ Call 0 invoked.
✓ Call 1 invoked.
✓ Call 2 invoked.
✓ Call 3 invoked.
✓ Call 4 invoked.
✓ Call 5 invoked.
✓ Call 6 invoked.
564 }
18
19 138 void RelativePointInstruction::execute() {
20
1/1
✓ Call 0 invoked.
138 Point* point;
21
8/14
✓ Branch 24 taken 138 times.
✗ Branch 25 not taken.
✓ Branch 26 taken 138 times.
✗ Branch 27 not taken.
✓ Branch 28 taken 102 times.
✓ Branch 29 taken 36 times.
✓ Branch 53 taken 102 times.
✗ Branch 54 not taken.
✓ Branch 55 taken 102 times.
✗ Branch 56 not taken.
✓ Branch 64 taken 102 times.
✗ Branch 65 not taken.
✓ Branch 75 taken 36 times.
✗ Branch 76 not taken.
63/63
✓ 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 10 invoked.
✓ Call 11 invoked.
✓ Call 12 invoked.
✓ Call 13 invoked.
✓ Call 14 invoked.
✓ Call 15 invoked.
✓ Call 16 invoked.
✓ Call 17 invoked.
✓ Call 18 invoked.
✓ Call 19 invoked.
✓ Call 20 invoked.
✓ Call 21 invoked.
✓ Call 22 invoked.
✓ Call 23 invoked.
✓ Call 30 invoked.
✓ Call 31 invoked.
✓ Call 32 invoked.
✓ Call 33 invoked.
✓ Call 34 invoked.
✓ Call 35 invoked.
✓ Call 36 invoked.
✓ Call 37 invoked.
✓ Call 38 invoked.
✓ Call 39 invoked.
✓ Call 40 invoked.
✓ Call 41 invoked.
✓ Call 42 invoked.
✓ Call 43 invoked.
✓ Call 44 invoked.
✓ Call 45 invoked.
✓ Call 46 invoked.
✓ Call 47 invoked.
✓ Call 48 invoked.
✓ Call 49 invoked.
✓ Call 50 invoked.
✓ Call 51 invoked.
✓ Call 52 invoked.
✓ Call 57 invoked.
✓ Call 58 invoked.
✓ Call 59 invoked.
✓ Call 60 invoked.
✓ Call 61 invoked.
✓ Call 62 invoked.
✓ Call 63 invoked.
✓ Call 66 invoked.
✓ Call 67 invoked.
✓ Call 68 invoked.
✓ Call 69 invoked.
✓ Call 70 invoked.
✓ Call 71 invoked.
✓ Call 72 invoked.
✓ Call 73 invoked.
✓ Call 74 invoked.
138 const Point* pointFrom = dynamic_cast<const PatternPointArgument*>(vector_->origin()) ? dynamic_cast<const PatternPointArgument*>(vector_->origin())->get() : patterns_->onAny(&PatternSpace::getLastPoint);
22
2/2
✓ Branch 6 taken 3 times.
✓ Branch 7 taken 135 times.
2/2
✓ Decision 'true' taken 3 times.
✓ Decision 'false' taken 135 times.
6/6
✓ Call 0 invoked.
✓ Call 1 invoked.
✓ Call 2 invoked.
✓ Call 3 invoked.
✓ Call 4 invoked.
✓ Call 5 invoked.
138 if (line_->hasArgument()) {
23
3/6
✓ Branch 12 taken 3 times.
✗ Branch 13 not taken.
✓ Branch 19 taken 3 times.
✗ Branch 20 not taken.
✓ Branch 22 taken 3 times.
✗ Branch 23 not taken.
19/20
✓ 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 10 invoked.
✓ Call 11 invoked.
✓ Call 14 invoked.
✓ Call 15 invoked.
✓ Call 16 invoked.
✓ Call 17 invoked.
✓ Call 18 invoked.
✓ Call 21 invoked.
✓ Call 24 invoked.
✗ Call 25 not invoked.
3 const auto projection = CG::projection(*pointFrom, static_cast<CG::Line>(*line_->argument()));
24
5/10
✓ Branch 9 taken 3 times.
✗ Branch 10 not taken.
✓ Branch 17 taken 3 times.
✗ Branch 18 not taken.
✓ Branch 21 taken 3 times.
✗ Branch 22 not taken.
✓ Branch 29 taken 3 times.
✗ Branch 30 not taken.
✓ Branch 33 taken 3 times.
✗ Branch 34 not taken.
27/29
✓ 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 11 invoked.
✓ Call 12 invoked.
✓ Call 13 invoked.
✓ Call 14 invoked.
✓ Call 15 invoked.
✓ Call 16 invoked.
✓ Call 19 invoked.
✓ Call 20 invoked.
✓ Call 23 invoked.
✓ Call 24 invoked.
✓ Call 25 invoked.
✓ Call 26 invoked.
✓ Call 27 invoked.
✓ Call 28 invoked.
✓ Call 31 invoked.
✓ Call 32 invoked.
✓ Call 35 invoked.
✓ Call 36 invoked.
✗ Call 37 not invoked.
✗ Call 38 not invoked.
3 const double distance = sqrt(pow(vector_->length()->get().value(), 2) + CGAL::squared_distance<CG::LinearKernel>(*pointFrom, projection));
25
5/10
✓ Branch 18 taken 3 times.
✗ Branch 19 not taken.
✓ Branch 26 taken 3 times.
✗ Branch 27 not taken.
✓ Branch 30 taken 3 times.
✗ Branch 31 not taken.
✓ Branch 34 taken 3 times.
✗ Branch 35 not taken.
✓ Branch 38 taken 3 times.
✗ Branch 39 not taken.
33/36
✓ 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 10 invoked.
✓ Call 11 invoked.
✓ Call 12 invoked.
✓ Call 13 invoked.
✓ Call 14 invoked.
✓ Call 15 invoked.
✓ Call 16 invoked.
✓ Call 17 invoked.
✓ Call 20 invoked.
✓ Call 21 invoked.
✓ Call 22 invoked.
✓ Call 23 invoked.
✓ Call 24 invoked.
✓ Call 25 invoked.
✓ Call 28 invoked.
✓ Call 29 invoked.
✓ Call 32 invoked.
✓ Call 33 invoked.
✓ Call 36 invoked.
✓ Call 37 invoked.
✓ Call 40 invoked.
✓ Call 41 invoked.
✓ Call 42 invoked.
✗ Call 43 not invoked.
✗ Call 44 not invoked.
✗ Call 45 not invoked.
3 point = space().addPoint(CG::relativePoint(projection, line_->argument()->angle()->get().value(), distance));
26 } else {
27
9/18
✓ Branch 16 taken 135 times.
✗ Branch 17 not taken.
✓ Branch 24 taken 135 times.
✗ Branch 25 not taken.
✓ Branch 28 taken 135 times.
✗ Branch 29 not taken.
✓ Branch 55 taken 135 times.
✗ Branch 56 not taken.
✓ Branch 63 taken 135 times.
✗ Branch 64 not taken.
✓ Branch 67 taken 135 times.
✗ Branch 68 not taken.
✓ Branch 74 taken 135 times.
✗ Branch 75 not taken.
✓ Branch 77 taken 135 times.
✗ Branch 78 not taken.
✓ Branch 81 taken 135 times.
✗ Branch 82 not taken.
70/75
✓ 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 10 invoked.
✓ Call 11 invoked.
✓ Call 12 invoked.
✓ Call 13 invoked.
✓ Call 14 invoked.
✓ Call 15 invoked.
✓ Call 18 invoked.
✓ Call 19 invoked.
✓ Call 20 invoked.
✓ Call 21 invoked.
✓ Call 22 invoked.
✓ Call 23 invoked.
✓ Call 26 invoked.
✓ Call 27 invoked.
✓ Call 30 invoked.
✓ Call 31 invoked.
✓ Call 32 invoked.
✓ Call 33 invoked.
✓ Call 34 invoked.
✓ Call 35 invoked.
✓ Call 36 invoked.
✓ Call 37 invoked.
✓ Call 38 invoked.
✓ Call 39 invoked.
✓ Call 40 invoked.
✓ Call 41 invoked.
✓ Call 42 invoked.
✓ Call 43 invoked.
✓ Call 44 invoked.
✓ Call 45 invoked.
✓ Call 46 invoked.
✓ Call 47 invoked.
✓ Call 48 invoked.
✓ Call 49 invoked.
✓ Call 50 invoked.
✓ Call 51 invoked.
✓ Call 52 invoked.
✓ Call 53 invoked.
✓ Call 54 invoked.
✓ Call 57 invoked.
✓ Call 58 invoked.
✓ Call 59 invoked.
✓ Call 60 invoked.
✓ Call 61 invoked.
✓ Call 62 invoked.
✓ Call 65 invoked.
✓ Call 66 invoked.
✓ Call 69 invoked.
✓ Call 70 invoked.
✓ Call 71 invoked.
✓ Call 72 invoked.
✓ Call 73 invoked.
✓ Call 76 invoked.
✓ Call 79 invoked.
✓ Call 80 invoked.
✓ Call 83 invoked.
✓ Call 84 invoked.
✓ Call 85 invoked.
✓ Call 86 invoked.
✓ Call 87 invoked.
✗ Call 88 not invoked.
✗ Call 89 not invoked.
✗ Call 90 not invoked.
✗ Call 91 not invoked.
✗ Call 92 not invoked.
135 point = space().addPoint(CG::relativePoint(*pointFrom, vector_->angle()->get().value(), vector_->length()->get().value()));
28 }
29
2/2
✓ Branch 22 taken 153 times.
✓ Branch 23 taken 138 times.
2/2
✓ Decision 'true' taken 153 times.
✓ Decision 'false' taken 138 times.
22/22
✓ 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 10 invoked.
✓ Call 11 invoked.
✓ Call 12 invoked.
✓ Call 13 invoked.
✓ Call 14 invoked.
✓ Call 15 invoked.
✓ Call 16 invoked.
✓ Call 17 invoked.
✓ Call 18 invoked.
✓ Call 19 invoked.
✓ Call 20 invoked.
✓ Call 21 invoked.
291 for (const auto& patternSpace: *patterns_) {
30
3/6
✓ Branch 16 taken 153 times.
✗ Branch 17 not taken.
✓ Branch 20 taken 153 times.
✗ Branch 21 not taken.
✓ Branch 24 taken 153 times.
✗ Branch 25 not taken.
22/24
✓ 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 10 invoked.
✓ Call 11 invoked.
✓ Call 12 invoked.
✓ Call 13 invoked.
✓ Call 14 invoked.
✓ Call 15 invoked.
✓ Call 18 invoked.
✓ Call 19 invoked.
✓ Call 22 invoked.
✓ Call 23 invoked.
✓ Call 26 invoked.
✓ Call 27 invoked.
✗ Call 28 not invoked.
✗ Call 29 not invoked.
153 patternSpace->addPoint(name_->get().value(), point);
31
1/2
✓ Branch 6 taken 153 times.
✗ Branch 7 not taken.
6/6
✓ Call 0 invoked.
✓ Call 1 invoked.
✓ Call 2 invoked.
✓ Call 3 invoked.
✓ Call 4 invoked.
✓ Call 5 invoked.
153 patternSpace->trace::notify(&PatternTraceObserver::relativePointConnectionAdded, pointFrom, point);
32 }
33 138 }
34