Chrysalis - Project Composer Test Coverage


pattern/composer/
File: pattern/composer/src/NameProxy.cpp
Date: 2026-08-27 18:35:43
Lines:
43/43
100.0%
Functions:
18/18
100.0%
Branches:
32/94
34.0%
Decisions:
0/0
-%
Calls:
237/278
85.3%

Line Branch Decision Call Exec Source
1 #include "proxies/NameProxy.h"
2
3 #include "arguments/ComparisonArgument.h"
4 #include "arguments/OptionArgument.h"
5
6 #include "initializers/Instructions.h"
7 #include "initializers/PatternInstructions.h"
8 #include "instructions/ExpressionInstruction.h"
9 #include "instructions/FreePointInstruction.h"
10 #include "instructions/RelativePointInstruction.h"
11
12 using namespace Chrysalis;
13
14
1/4
✓ Branch 6 taken 194 times.
✗ Branch 7 not taken.
✗ Branch 9 not taken.
✗ Branch 10 not taken.
7/8
✓ Call 0 invoked.
✓ Call 1 invoked.
✓ Call 2 invoked.
✓ Call 3 invoked.
✓ Call 4 invoked.
✓ Call 5 invoked.
✓ Call 8 invoked.
✗ Call 11 not invoked.
194 Proxy::Name::Name(const std::string& name): name_(new Argument(name)) {}
15
16 47 Proxy::Name::Vector::Vector(args::name&& name, const args::vector* vector)
17
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.
47 : name_(std::move(name)), vector_(vector) {}
18
19 1 Proxy::Name::Vector::Line::Line(args::name&& name, const args::vector* vector, const args::line* line)
20
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.
1 : name_(std::move(name)), line_(line), vector_(vector) {}
21
22 8 Proxy::Name::Number::Number(args::name&& name, args::number&& number)
23
13/13
✓ 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.
8 : name_(std::move(name)), number_(std::move(number)) {}
24
25 2 Proxy::Name::operator const OptionArgument*() {
26
1/4
✓ Branch 11 taken 2 times.
✗ Branch 12 not taken.
✗ Branch 13 not taken.
✗ Branch 14 not taken.
11/12
✓ 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 15 not invoked.
2 return new OptionArgument(Composer::Instructions::instructionsContainer->options(), std::move(name_));
27 }
28
29 8 Proxy::Name::operator args::name() {
30
5/5
✓ Call 0 invoked.
✓ Call 1 invoked.
✓ Call 2 invoked.
✓ Call 3 invoked.
✓ Call 4 invoked.
8 return std::move(name_);
31 }
32
33 19 Proxy::Name::operator args::number() {
34
1/2
✓ Branch 12 taken 19 times.
✗ Branch 13 not taken.
17/19
✓ 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 19 not invoked.
✗ Call 20 not invoked.
19 return std::make_unique<ExpressionArgument>(Composer::Instructions::instructionsContainer->expressions(), std::move(name_));
35 }
36
37 163 Proxy::Name::operator const PatternPointArgument*() {
38
3/10
✓ Branch 3 taken 163 times.
✗ Branch 4 not taken.
✓ Branch 8 taken 163 times.
✗ Branch 9 not taken.
✓ Branch 15 taken 163 times.
✗ Branch 16 not taken.
✗ Branch 17 not taken.
✗ Branch 18 not taken.
✗ Branch 20 not taken.
✗ Branch 21 not taken.
11/13
✓ Call 0 invoked.
✓ Call 1 invoked.
✓ Call 2 invoked.
✓ Call 5 invoked.
✓ Call 6 invoked.
✓ Call 7 invoked.
✓ Call 10 invoked.
✓ Call 11 invoked.
✓ Call 12 invoked.
✓ Call 13 invoked.
✓ Call 14 invoked.
✗ Call 19 not invoked.
✗ Call 22 not invoked.
163 return new PatternPointArgument(std::move(name_), new args::patterns(*Composer::PatternInstructions::patterns));
39 }
40
41 4 Proxy::Number::Point Proxy::Name::operator()(args::number&& number) {
42
6/6
✓ Call 0 invoked.
✓ Call 1 invoked.
✓ Call 2 invoked.
✓ Call 3 invoked.
✓ Call 4 invoked.
✓ Call 5 invoked.
4 return Proxy::Number::Point(std::move(number), *this);
43 }
44 1 Proxy::Name::Vector::Line Proxy::Name::Vector::operator|(const args::line* line) {
45
7/7
✓ Call 0 invoked.
✓ Call 1 invoked.
✓ Call 2 invoked.
✓ Call 3 invoked.
✓ Call 4 invoked.
✓ Call 5 invoked.
✓ Call 6 invoked.
1 return Line(std::move(name_), vector_, line);
46 }
47
48 1 FreePointInstruction* Proxy::Name::operator()(const double x, const double y) {
49 return new FreePointInstruction(
50 Composer::Instructions::space,
51
2/4
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 5 taken 1 times.
✗ Branch 6 not taken.
3/4
✓ Call 0 invoked.
✓ Call 3 invoked.
✓ Call 4 invoked.
✗ Call 7 not invoked.
2 new args::patterns(*Composer::PatternInstructions::patterns),
52
2/4
✓ Branch 2 taken 1 times.
✗ Branch 3 not taken.
✓ Branch 7 taken 1 times.
✗ Branch 8 not taken.
13/17
✓ Call 0 invoked.
✓ Call 1 invoked.
✓ Call 4 invoked.
✓ Call 5 invoked.
✓ Call 6 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 not invoked.
✗ Call 18 not invoked.
✗ Call 19 not invoked.
✗ Call 20 not invoked.
5 std::move(name_), std::make_unique<Argument<double>>(x), std::make_unique<Argument<double>>(y)
53
1/6
✓ Branch 11 taken 1 times.
✗ Branch 12 not taken.
✗ Branch 17 not taken.
✗ Branch 18 not taken.
✗ Branch 23 not taken.
✗ Branch 24 not taken.
15/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 13 invoked.
✓ Call 14 invoked.
✓ Call 15 invoked.
✓ Call 16 invoked.
✗ Call 19 not invoked.
✗ Call 20 not invoked.
✗ Call 21 not invoked.
✗ Call 22 not invoked.
✗ Call 25 not invoked.
8 );
54 }
55
56 46 Proxy::Name::Vector::operator RelativePointInstruction*() {
57 return new RelativePointInstruction(
58 Composer::Instructions::space,
59
2/4
✓ Branch 1 taken 46 times.
✗ Branch 2 not taken.
✓ Branch 5 taken 46 times.
✗ Branch 6 not taken.
3/4
✓ Call 0 invoked.
✓ Call 3 invoked.
✓ Call 4 invoked.
✗ Call 7 not invoked.
92 new args::patterns(*Composer::PatternInstructions::patterns),
60
2/3
✓ Call 0 invoked.
✓ Call 1 invoked.
✗ Call 2 not invoked.
46 std::move(name_), vector_, new args::optional<args::line>()
61
2/10
✓ Branch 3 taken 46 times.
✗ Branch 4 not taken.
✓ Branch 12 taken 46 times.
✗ Branch 13 not taken.
✗ Branch 14 not taken.
✗ Branch 15 not taken.
✗ Branch 16 not taken.
✗ Branch 17 not taken.
✗ Branch 18 not taken.
✗ Branch 19 not taken.
10/11
✓ Call 0 invoked.
✓ Call 1 invoked.
✓ Call 2 invoked.
✓ Call 5 invoked.
✓ Call 6 invoked.
✓ Call 7 invoked.
✓ Call 8 invoked.
✓ Call 9 invoked.
✓ Call 10 invoked.
✓ Call 11 invoked.
✗ Call 20 not invoked.
184 );
62 }
63
64 1 Proxy::Name::Vector::Line::operator RelativePointInstruction*() {
65 return new RelativePointInstruction(
66 Composer::Instructions::space,
67
2/4
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 5 taken 1 times.
✗ Branch 6 not taken.
3/4
✓ Call 0 invoked.
✓ Call 3 invoked.
✓ Call 4 invoked.
✗ Call 7 not invoked.
2 new args::patterns(*Composer::PatternInstructions::patterns),
68
5/6
✓ Call 0 invoked.
✓ Call 1 invoked.
✓ Call 2 invoked.
✓ Call 3 invoked.
✓ Call 4 invoked.
✗ Call 5 not invoked.
2 std::move(name_), vector_, new args::optional(line_)
69
2/10
✓ Branch 3 taken 1 times.
✗ Branch 4 not taken.
✓ Branch 12 taken 1 times.
✗ Branch 13 not taken.
✗ Branch 14 not taken.
✗ Branch 15 not taken.
✗ Branch 16 not taken.
✗ Branch 17 not taken.
✗ Branch 18 not taken.
✗ Branch 19 not taken.
10/11
✓ Call 0 invoked.
✓ Call 1 invoked.
✓ Call 2 invoked.
✓ Call 5 invoked.
✓ Call 6 invoked.
✓ Call 7 invoked.
✓ Call 8 invoked.
✓ Call 9 invoked.
✓ Call 10 invoked.
✓ Call 11 invoked.
✗ Call 20 not invoked.
5 );
70 }
71
72 1 Proxy::Condition::Number Proxy::operator<<(const double value, Name&& name) {
73
5/12
✓ Branch 3 taken 1 times.
✗ Branch 4 not taken.
✓ Branch 9 taken 1 times.
✗ Branch 10 not taken.
✓ Branch 16 taken 1 times.
✗ Branch 17 not taken.
✓ Branch 24 taken 1 times.
✗ Branch 25 not taken.
✓ Branch 27 taken 1 times.
✗ Branch 28 not taken.
✗ Branch 37 not taken.
✗ Branch 38 not taken.
25/32
✓ Call 0 invoked.
✓ Call 1 invoked.
✓ Call 2 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 18 invoked.
✓ Call 19 invoked.
✓ Call 20 invoked.
✓ Call 21 invoked.
✓ Call 22 invoked.
✓ Call 23 invoked.
✓ Call 26 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 39 not invoked.
✗ Call 40 not invoked.
✗ Call 41 not invoked.
✗ Call 42 not invoked.
✗ Call 43 not invoked.
2 return Condition::Number(new OptionArgument(Composer::Instructions::instructionsContainer->options(), std::move(name)), std::make_unique<Argument<double>>(value));
74 }
75
76 1 Proxy::Name::Number Proxy::Name::operator=(const double value) {
77
2/4
✓ Branch 3 taken 1 times.
✗ Branch 4 not taken.
✓ Branch 13 taken 1 times.
✗ Branch 14 not taken.
15/19
✓ Call 0 invoked.
✓ Call 1 invoked.
✓ Call 2 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 15 invoked.
✓ Call 16 invoked.
✓ Call 17 invoked.
✓ Call 18 invoked.
✗ Call 19 not invoked.
✗ Call 20 not invoked.
✗ Call 21 not invoked.
✗ Call 22 not invoked.
1 return Number(std::move(name_), std::make_unique<Argument<double>>(value));
78 }
79
80 7 Proxy::Name::Number Proxy::Name::operator=(args::number&& number) {
81
2/4
✓ Branch 5 taken 7 times.
✗ Branch 6 not taken.
✓ Branch 9 taken 7 times.
✗ Branch 10 not taken.
9/11
✓ Call 0 invoked.
✓ Call 1 invoked.
✓ Call 2 invoked.
✓ Call 3 invoked.
✓ Call 4 invoked.
✓ Call 7 invoked.
✓ Call 8 invoked.
✓ Call 11 invoked.
✓ Call 12 invoked.
✗ Call 13 not invoked.
✗ Call 14 not invoked.
7 return Number(*this, std::move(number));
82 }
83
84 2 const args::condition* Proxy::Name::operator<(Name&& other) {
85
3/8
✓ Branch 4 taken 2 times.
✗ Branch 5 not taken.
✓ Branch 9 taken 2 times.
✗ Branch 10 not taken.
✓ Branch 13 taken 2 times.
✗ Branch 14 not taken.
✗ Branch 23 not taken.
✗ Branch 24 not taken.
13/18
✓ Call 0 invoked.
✓ Call 1 invoked.
✓ Call 2 invoked.
✓ Call 3 invoked.
✓ Call 6 invoked.
✓ Call 7 invoked.
✓ Call 8 invoked.
✓ Call 11 invoked.
✓ Call 12 invoked.
✓ Call 15 invoked.
✓ Call 16 invoked.
✓ Call 17 invoked.
✓ Call 18 invoked.
✗ Call 19 not invoked.
✗ Call 20 not invoked.
✗ Call 21 not invoked.
✗ Call 22 not invoked.
✗ Call 25 not invoked.
2 return new args::compare::Less(*this, other);
86 }
87
88 8 Proxy::Name::Number::operator ExpressionInstruction*() {
89 return new ExpressionInstruction(
90
3/3
✓ Call 0 invoked.
✓ Call 1 invoked.
✓ Call 2 invoked.
8 Composer::Instructions::instructionsContainer->expressions(),
91
6/6
✓ Call 0 invoked.
✓ Call 1 invoked.
✓ Call 2 invoked.
✓ Call 3 invoked.
✓ Call 4 invoked.
✓ Call 5 invoked.
16 std::move(name_), std::move(number_)
92
1/4
✓ Branch 7 taken 8 times.
✗ Branch 8 not taken.
✗ Branch 9 not taken.
✗ Branch 10 not taken.
7/8
✓ Call 0 invoked.
✓ Call 1 invoked.
✓ Call 2 invoked.
✓ Call 3 invoked.
✓ Call 4 invoked.
✓ Call 5 invoked.
✓ Call 6 invoked.
✗ Call 11 not invoked.
32 );
93 }
94