Chrysalis - Pattern Test Coverage


pattern/
File: pattern/include/instructions/PatternInstructionsContainer.h
Date: 2026-08-27 18:35:18
Lines:
17/17
100.0%
Functions:
4/4
100.0%
Branches:
6/14
42.9%
Decisions:
0/0
-%
Calls:
48/51
94.1%

Line Branch Decision Call Exec Source
1 #ifndef CHRYSALIS_PATTERNINSTRUCTIONSCONTAINER_H
2 #define CHRYSALIS_PATTERNINSTRUCTIONSCONTAINER_H
3
4 #include "arguments/PatternsContainerArgument.h"
5 #include "instructions/BasePatternInstruction.h"
6 #include "instructions/BaseInstructionsContainer.h"
7
8 /** @defgroup Instructions Instructions
9 * @{
10 */
11 namespace Chrysalis {
12 class PatternInstructionsContainer: public BaseInstructionsContainer<BasePatternInstruction> {
13 PROVIDE_SERIALIZATION_ACCESS(PatternInstructionsContainer)
14 public:
15 explicit PatternInstructionsContainer(OptionsContainer* options, ExpressionsContainer* expressions, args::patterns* patterns);
16 ~PatternInstructionsContainer() override;
17 private:
18 /// @uml{composition}
19 args::patterns* patterns_;
20 };
21 template <class Archive>
22 128 void serialize(Archive& archive, PatternInstructionsContainer& obj, const unsigned int version)
23 {
24
4/4
✓ Call 0 invoked.
✓ Call 1 invoked.
✓ Call 2 invoked.
✓ Call 3 invoked.
128 archive & boost::serialization::base_object<BaseInstructionsContainer<BasePatternInstruction>>(obj);
25 128 }
26
27 template <class Archive>
28 32 void save_construct_data(Archive& archive, const PatternInstructionsContainer* obj, const unsigned int)
29 {
30
1/2
✓ Branch 11 taken 32 times.
✗ Branch 12 not taken.
12/13
✓ 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.
✗ Call 14 not invoked.
32 archive & obj->options();
31
1/2
✓ Branch 11 taken 32 times.
✗ Branch 12 not taken.
12/13
✓ 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.
✗ Call 14 not invoked.
32 archive & obj->expressions();
32
7/7
✓ Call 0 invoked.
✓ Call 1 invoked.
✓ Call 2 invoked.
✓ Call 3 invoked.
✓ Call 4 invoked.
✓ Call 5 invoked.
✓ Call 6 invoked.
32 archive & obj->patterns_;
33 32 }
34
35 template <class Archive>
36 32 void load_construct_data(Archive& archive, PatternInstructionsContainer* obj, const unsigned int)
37 {
38
1/1
✓ Call 0 invoked.
32 decltype(obj->options()) options_;
39
1/1
✓ Call 0 invoked.
32 decltype(obj->expressions()) expressions_;
40
1/1
✓ Call 0 invoked.
32 decltype(obj->patterns_) patterns_;
41
1/2
✓ Branch 2 taken 32 times.
✗ Branch 3 not taken.
2/2
✓ Call 0 invoked.
✓ Call 1 invoked.
32 archive >> options_;
42
1/2
✓ Branch 2 taken 32 times.
✗ Branch 3 not taken.
2/2
✓ Call 0 invoked.
✓ Call 1 invoked.
32 archive >> expressions_;
43
1/2
✓ Branch 2 taken 32 times.
✗ Branch 3 not taken.
2/2
✓ Call 0 invoked.
✓ Call 1 invoked.
32 archive >> patterns_;
44
1/4
✓ Branch 3 taken 32 times.
✗ Branch 4 not taken.
✗ Branch 6 not taken.
✗ Branch 7 not taken.
4/5
✓ Call 0 invoked.
✓ Call 1 invoked.
✓ Call 2 invoked.
✓ Call 5 invoked.
✗ Call 8 not invoked.
32 ::new(obj) PatternInstructionsContainer(options_, expressions_, patterns_);
45 32 }
46 }
47 /**@}*/
48
49 #endif //CHRYSALIS_PATTERNINSTRUCTIONSCONTAINER_H
50