Chrysalis - Pattern Test Coverage


pattern/
File: pattern/src/PatternSpace.cpp
Date: 2026-08-27 18:35:18
Lines:
24/26
92.3%
Functions:
10/11
90.9%
Branches:
3/8
37.5%
Decisions:
0/0
-%
Calls:
102/129
79.1%

Line Branch Decision Call Exec Source
1 #include "PatternSpace.h"
2
3 using namespace Chrysalis;
4
5
1/2
✓ Branch 19 taken 18 times.
✗ Branch 20 not taken.
33/44
✓ 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 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 not invoked.
✗ Call 36 not invoked.
✗ Call 37 not invoked.
✗ Call 38 not invoked.
✗ Call 39 not invoked.
✗ Call 40 not invoked.
✗ Call 41 not invoked.
✗ Call 42 not invoked.
✗ Call 43 not invoked.
✗ Call 44 not invoked.
✗ Call 45 not invoked.
18 PatternSpace::PatternSpace(OutlineContainer outline): outline_(std::move(outline)) {}
6
7 12 PatternSpace* PatternSpace::create() {
8
2/6
✓ Branch 4 taken 12 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 12 times.
✗ Branch 8 not taken.
✗ Branch 13 not taken.
✗ Branch 14 not taken.
7/10
✓ Call 0 invoked.
✓ Call 1 invoked.
✓ Call 2 invoked.
✓ Call 3 invoked.
✓ Call 6 invoked.
✓ Call 9 invoked.
✓ Call 10 invoked.
✗ Call 11 not invoked.
✗ Call 12 not invoked.
✗ Call 15 not invoked.
12 return new PatternSpace(std::make_unique<NamedElementsContainer<Outline>>());
9 }
10
11 39 const Point* PatternSpace::getLastPoint() const {
12
4/4
✓ Call 0 invoked.
✓ Call 1 invoked.
✓ Call 2 invoked.
✓ Call 3 invoked.
39 return lastPoint_;
13 }
14
15 12 const OutlineContainer& PatternSpace::getOutline() const {
16
5/5
✓ Call 0 invoked.
✓ Call 1 invoked.
✓ Call 2 invoked.
✓ Call 3 invoked.
✓ Call 4 invoked.
12 return outline_;
17 }
18
19 246 bool PatternSpace::hasPoint(const std::string& name) const {
20
7/7
✓ Call 0 invoked.
✓ Call 1 invoked.
✓ Call 2 invoked.
✓ Call 3 invoked.
✓ Call 4 invoked.
✓ Call 5 invoked.
✓ Call 6 invoked.
246 return points_.contains(name);
21 }
22
23 ✗ bool PatternSpace::hasOutline(const std::string& name) const {
24
0/13
✗ 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 7 not invoked.
✗ Call 8 not invoked.
✗ Call 9 not invoked.
✗ Call 10 not invoked.
✗ Call 11 not invoked.
✗ Call 12 not invoked.
✗ return outline_->has(name);
25 }
26
27 1145 const Point* PatternSpace::getPoint(const std::string& name) const {
28
8/8
✓ Call 0 invoked.
✓ Call 1 invoked.
✓ Call 2 invoked.
✓ Call 3 invoked.
✓ Call 4 invoked.
✓ Call 5 invoked.
✓ Call 6 invoked.
✓ Call 7 invoked.
1145 return points_.at(name);
29 }
30
31 9 const std::unordered_map<std::string, const Point*>& PatternSpace::getPoints() const {
32
5/5
✓ Call 0 invoked.
✓ Call 1 invoked.
✓ Call 2 invoked.
✓ Call 3 invoked.
✓ Call 4 invoked.
9 return points_;
33 }
34
35 240 void PatternSpace::addPoint(const std::string& name, const Point* point) {
36
6/6
✓ Call 0 invoked.
✓ Call 1 invoked.
✓ Call 2 invoked.
✓ Call 3 invoked.
✓ Call 4 invoked.
✓ Call 5 invoked.
240 points_[name] = point;
37
4/4
✓ Call 0 invoked.
✓ Call 1 invoked.
✓ Call 2 invoked.
✓ Call 3 invoked.
240 lastPoint_ = point;
38
5/5
✓ Call 0 invoked.
✓ Call 1 invoked.
✓ Call 2 invoked.
✓ Call 3 invoked.
✓ Call 4 invoked.
240 trace::notify(&PatternTraceObserver::pointAdded, point);
39 240 }
40
41 6 void PatternSpace::transform(const Transformation& transformation) {
42
5/5
✓ Call 0 invoked.
✓ Call 1 invoked.
✓ Call 2 invoked.
✓ Call 3 invoked.
✓ Call 4 invoked.
6 transformation_ = transformation;
43
8/8
✓ Call 0 invoked.
✓ Call 1 invoked.
✓ Call 2 invoked.
✓ Call 3 invoked.
✓ Call 4 invoked.
✓ Call 5 invoked.
✓ Call 6 invoked.
✓ Call 7 invoked.
6 trace::notify(&PatternTraceObserver::transformed, transformation_);
44 6 }
45
46 75 const Transformation& PatternSpace::getTransformation() const {
47
5/5
✓ Call 0 invoked.
✓ Call 1 invoked.
✓ Call 2 invoked.
✓ Call 3 invoked.
✓ Call 4 invoked.
75 return transformation_;
48 }
49