Chrysalis - Pattern Test Coverage


pattern/
File: pattern/src/FreePointInstruction.cpp
Date: 2026-08-27 18:35:18
Lines:
12/12
100.0%
Functions:
2/2
100.0%
Branches:
24/32
75.0%
Decisions:
4/4
100.0%
Calls:
103/106
97.2%

Line Branch Decision Call Exec Source
1 #include "instructions/FreePointInstruction.h"
2
3 using namespace Chrysalis;
4
5 7 FreePointInstruction::FreePointInstruction(ProjectSpace* space, args::patterns* patterns,
6
1/1
✓ Call 0 invoked.
7 args::name&& pointName, args::number&& x, args::number&& y)
7
26/26
✓ 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 24 invoked.
✓ Call 25 invoked.
7 : BasePatternInstruction(space, patterns), pointName_(std::move(pointName)), x_(std::move(x)), y_(std::move(y)) {}
8
9 7 void FreePointInstruction::execute() {
10
1/2
✓ Branch 9 taken 7 times.
✗ Branch 10 not taken.
9/9
✓ 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.
7 const auto pointName = pointName_->get();
11
1/2
✓ Branch 9 taken 7 times.
✗ Branch 10 not taken.
9/9
✓ 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.
7 const auto x = x_->get();
12
1/2
✓ Branch 9 taken 7 times.
✗ Branch 10 not taken.
9/9
✓ 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.
7 const auto y = y_->get();
13
14
8/8
✓ Branch 1 taken 6 times.
✓ Branch 2 taken 1 times.
✓ Branch 4 taken 5 times.
✓ Branch 5 taken 1 times.
✓ Branch 7 taken 1 times.
✓ Branch 8 taken 4 times.
✓ Branch 9 taken 3 times.
✓ Branch 10 taken 4 times.
2/2
✓ Decision 'true' taken 4 times.
✓ Decision 'false' taken 3 times.
3/3
✓ Call 0 invoked.
✓ Call 3 invoked.
✓ Call 6 invoked.
7 if (!pointName.has_value() || !x.has_value() || !y.has_value()) return;
15
16
3/6
✓ Branch 7 taken 4 times.
✗ Branch 8 not taken.
✓ Branch 11 taken 4 times.
✗ Branch 12 not taken.
✓ Branch 15 taken 4 times.
✗ Branch 16 not taken.
11/11
✓ Call 0 invoked.
✓ Call 1 invoked.
✓ Call 2 invoked.
✓ Call 3 invoked.
✓ Call 4 invoked.
✓ Call 5 invoked.
✓ Call 6 invoked.
✓ Call 9 invoked.
✓ Call 10 invoked.
✓ Call 13 invoked.
✓ Call 14 invoked.
4 const auto point = space().addPoint(x.value(), y.value());
17
2/2
✓ Branch 22 taken 9 times.
✓ Branch 23 taken 4 times.
2/2
✓ Decision 'true' taken 9 times.
✓ Decision 'false' taken 4 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.
13 for (const auto& pattern: *patterns_) {
18
2/4
✓ Branch 8 taken 9 times.
✗ Branch 9 not taken.
✓ Branch 12 taken 9 times.
✗ Branch 13 not taken.
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 10 invoked.
✓ Call 11 invoked.
9 pattern->addPoint(pointName.value(), point);
19 }
20
6/6
✓ Branch 1 taken 4 times.
✓ Branch 2 taken 3 times.
✓ Branch 4 taken 4 times.
✓ Branch 5 taken 3 times.
✓ Branch 7 taken 4 times.
✓ Branch 8 taken 3 times.
3/6
✓ Call 0 invoked.
✓ Call 3 invoked.
✓ Call 6 invoked.
✗ Call 9 not invoked.
✗ Call 10 not invoked.
✗ Call 11 not invoked.
13 }
21