Chrysalis - Pattern Test Coverage


pattern/
File: pattern/src/Expression.cpp
Date: 2026-08-27 18:35:18
Lines:
8/8
100.0%
Functions:
4/4
100.0%
Branches:
2/4
50.0%
Decisions:
0/0
-%
Calls:
35/38
92.1%

Line Branch Decision Call Exec Source
1 #include "Expression.h"
2
3 using namespace Chrysalis;
4
5 13 ExpressionValue::operator double() const {
6
1/1
✓ Call 0 invoked.
13 return value;
7 }
8
9
1/1
✓ Call 0 invoked.
3 Expression::Expression(const std::string& name, args::number&& expression)
10
16/16
✓ 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.
3 : BaseNamedElement(name), expression_(std::move(expression)) {}
11
12 3 std::expected<ExpressionValue, Error> Expression::calculate() const {
13
1/2
✓ Branch 10 taken 3 times.
✗ Branch 11 not taken.
13/16
✓ 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 not invoked.
✗ Call 16 not invoked.
✗ Call 17 not invoked.
6 return expression_->get().transform([](const double value) {
14 3 return ExpressionValue{value};
15
1/2
✓ Branch 4 taken 3 times.
✗ Branch 5 not taken.
4/4
✓ Call 0 invoked.
✓ Call 1 invoked.
✓ Call 2 invoked.
✓ Call 3 invoked.
9 });
16 }
17