Chrysalis - Pattern Test Coverage


pattern/
File: pattern/include/arguments/ConditionalArgument.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_CONDITIONALARGUMENT_H
2 #define CHRYSALIS_CONDITIONALARGUMENT_H
3
4 #include "arguments/BaseArgument.h"
5 #include "arguments/BaseCalculatedArgument.h"
6
7 /** @defgroup Arguments Arguments
8 * @{
9 */
10 namespace Chrysalis {
11 class ConditionalArgument: public BaseCalculatedArgument<double> {
12 PROVIDE_SERIALIZATION_ACCESS(ConditionalArgument)
13 public:
14 explicit ConditionalArgument(const args::condition* condition,
15 args::number&& positive, args::number&& negative);
16 ~ConditionalArgument() override;
17 protected:
18 std::expected<double, Error> calculate() const override;
19 private:
20 const args::condition* condition_;
21 args::number positive_;
22 args::number negative_;
23 };
24
4/10
✓ Branch 5 taken 2 times.
✗ Branch 6 not taken.
✓ Branch 9 taken 2 times.
✗ Branch 10 not taken.
✓ Branch 13 taken 2 times.
✗ Branch 14 not taken.
✓ Branch 24 taken 2 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.
20 SERIALIZE_DERIVED_CONSTRUCTION(ConditionalArgument, BaseCalculatedArgument<double>, condition_, positive_, negative_)
25 namespace args {
26 using conditional = ConditionalArgument;
27 }
28 }
29 /**@}*/
30
31 #endif //CHRYSALIS_CONDITIONALARGUMENT_H
32