Advanced Chunk Processing Library 0.2.0
A comprehensive C++ library for advanced data chunking strategies and processing operations
Loading...
Searching...
No Matches
test_chunking.cpp File Reference
#include "chunk_strategies.hpp"
#include <gtest/gtest.h>
#include <vector>
+ Include dependency graph for test_chunking.cpp:

Go to the source code of this file.

Classes

class  ChunkingTest
 

Functions

 TEST_F (ChunkingTest, BasicChunkingOperations)
 
 TEST_F (ChunkingTest, EmptyInput)
 
 TEST_F (ChunkingTest, ExactDivisionChunking)
 
 TEST_F (ChunkingTest, PredicateBasedChunking)
 
 TEST_F (ChunkingTest, SingleElementInput)
 

Function Documentation

◆ TEST_F() [1/5]

TEST_F ( ChunkingTest  ,
BasicChunkingOperations   
)

Definition at line 10 of file test_chunking.cpp.

10 {
11 // Test fixed-size chunking
13 auto fixed_chunks = fixed_size_strategy.apply(test_data);
14
15 EXPECT_EQ(fixed_chunks.size(), 4); // Should have 4 chunks (3,3,3,1)
16 EXPECT_EQ(fixed_chunks[0].size(), 3);
17 EXPECT_EQ(fixed_chunks[1].size(), 3);
18 EXPECT_EQ(fixed_chunks[2].size(), 3);
19 EXPECT_EQ(fixed_chunks[3].size(), 1);
20}

References chunk_processing::PatternBasedStrategy< T >::apply().

◆ TEST_F() [2/5]

TEST_F ( ChunkingTest  ,
EmptyInput   
)

Definition at line 34 of file test_chunking.cpp.

34 {
35 std::vector<int> empty_data;
37 auto chunks = strategy.apply(empty_data);
38
39 EXPECT_TRUE(chunks.empty());
40}

References chunk_processing::PatternBasedStrategy< T >::apply().

◆ TEST_F() [3/5]

TEST_F ( ChunkingTest  ,
ExactDivisionChunking   
)

Definition at line 51 of file test_chunking.cpp.

51 {
52 std::vector<int> even_data = {1, 2, 3, 4, 5, 6};
54 auto chunks = strategy.apply(even_data);
55
56 EXPECT_EQ(chunks.size(), 3);
57 for (const auto& chunk : chunks) {
58 EXPECT_EQ(chunk.size(), 2);
59 }
60}

References chunk_processing::PatternBasedStrategy< T >::apply().

◆ TEST_F() [4/5]

TEST_F ( ChunkingTest  ,
PredicateBasedChunking   
)

Definition at line 22 of file test_chunking.cpp.

22 {
23 // Test predicate-based chunking
24 auto predicate = [](int val) { return val % 3 == 0; };
25 chunk_processing::PatternBasedStrategy<int> pred_strategy(predicate);
26 auto pred_chunks = pred_strategy.apply(test_data);
27
28 EXPECT_GT(pred_chunks.size(), 0);
29 for (const auto& chunk : pred_chunks) {
30 EXPECT_GT(chunk.size(), 0);
31 }
32}

References chunk_processing::PatternBasedStrategy< T >::apply().

◆ TEST_F() [5/5]

TEST_F ( ChunkingTest  ,
SingleElementInput   
)

Definition at line 42 of file test_chunking.cpp.

42 {
43 std::vector<int> single_element = {1};
45 auto chunks = strategy.apply(single_element);
46
47 EXPECT_EQ(chunks.size(), 1);
48 EXPECT_EQ(chunks[0].size(), 1);
49}

References chunk_processing::PatternBasedStrategy< T >::apply().