GCC Code Coverage Report
Directory: ./ Exec Total Coverage
File: test/zserio/FileUtilTest.cpp Lines: 40 40 100.0 %
Date: 2023-12-13 14:51:09 Branches: 107 304 35.2 %

Line Branch Exec Source
1
#include "gtest/gtest.h"
2
3
#include "zserio/FileUtil.h"
4
5
#include <vector>
6
7
namespace zserio
8
{
9
10


802
TEST(FileUtilTest, writeReadByteBufferBitSize)
11
{
12
2
    const std::string fileName = "FileUtilTest_byteBufferBitSize.bin";
13
14

2
    auto buffer = std::vector<uint8_t>{0xAB, 0xCD, 0xF0};
15
1
    writeBufferToFile(buffer.data(), 20, BitsTag(), fileName);
16
17

2
    BitBuffer readBitBuffer = readBufferFromFile(fileName);
18



1
    ASSERT_EQ(24, readBitBuffer.getBitSize());
19
4
    for (size_t i = 0; i < 3; ++i)
20
    {
21



3
        ASSERT_EQ(buffer[i], readBitBuffer.getData()[i]);
22
    }
23
24

2
    const std::string invalidFileName = "";
25











2
    ASSERT_THROW(writeBufferToFile(buffer.data(), 20, BitsTag(), invalidFileName), CppRuntimeException);
26










2
    ASSERT_THROW(readBufferFromFile(invalidFileName), CppRuntimeException);
27
}
28
29


802
TEST(FileUtilTest, writeReadByteBufferByteSize)
30
{
31
2
    const std::string fileName = "FileUtilTest_byteBufferByteSize.bin";
32
33

2
    auto buffer = std::vector<uint8_t>{0xAB, 0xCD, 0xF0};
34
1
    writeBufferToFile(buffer.data(), buffer.size(), fileName);
35
36

2
    BitBuffer readBitBuffer = readBufferFromFile(fileName);
37



1
    ASSERT_EQ(24, readBitBuffer.getBitSize());
38

4
    for (size_t i = 0; i < 3; ++i)
39
    {
40



3
        ASSERT_EQ(buffer[i], readBitBuffer.getData()[i]);
41
    }
42
}
43
44


802
TEST(FileUtilTest, writeReadBitBuffer)
45
{
46
2
    const std::string fileName = "FileUtilTest_bitBuffer.bin";
47
48

2
    BitBuffer bitBuffer({0xAB, 0xCD, 0xF0}, 20);
49
1
    writeBufferToFile(bitBuffer, fileName);
50
51

2
    BitBuffer readBitBuffer = readBufferFromFile(fileName);
52



1
    ASSERT_EQ(24, readBitBuffer.getBitSize());
53

4
    for (size_t i = 0; i < 3; ++i)
54
    {
55




3
        ASSERT_EQ(bitBuffer.getData()[i], readBitBuffer.getData()[i]);
56
    }
57
}
58
59


802
TEST(FileUtilTest, writeReadBitStreamWriter)
60
{
61
2
    const std::string fileName = "FileUtilTest_bitStreamWriter.bin";
62
63

2
    BitBuffer bitBuffer(20);
64
1
    BitStreamWriter writer(bitBuffer);
65
1
    writer.writeBits(0xAB, 8);
66
1
    writer.writeBits(0xCD, 8);
67
1
    writer.writeBits(0xF, 4);
68
1
    writeBufferToFile(writer, fileName);
69
70

2
    BitBuffer readBitBuffer = readBufferFromFile(fileName);
71



1
    ASSERT_EQ(24, readBitBuffer.getBitSize());
72

4
    for (size_t i = 0; i < 3; ++i)
73
    {
74




3
        ASSERT_EQ(bitBuffer.getData()[i], readBitBuffer.getData()[i]);
75
    }
76
}
77
78

2394
} // namespace zserio