Coverage Report

Created: 2023-12-13 14:58

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