GCC Code Coverage Report


Directory: libimgdoc2/
File: libimgdoc2/src/doc/document.cpp
Date: 2025-02-03 12:41:04
Exec Total Coverage
Lines: 20 20 100.0%
Functions: 6 6 100.0%
Branches: 20 32 62.5%

Line Branch Exec Source
1 // SPDX-FileCopyrightText: 2023 Carl Zeiss Microscopy GmbH
2 //
3 // SPDX-License-Identifier: MIT
4
5 #include <memory>
6 #include "document.h"
7 #include "documentRead2d.h"
8 #include "documentWrite2d.h"
9 #include "documentRead3d.h"
10 #include "documentWrite3d.h"
11
12 #include "documentMetadataReader.h"
13 #include "documentMetadataWriter.h"
14
15 using namespace std;
16 using namespace imgdoc2;
17
18 70 /*virtual*/std::shared_ptr<imgdoc2::IDocWrite2d> Document::GetWriter2d()
19 {
20
2/2
✓ Branch 1 taken 68 times.
✓ Branch 2 taken 2 times.
70 if (this->IsDocument2d())
21 {
22
2/4
✓ Branch 1 taken 68 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 68 times.
✗ Branch 5 not taken.
68 return std::make_shared<DocumentWrite2d>(shared_from_this());
23 }
24
25 2 return {};
26 }
27
28 82 /*virtual*/std::shared_ptr<imgdoc2::IDocRead2d> Document::GetReader2d()
29 {
30
2/2
✓ Branch 1 taken 80 times.
✓ Branch 2 taken 2 times.
82 if (this->IsDocument2d())
31 {
32
2/4
✓ Branch 1 taken 80 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 80 times.
✗ Branch 5 not taken.
80 return std::make_shared<DocumentRead2d>(shared_from_this());
33 }
34
35 2 return {};
36 }
37
38 66 /*virtual*/std::shared_ptr<imgdoc2::IDocWrite3d> Document::GetWriter3d()
39 {
40
2/2
✓ Branch 1 taken 64 times.
✓ Branch 2 taken 2 times.
66 if (this->IsDocument3d())
41 {
42
2/4
✓ Branch 1 taken 64 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 64 times.
✗ Branch 5 not taken.
64 return std::make_shared<DocumentWrite3d>(shared_from_this());
43 }
44
45 2 return {};
46 }
47
48 70 /*virtual*/std::shared_ptr<imgdoc2::IDocRead3d> Document::GetReader3d()
49 {
50
2/2
✓ Branch 1 taken 68 times.
✓ Branch 2 taken 2 times.
70 if (this->IsDocument3d())
51 {
52
2/4
✓ Branch 1 taken 68 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 68 times.
✗ Branch 5 not taken.
68 return std::make_shared<DocumentRead3d>(shared_from_this());
53 }
54
55 2 return {};
56 }
57
58 92 /*virtual*/std::shared_ptr<imgdoc2::IDocumentMetadataWrite> Document::GetDocumentMetadataWriter()
59 {
60
2/4
✓ Branch 1 taken 92 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 92 times.
✗ Branch 5 not taken.
92 return make_shared<DocumentMetadataWriter>(shared_from_this());
61 }
62
63 80 /*virtual*/std::shared_ptr<imgdoc2::IDocumentMetadataRead> Document::GetDocumentMetadataReader()
64 {
65
2/4
✓ Branch 1 taken 80 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 80 times.
✗ Branch 5 not taken.
80 return make_shared<DocumentMetadataReader>(shared_from_this());
66 }
67