stuff-from-scratch/test/compression/TestLz77Encoder.cpp

37 lines
923 B
C++
Raw Permalink Normal View History

#include <iostream>
#include "Lz77Encoder.h"
2022-11-29 18:00:19 +00:00
#include "HuffmanEncoder.h"
#include "BufferBitStream.h"
2022-11-29 18:00:19 +00:00
#include "TestFramework.h"
TEST_CASE(TestLz77Encoder, "compression")
{
2023-12-21 09:18:44 +00:00
Vector<unsigned> values {0, 10, 11, 12, 10, 11, 12, 0, 13, 14, 15, 10, 11, 12};
2023-12-21 09:18:44 +00:00
//Vector<unsigned> values {0, 1, 2, 3, 0, 1, 2, 3, 0,1};
BufferBitStream input_stream;
for (auto value : values)
{
input_stream.writeByte(value);
}
BufferBitStream output_stream;
Lz77Encoder encoder(&input_stream, &output_stream);
encoder.encode();
auto hit_buffer = encoder.getHitBuffer();
2023-01-23 11:06:30 +00:00
//for(const auto& hit : hit_buffer)
//{
//const auto& [length, distance, next_char] = hit;
2022-11-30 18:28:50 +00:00
//std::cout << "Got hit " << length << " | " << distance << " | " << static_cast<int>(next_char) << std::endl;
2023-01-23 11:06:30 +00:00
//}
2022-11-29 18:00:19 +00:00
HuffmanEncoder huffman_encoder;
huffman_encoder.initializeTrees(hit_buffer);
}