Coverage Report

Created: 2024-07-18 11:41

test/zserio/FileUtilTest.cpp
Line
Count
Source
1
#include <vector>
2
3
#include "gtest/gtest.h"
4
#include "zserio/FileUtil.h"
5
6
namespace zserio
7
{
8
9
TEST(FileUtilTest, writeReadByteBufferBitSize)
10
1
{
11
1
    const std::string fileName = "FileUtilTest_byteBufferBitSize.bin";
12
13
1
    auto buffer = std::vector<uint8_t>{0xAB, 0xCD, 0xF0};
14
1
    writeBufferToFile(buffer.data(), 20, BitsTag(), fileName);
15
16
1
    BitBuffer readBitBuffer = readBufferFromFile(fileName);
17
1
    ASSERT_EQ(24, readBitBuffer.getBitSize());
18
4
    
for (size_t i = 0; 1
i < 3;
++i3
)
19
3
    {
20
3
        ASSERT_EQ(buffer[i], readBitBuffer.getData()[i]);
21
3
    }
22
23
1
    const std::string invalidFileName = "";
24
1
    ASSERT_THROW(writeBufferToFile(buffer.data(), 20, BitsTag(), invalidFileName), CppRuntimeException);
25
1
    ASSERT_THROW(readBufferFromFile(invalidFileName), CppRuntimeException);
26
1
}
27
28
TEST(FileUtilTest, writeReadByteBufferByteSize)
29
1
{
30
1
    const std::string fileName = "FileUtilTest_byteBufferByteSize.bin";
31
32
1
    auto buffer = std::vector<uint8_t>{0xAB, 0xCD, 0xF0};
33
1
    writeBufferToFile(buffer.data(), buffer.size(), fileName);
34
35
1
    BitBuffer readBitBuffer = readBufferFromFile(fileName);
36
1
    ASSERT_EQ(24, readBitBuffer.getBitSize());
37
4
    
for (size_t i = 0; 1
i < 3;
++i3
)
38
3
    {
39
3
        ASSERT_EQ(buffer[i], readBitBuffer.getData()[i]);
40
3
    }
41
1
}
42
43
TEST(FileUtilTest, writeReadBitBuffer)
44
1
{
45
1
    const std::string fileName = "FileUtilTest_bitBuffer.bin";
46
47
1
    BitBuffer bitBuffer({0xAB, 0xCD, 0xF0}, 20);
48
1
    writeBufferToFile(bitBuffer, fileName);
49
50
1
    BitBuffer readBitBuffer = readBufferFromFile(fileName);
51
1
    ASSERT_EQ(24, readBitBuffer.getBitSize());
52
4
    
for (size_t i = 0; 1
i < 3;
++i3
)
53
3
    {
54
3
        ASSERT_EQ(bitBuffer.getData()[i], readBitBuffer.getData()[i]);
55
3
    }
56
1
}
57
58
TEST(FileUtilTest, writeReadBitStreamWriter)
59
1
{
60
1
    const std::string fileName = "FileUtilTest_bitStreamWriter.bin";
61
62
1
    BitBuffer bitBuffer(20);
63
1
    BitStreamWriter writer(bitBuffer);
64
1
    writer.writeBits(0xAB, 8);
65
1
    writer.writeBits(0xCD, 8);
66
1
    writer.writeBits(0xF, 4);
67
1
    writeBufferToFile(writer, fileName);
68
69
1
    BitBuffer readBitBuffer = readBufferFromFile(fileName);
70
1
    ASSERT_EQ(24, readBitBuffer.getBitSize());
71
4
    
for (size_t i = 0; 1
i < 3;
++i3
)
72
3
    {
73
3
        ASSERT_EQ(bitBuffer.getData()[i], readBitBuffer.getData()[i]);
74
3
    }
75
1
}
76
77
} // namespace zserio