Chrysalis - Project Composer Test Coverage


pattern/composer/
File: pattern/composer/src/VectorProxy.cpp
Date: 2026-08-27 18:35:43
Lines:
33/37
89.2%
Functions:
16/18
88.9%
Branches:
19/64
29.7%
Decisions:
0/0
-%
Calls:
147/218
67.4%

Line Branch Decision Call Exec Source
1 #include "proxies/VectorProxy.h"
2
3 #include "initializers/Instructions.h"
4 #include "initializers/PatternInstructions.h"
5
6 #include "instructions/CurveInstruction.h"
7
8 using namespace Chrysalis;
9
10 1 Proxy::Vector::Vector(const args::point* origin, args::number&& angle, args::number&& length)
11
1/4
✓ Branch 9 taken 1 times.
✗ Branch 10 not taken.
✗ Branch 12 not taken.
✗ Branch 13 not taken.
10/11
✓ 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 not invoked.
1 : vector_(new VectorArgument(origin, std::move(angle), std::move(length))) {}
12
13 ✗ Proxy::Vector::Vector(const args::point* origin, args::number&& angle, const double length)
14
0/22
✗ Call 0 not invoked.
✗ Call 1 not invoked.
✗ Call 2 not invoked.
✗ Call 3 not invoked.
✗ Call 4 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.
✗ Call 13 not invoked.
✗ Call 16 not invoked.
✗ Call 17 not invoked.
✗ Call 18 not invoked.
✗ Call 19 not invoked.
✗ Call 20 not invoked.
✗ Call 21 not invoked.
✗ Call 22 not invoked.
✗ Call 23 not invoked.
✗ Call 24 not invoked.
✗ Call 27 not invoked.
✗ : vector_(new VectorArgument(origin, std::move(angle), std::make_unique<Argument<double>>(length))) {}
15
16 36 Proxy::Vector::Vector(const args::point* origin, const double angle, args::number&& length)
17
2/6
✓ Branch 8 taken 36 times.
✗ Branch 9 not taken.
✓ Branch 14 taken 36 times.
✗ Branch 15 not taken.
✗ Branch 25 not taken.
✗ Branch 26 not taken.
17/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 10 invoked.
✓ Call 11 invoked.
✓ Call 12 invoked.
✓ Call 13 invoked.
✓ Call 16 invoked.
✓ Call 17 invoked.
✓ Call 18 invoked.
✓ Call 19 invoked.
✓ Call 20 invoked.
✗ Call 21 not invoked.
✗ Call 22 not invoked.
✗ Call 23 not invoked.
✗ Call 24 not invoked.
✗ Call 27 not invoked.
36 : vector_(new VectorArgument(origin, std::make_unique<Argument<double>>(angle), std::move(length))) {}
18
19 1 Proxy::Vector::Vector(const args::point* origin, const double angle, const double length)
20
3/8
✓ Branch 5 taken 1 times.
✗ Branch 6 not taken.
✓ Branch 13 taken 1 times.
✗ Branch 14 not taken.
✓ Branch 19 taken 1 times.
✗ Branch 20 not taken.
✗ Branch 38 not taken.
✗ Branch 39 not taken.
24/33
✓ Call 0 invoked.
✓ Call 1 invoked.
✓ Call 2 invoked.
✓ Call 3 invoked.
✓ Call 4 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 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 not invoked.
✗ Call 31 not invoked.
✗ Call 32 not invoked.
✗ Call 33 not invoked.
✗ Call 34 not invoked.
✗ Call 35 not invoked.
✗ Call 36 not invoked.
✗ Call 37 not invoked.
✗ Call 40 not invoked.
1 : vector_(new VectorArgument(origin, std::make_unique<Argument<double>>(angle), std::make_unique<Argument<double>>(length))) {}
21
22 ✗ Proxy::Vector::Vector(args::number&& angle, args::number&& length)
23
0/11
✗ 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 11 not invoked.
✗ Call 14 not invoked.
✗ : vector_(new VectorArgument(std::move(angle), std::move(length))) {}
24
25 12 Proxy::Vector::Vector(const double angle, args::number&& length)
26
2/6
✓ Branch 8 taken 12 times.
✗ Branch 9 not taken.
✓ Branch 14 taken 12 times.
✗ Branch 15 not taken.
✗ Branch 25 not taken.
✗ Branch 26 not taken.
17/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 10 invoked.
✓ Call 11 invoked.
✓ Call 12 invoked.
✓ Call 13 invoked.
✓ Call 16 invoked.
✓ Call 17 invoked.
✓ Call 18 invoked.
✓ Call 19 invoked.
✓ Call 20 invoked.
✗ Call 21 not invoked.
✗ Call 22 not invoked.
✗ Call 23 not invoked.
✗ Call 24 not invoked.
✗ Call 27 not invoked.
12 : vector_(new VectorArgument(std::make_unique<Argument<double>>(angle), std::move(length))) {}
27
28 8 Proxy::Vector::Vector(const double angle, const double length)
29
3/8
✓ Branch 5 taken 8 times.
✗ Branch 6 not taken.
✓ Branch 13 taken 8 times.
✗ Branch 14 not taken.
✓ Branch 19 taken 8 times.
✗ Branch 20 not taken.
✗ Branch 38 not taken.
✗ Branch 39 not taken.
24/33
✓ Call 0 invoked.
✓ Call 1 invoked.
✓ Call 2 invoked.
✓ Call 3 invoked.
✓ Call 4 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 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 not invoked.
✗ Call 31 not invoked.
✗ Call 32 not invoked.
✗ Call 33 not invoked.
✗ Call 34 not invoked.
✗ Call 35 not invoked.
✗ Call 36 not invoked.
✗ Call 37 not invoked.
✗ Call 40 not invoked.
8 : vector_(new VectorArgument(std::make_unique<Argument<double>>(angle), std::make_unique<Argument<double>>(length))) {}
30
31
1/1
✓ Call 0 invoked.
47 Proxy::Vector::And::And(const VectorArgument* vector): vector_(vector) {}
32
33 1 Proxy::Vector::And::Vector::Vector(const VectorArgument* vector1, const VectorArgument* vector2)
34
3/3
✓ Call 0 invoked.
✓ Call 1 invoked.
✓ Call 2 invoked.
1 : vector1_(vector1), vector2_(vector2) {}
35
36 1 Proxy::Vector::Segment::Segment(const VectorArgument* vector, const args::segment* segment)
37
3/3
✓ Call 0 invoked.
✓ Call 1 invoked.
✓ Call 2 invoked.
1 : vector_(vector), segment_(segment) {}
38
39 10 Proxy::Vector::operator const VectorArgument*() const {
40
1/1
✓ Call 0 invoked.
10 return vector_;
41 }
42
43 47 Proxy::Vector::And Proxy::Vector::operator->() const {
44
1/2
✓ Branch 3 taken 47 times.
✗ Branch 4 not taken.
4/5
✓ Call 0 invoked.
✓ Call 1 invoked.
✓ Call 2 invoked.
✓ Call 5 invoked.
✗ Call 6 not invoked.
47 return And(vector_);
45 }
46
47 47 Proxy::Name::Vector Proxy::Vector::And::name(args::name&& name) const {
48
5/5
✓ Call 0 invoked.
✓ Call 1 invoked.
✓ Call 2 invoked.
✓ Call 3 invoked.
✓ Call 4 invoked.
47 return Name::Vector(std::move(name), vector_);
49 }
50
51 47 Proxy::Vector::And* Proxy::Vector::And::operator->() {
52 47 return this;
53 }
54
55 4 Proxy::Number::Point::Vector Proxy::Vector::operator<<(Number::Point&& args) const {
56
7/7
✓ Call 0 invoked.
✓ Call 1 invoked.
✓ Call 2 invoked.
✓ Call 3 invoked.
✓ Call 4 invoked.
✓ Call 5 invoked.
✓ Call 6 invoked.
4 return Number::Point::Vector(args, args, *this);
57 }
58
59 1 Proxy::Point::Vector Proxy::Vector::operator>>(const PatternPointArgument* point) const {
60
1/2
✓ Branch 3 taken 1 times.
✗ Branch 4 not taken.
4/5
✓ Call 0 invoked.
✓ Call 1 invoked.
✓ Call 2 invoked.
✓ Call 5 invoked.
✗ Call 6 not invoked.
1 return Point::Vector(point, vector_);
61 }
62
63 1 Proxy::Number::Vector::Segment Proxy::Vector::Segment::operator()(const double number) const {
64
2/4
✓ Branch 6 taken 1 times.
✗ Branch 7 not taken.
✓ Branch 12 taken 1 times.
✗ Branch 13 not taken.
14/18
✓ Call 0 invoked.
✓ Call 1 invoked.
✓ Call 2 invoked.
✓ Call 3 invoked.
✓ Call 4 invoked.
✓ Call 5 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 not invoked.
✗ Call 19 not invoked.
✗ Call 20 not invoked.
✗ Call 21 not invoked.
1 return Number::Vector::Segment(std::make_unique<Argument<double>>(number), vector_, segment_);
65 }
66
67 1 Proxy::Vector::And::Vector::operator CurveInstruction*() const {
68 return new CurveInstruction(
69 Composer::Instructions::space,
70
1/2
✓ Branch 2 taken 1 times.
✗ Branch 3 not taken.
2/3
✓ Call 0 invoked.
✓ Call 1 invoked.
✗ Call 4 not invoked.
1 new args::patterns(*Composer::PatternInstructions::patterns),
71
1/2
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
4/5
✓ Call 0 invoked.
✓ Call 1 invoked.
✓ Call 2 invoked.
✓ Call 3 invoked.
✗ Call 6 not invoked.
2 vector1_, vector2_, new args::container<PatternPointArgument>()
72
2/10
✓ Branch 3 taken 1 times.
✗ Branch 4 not taken.
✓ Branch 9 taken 1 times.
✗ Branch 10 not taken.
✗ Branch 11 not taken.
✗ Branch 12 not taken.
✗ Branch 13 not taken.
✗ Branch 14 not taken.
✗ Branch 15 not taken.
✗ Branch 16 not taken.
7/8
✓ Call 0 invoked.
✓ Call 1 invoked.
✓ Call 2 invoked.
✓ Call 5 invoked.
✓ Call 6 invoked.
✓ Call 7 invoked.
✓ Call 8 invoked.
✗ Call 17 not invoked.
4 );
73 }
74