Chrysalis - Pattern Test Coverage


pattern/
File: pattern/include/arguments/VectorArgument.h
Date: 2026-08-27 18:35:18
Lines:
1/1
100.0%
Functions:
4/4
100.0%
Branches:
4/10
40.0%
Decisions:
0/0
-%
Calls:
26/29
89.7%

Line Branch Decision Call Exec Source
1 #ifndef CHRYSALIS_VECTORARGUMENT_H
2 #define CHRYSALIS_VECTORARGUMENT_H
3
4 #include "arguments/RayArgument.h"
5 #include "arguments/PatternPointArgument.h"
6 #include "arguments/BaseArgument.h"
7
8 namespace Chrysalis {
9 /** @defgroup Arguments Arguments
10 * @{
11 */
12 class VectorArgument: public RayArgument {
13 PROVIDE_SERIALIZATION_ACCESS(VectorArgument)
14 protected:
15 explicit VectorArgument(const args::point* origin, const args::point* destination);
16 public:
17 explicit VectorArgument(args::number&& angle, args::number&& length);
18 explicit VectorArgument(const args::point* origin, args::number&& length);
19 explicit VectorArgument(const args::point* origin, args::number&& angle, args::number&& length);
20
21 [[nodiscard]] bool isValid() const override;
22 [[nodiscard]] const args::number& length() const;
23
24 explicit operator CG::Vector() const;
25 explicit virtual operator CG::Segment() const;
26 private:
27 /// @uml{composition}
28 args::number length_;
29 };
30
4/10
✓ Branch 5 taken 116 times.
✗ Branch 6 not taken.
✓ Branch 9 taken 116 times.
✗ Branch 10 not taken.
✓ Branch 13 taken 116 times.
✗ Branch 14 not taken.
✓ Branch 24 taken 116 times.
✗ Branch 25 not taken.
✗ Branch 28 not taken.
✗ Branch 29 not taken.
26/29
✓ 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 30 not invoked.
✗ Call 31 not invoked.
✗ Call 32 not invoked.
1344 SERIALIZE_DERIVED_CONSTRUCTION(VectorArgument, RayArgument, origin_, angle_, length_)
31 namespace args {
32 using vector = VectorArgument;
33 }
34 }
35
36 #endif //CHRYSALIS_VECTORARGUMENT_H
37