Chrysalis - Pattern Test Coverage


pattern/
File: pattern/src/DartInstruction.cpp
Date: 2026-08-27 18:35:18
Lines:
26/26
100.0%
Functions:
3/3
100.0%
Branches:
49/96
51.0%
Decisions:
4/4
100.0%
Calls:
499/519
96.1%

Line Branch Decision Call Exec Source
1 #include "instructions/DartInstruction.h"
2
3 12 Chrysalis::DartInstruction::DartInstruction(ProjectSpace* space, args::patterns* patterns,
4 const PatternPointArgument* point, args::number&& intake,
5
1/1
✓ Call 0 invoked.
12 const args::vector* top, const args::vector* bottom)
6
24/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 16 invoked.
✓ Call 17 invoked.
✓ Call 18 invoked.
✓ Call 19 invoked.
✓ Call 20 invoked.
✓ Call 21 invoked.
✓ Call 22 invoked.
✓ Call 23 invoked.
12 : BasePatternInstruction(space, patterns), point_(point), intake_(std::move(intake)), top_(top), bottom_(bottom) {}
7
8
4/4
✓ Call 0 invoked.
✓ Call 1 invoked.
✓ Call 2 invoked.
✓ Call 3 invoked.
72 Chrysalis::DartInstruction::~DartInstruction() {
9
1/2
✓ Branch 4 taken 12 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.
24 delete point_;
10
1/2
✓ Branch 4 taken 12 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.
24 delete top_;
11
1/2
✓ Branch 4 taken 12 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.
24 delete bottom_;
12
7/7
✓ Call 0 invoked.
✓ Call 1 invoked.
✓ Call 2 invoked.
✓ Call 3 invoked.
✓ Call 4 invoked.
✓ Call 5 invoked.
✓ Call 6 invoked.
48 }
13
14 12 void Chrysalis::DartInstruction::execute() {
15
2/4
✓ Branch 9 taken 12 times.
✗ Branch 10 not taken.
✓ Branch 11 taken 12 times.
✗ Branch 12 not taken.
2/2
✓ Decision 'true' taken 12 times.
✓ Decision 'false' taken 12 times.
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.
24 if (const auto intake = intake_->get();
16
2/4
✓ Branch 24 taken 12 times.
✗ Branch 25 not taken.
✓ Branch 32 taken 12 times.
✗ Branch 33 not taken.
31/31
✓ 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 26 invoked.
✓ Call 27 invoked.
✓ Call 28 invoked.
✓ Call 29 invoked.
✓ Call 30 invoked.
✓ Call 31 invoked.
✓ Call 34 invoked.
12 const auto name = point_->name()->get())
17 {
18
5/10
✓ Branch 17 taken 12 times.
✗ Branch 18 not taken.
✓ Branch 43 taken 12 times.
✗ Branch 44 not taken.
✓ Branch 49 taken 12 times.
✗ Branch 50 not taken.
✓ Branch 52 taken 12 times.
✗ Branch 53 not taken.
✓ Branch 56 taken 12 times.
✗ Branch 57 not taken.
50/52
✓ 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 19 invoked.
✓ Call 20 invoked.
✓ Call 21 invoked.
✓ Call 22 invoked.
✓ Call 23 invoked.
✓ Call 24 invoked.
✓ Call 25 invoked.
✓ Call 26 invoked.
✓ Call 27 invoked.
✓ Call 28 invoked.
✓ Call 29 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 45 invoked.
✓ Call 46 invoked.
✓ Call 47 invoked.
✓ Call 48 invoked.
✓ Call 51 invoked.
✓ Call 54 invoked.
✓ Call 55 invoked.
✓ Call 58 invoked.
✓ Call 59 invoked.
✗ Call 60 not invoked.
✗ Call 61 not invoked.
12 const auto top = space().addPoint(CG::relativePoint(*point_->get(), static_cast<CG::Vector>(*top_)));
19
5/10
✓ Branch 17 taken 12 times.
✗ Branch 18 not taken.
✓ Branch 43 taken 12 times.
✗ Branch 44 not taken.
✓ Branch 49 taken 12 times.
✗ Branch 50 not taken.
✓ Branch 52 taken 12 times.
✗ Branch 53 not taken.
✓ Branch 56 taken 12 times.
✗ Branch 57 not taken.
50/52
✓ 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 19 invoked.
✓ Call 20 invoked.
✓ Call 21 invoked.
✓ Call 22 invoked.
✓ Call 23 invoked.
✓ Call 24 invoked.
✓ Call 25 invoked.
✓ Call 26 invoked.
✓ Call 27 invoked.
✓ Call 28 invoked.
✓ Call 29 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 45 invoked.
✓ Call 46 invoked.
✓ Call 47 invoked.
✓ Call 48 invoked.
✓ Call 51 invoked.
✓ Call 54 invoked.
✓ Call 55 invoked.
✓ Call 58 invoked.
✓ Call 59 invoked.
✗ Call 60 not invoked.
✗ Call 61 not invoked.
12 const auto bottom = space().addPoint(CG::relativePoint(*point_->get(), static_cast<CG::Vector>(*bottom_)));
20
5/10
✓ Branch 9 taken 12 times.
✗ Branch 10 not taken.
✓ Branch 35 taken 12 times.
✗ Branch 36 not taken.
✓ Branch 41 taken 12 times.
✗ Branch 42 not taken.
✓ Branch 44 taken 12 times.
✗ Branch 45 not taken.
✓ Branch 48 taken 12 times.
✗ Branch 49 not taken.
41/42
✓ 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 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.
✓ Call 26 invoked.
✓ Call 27 invoked.
✓ Call 28 invoked.
✓ Call 29 invoked.
✓ Call 30 invoked.
✓ Call 31 invoked.
✓ Call 32 invoked.
✓ Call 33 invoked.
✓ Call 34 invoked.
✓ Call 37 invoked.
✓ Call 38 invoked.
✓ Call 39 invoked.
✓ Call 40 invoked.
✓ Call 43 invoked.
✓ Call 46 invoked.
✓ Call 47 invoked.
✓ Call 50 invoked.
✗ Call 51 not invoked.
12 const auto leg1 = space().addPoint(CG::relativePoint(*point_->get(), 0, intake.value() / 2));
21
5/10
✓ Branch 9 taken 12 times.
✗ Branch 10 not taken.
✓ Branch 35 taken 12 times.
✗ Branch 36 not taken.
✓ Branch 41 taken 12 times.
✗ Branch 42 not taken.
✓ Branch 44 taken 12 times.
✗ Branch 45 not taken.
✓ Branch 48 taken 12 times.
✗ Branch 49 not taken.
41/42
✓ 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 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.
✓ Call 26 invoked.
✓ Call 27 invoked.
✓ Call 28 invoked.
✓ Call 29 invoked.
✓ Call 30 invoked.
✓ Call 31 invoked.
✓ Call 32 invoked.
✓ Call 33 invoked.
✓ Call 34 invoked.
✓ Call 37 invoked.
✓ Call 38 invoked.
✓ Call 39 invoked.
✓ Call 40 invoked.
✓ Call 43 invoked.
✓ Call 46 invoked.
✓ Call 47 invoked.
✓ Call 50 invoked.
✗ Call 51 not invoked.
12 const auto leg2 = space().addPoint(CG::relativePoint(*point_->get(), 180, intake.value() / 2));
22
2/2
✓ Branch 22 taken 12 times.
✓ Branch 23 taken 12 times.
2/2
✓ Decision 'true' taken 12 times.
✓ Decision 'false' taken 12 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.
24 for (const auto& pattern: *patterns_) {
23
3/6
✓ Branch 9 taken 12 times.
✗ Branch 10 not taken.
✓ Branch 12 taken 12 times.
✗ Branch 13 not taken.
✓ Branch 16 taken 12 times.
✗ Branch 17 not taken.
14/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 11 invoked.
✓ Call 14 invoked.
✓ Call 15 invoked.
✓ Call 18 invoked.
✓ Call 19 invoked.
✗ Call 20 not invoked.
✗ Call 21 not invoked.
12 pattern->addPoint(name.value() + "T", top);
24
3/6
✓ Branch 9 taken 12 times.
✗ Branch 10 not taken.
✓ Branch 12 taken 12 times.
✗ Branch 13 not taken.
✓ Branch 16 taken 12 times.
✗ Branch 17 not taken.
14/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 11 invoked.
✓ Call 14 invoked.
✓ Call 15 invoked.
✓ Call 18 invoked.
✓ Call 19 invoked.
✗ Call 20 not invoked.
✗ Call 21 not invoked.
12 pattern->addPoint(name.value() + "A", bottom);
25
3/6
✓ Branch 9 taken 12 times.
✗ Branch 10 not taken.
✓ Branch 12 taken 12 times.
✗ Branch 13 not taken.
✓ Branch 16 taken 12 times.
✗ Branch 17 not taken.
14/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 11 invoked.
✓ Call 14 invoked.
✓ Call 15 invoked.
✓ Call 18 invoked.
✓ Call 19 invoked.
✗ Call 20 not invoked.
✗ Call 21 not invoked.
12 pattern->addPoint(name.value() + "1", leg1);
26
3/6
✓ Branch 9 taken 12 times.
✗ Branch 10 not taken.
✓ Branch 12 taken 12 times.
✗ Branch 13 not taken.
✓ Branch 16 taken 12 times.
✗ Branch 17 not taken.
14/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 11 invoked.
✓ Call 14 invoked.
✓ Call 15 invoked.
✓ Call 18 invoked.
✓ Call 19 invoked.
✗ Call 20 not invoked.
✗ Call 21 not invoked.
12 pattern->addPoint(name.value() + "2", leg2);
27
2/4
✓ Branch 29 taken 12 times.
✗ Branch 30 not taken.
✓ Branch 33 taken 12 times.
✗ Branch 34 not taken.
32/33
✓ 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.
✓ Call 26 invoked.
✓ Call 27 invoked.
✓ Call 28 invoked.
✓ Call 31 invoked.
✓ Call 32 invoked.
✓ Call 35 invoked.
✗ Call 36 not invoked.
12 pattern->trace::notify(&PatternTraceObserver::relativePointConnectionAdded, point_->get(), top);
28
2/4
✓ Branch 29 taken 12 times.
✗ Branch 30 not taken.
✓ Branch 33 taken 12 times.
✗ Branch 34 not taken.
32/33
✓ 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.
✓ Call 26 invoked.
✓ Call 27 invoked.
✓ Call 28 invoked.
✓ Call 31 invoked.
✓ Call 32 invoked.
✓ Call 35 invoked.
✗ Call 36 not invoked.
12 pattern->trace::notify(&PatternTraceObserver::relativePointConnectionAdded, point_->get(), bottom);
29
2/4
✓ Branch 29 taken 12 times.
✗ Branch 30 not taken.
✓ Branch 33 taken 12 times.
✗ Branch 34 not taken.
32/33
✓ 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.
✓ Call 26 invoked.
✓ Call 27 invoked.
✓ Call 28 invoked.
✓ Call 31 invoked.
✓ Call 32 invoked.
✓ Call 35 invoked.
✗ Call 36 not invoked.
12 pattern->trace::notify(&PatternTraceObserver::relativePointConnectionAdded, point_->get(), leg1);
30
2/4
✓ Branch 29 taken 12 times.
✗ Branch 30 not taken.
✓ Branch 33 taken 12 times.
✗ Branch 34 not taken.
32/33
✓ 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.
✓ Call 26 invoked.
✓ Call 27 invoked.
✓ Call 28 invoked.
✓ Call 31 invoked.
✓ Call 32 invoked.
✓ Call 35 invoked.
✗ Call 36 not invoked.
12 pattern->trace::notify(&PatternTraceObserver::relativePointConnectionAdded, point_->get(), leg2);
31 }
32
2/4
✓ Call 0 invoked.
✓ Call 1 invoked.
✗ Call 2 not invoked.
✗ Call 3 not invoked.
12 }
33 12 }
34