Chrysalis - Pattern Test Coverage


pattern/
File: pattern/src/ComparisonArgument.cpp
Date: 2026-08-27 18:35:18
Lines:
10/20
50.0%
Functions:
5/10
50.0%
Branches:
5/10
50.0%
Decisions:
0/0
-%
Calls:
71/77
92.2%

Line Branch Decision Call Exec Source
1 #include "arguments/ComparisonArgument.h"
2
3 using namespace Chrysalis;
4
5
1/1
✓ Call 0 invoked.
6 ComparisonArgument::ComparisonArgument(args::number&& value1, args::number&& value2)
6
19/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 12 invoked.
✓ Call 13 invoked.
✓ Call 14 invoked.
✓ Call 15 invoked.
✓ Call 16 invoked.
✓ Call 17 invoked.
✓ Call 18 invoked.
6 : value1_(std::move(value1)), value2_(std::move(value2)) {}
7
8 2 std::expected<bool, Error> ComparisonArgument::calculate() const {
9
1/2
✓ Branch 10 taken 2 times.
✗ Branch 11 not taken.
15/18
✓ 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 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.
4 return value1_.get()->get().and_then([this](const bool value1) {
10
1/2
✓ Branch 12 taken 2 times.
✗ Branch 13 not taken.
18/21
✓ 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 invoked.
✗ Call 20 not invoked.
✗ Call 21 not invoked.
✗ Call 22 not invoked.
4 return value2_.get()->get().transform([this, value1](const bool value2) {
11
1/2
✗ Branch 11 not taken.
✓ Branch 12 taken 2 times.
12/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 13 invoked.
2 return evaluate(value1, value2);
12
1/2
✓ Branch 3 taken 2 times.
✗ Branch 4 not taken.
3/3
✓ Call 0 invoked.
✓ Call 1 invoked.
✓ Call 2 invoked.
6 });
13
1/2
✓ Branch 3 taken 2 times.
✗ Branch 4 not taken.
3/3
✓ Call 0 invoked.
✓ Call 1 invoked.
✓ Call 2 invoked.
6 });
14 }
15
16 ✗ bool ComparisonArgument::Equal::evaluate(const double a, const double b) const {
17 ✗ return a == b;
18 }
19
20 ✗ bool ComparisonArgument::NotEqual::evaluate(const double a, const double b) const {
21 ✗ return a != b;
22 }
23
24 ✗ bool ComparisonArgument::Greater::evaluate(const double a, const double b) const {
25 ✗ return a > b;
26 }
27
28 ✗ bool ComparisonArgument::GreaterEqual::evaluate(const double a, const double b) const {
29 ✗ return a >= b;
30 }
31
32 2 bool ComparisonArgument::Less::evaluate(const double a, const double b) const {
33 2 return a < b;
34 }
35
36 ✗ bool ComparisonArgument::LessEqual::evaluate(const double a, const double b) const {
37 ✗ return a <= b;
38 }
39