Advanced Chunk Processing Library 0.2.0
A comprehensive C++ library for advanced data chunking strategies and processing operations
Loading...
Searching...
No Matches
chunk_test.cpp File Reference

Unit tests for the Chunk class. More...

#include "chunk.hpp"
#include <gtest/gtest.h>
#include <string>
#include <vector>
+ Include dependency graph for chunk_test.cpp:

Go to the source code of this file.

Classes

class  ChunkTest
 

Functions

 TEST_F (ChunkTest, BasicOperations)
 
 TEST_F (ChunkTest, CharChunking)
 
 TEST_F (ChunkTest, ChunkBySize)
 
 TEST_F (ChunkTest, ChunkProcessing)
 
 TEST_F (ChunkTest, Constructor)
 
 TEST_F (ChunkTest, EdgeCases)
 
 TEST_F (ChunkTest, EmptyChunkOperations)
 
 TEST_F (ChunkTest, ExactSizeChunking)
 
 TEST_F (ChunkTest, SingleElementAdd)
 
 TEST_F (ChunkTest, StringChunking)
 
 TEST_F (ChunkTest, ThresholdChunking)
 
 TEST_F (ChunkTest, VectorAdd)
 

Detailed Description

Unit tests for the Chunk class.

This file contains tests for various operations on the Chunk class, including adding elements, retrieving chunks, and handling edge cases.

Definition in file chunk_test.cpp.

Function Documentation

◆ TEST_F() [1/12]

TEST_F ( ChunkTest  ,
BasicOperations   
)

Definition at line 48 of file chunk_test.cpp.

48 {
50 ASSERT_EQ(chunk.size(), 0); // Initially empty
51 ASSERT_EQ(chunk.get_chunks().size(), 0); // No chunks yet
52}
A template class for managing and processing data in chunks.
Definition chunk.hpp:16

References chunk_processing::Chunk< T >::get_chunks(), and chunk_processing::Chunk< T >::size().

◆ TEST_F() [2/12]

TEST_F ( ChunkTest  ,
CharChunking   
)

Definition at line 87 of file chunk_test.cpp.

87 {
88 chunk_processing::Chunk<char> char_chunker(3);
89 std::vector<char> char_data{'a', 'b', 'c', 'd', 'e'};
90 char_chunker.add(char_data);
91 auto chunks = char_chunker.get_chunks();
92 EXPECT_FALSE(chunks.empty());
93}

References chunk_processing::Chunk< T >::add(), and chunk_processing::Chunk< T >::get_chunks().

◆ TEST_F() [3/12]

TEST_F ( ChunkTest  ,
ChunkBySize   
)

Definition at line 36 of file chunk_test.cpp.

36 {
37 basic_chunker.add(test_data);
38 auto chunks = basic_chunker.chunk_by_size(2);
39 EXPECT_EQ(chunks.size(), 3); // Should create 3 chunks: [1,2], [3,4], [5]
40}

◆ TEST_F() [4/12]

TEST_F ( ChunkTest  ,
ChunkProcessing   
)

Definition at line 54 of file chunk_test.cpp.

54 {
55 chunk_processing::Chunk<int> chunk(2); // Create chunk with size 2
56 chunk.add(test_data); // Add data from fixture
57 auto chunks = chunk.get_chunks();
58 EXPECT_FALSE(chunks.empty());
59}

References chunk_processing::Chunk< T >::add(), and chunk_processing::Chunk< T >::get_chunks().

◆ TEST_F() [5/12]

TEST_F ( ChunkTest  ,
Constructor   
)

Definition at line 21 of file chunk_test.cpp.

21 {
22 EXPECT_THROW(chunk_processing::Chunk<value_type>(0), std::invalid_argument);
23 EXPECT_NO_THROW(chunk_processing::Chunk<value_type>(1));
24}

◆ TEST_F() [6/12]

TEST_F ( ChunkTest  ,
EdgeCases   
)

Definition at line 66 of file chunk_test.cpp.

66 {
67 std::vector<value_type> empty_data;
68 basic_chunker.add(empty_data);
69 EXPECT_EQ(basic_chunker.size(), 0);
70}

◆ TEST_F() [7/12]

TEST_F ( ChunkTest  ,
EmptyChunkOperations   
)

Definition at line 61 of file chunk_test.cpp.

61 {
62 EXPECT_EQ(basic_chunker.size(), 0);
63 EXPECT_TRUE(basic_chunker.get_chunks().empty());
64}

◆ TEST_F() [8/12]

TEST_F ( ChunkTest  ,
ExactSizeChunking   
)

Definition at line 72 of file chunk_test.cpp.

72 {
74 exact_chunker.add(test_data);
75 auto chunks = exact_chunker.get_chunks();
76 EXPECT_EQ(chunks.size(), 1);
77}

References chunk_processing::Chunk< T >::add(), and chunk_processing::Chunk< T >::get_chunks().

◆ TEST_F() [9/12]

TEST_F ( ChunkTest  ,
SingleElementAdd   
)

Definition at line 26 of file chunk_test.cpp.

26 {
27 basic_chunker.add(1);
28 EXPECT_EQ(basic_chunker.size(), 1);
29}

◆ TEST_F() [10/12]

TEST_F ( ChunkTest  ,
StringChunking   
)

Definition at line 79 of file chunk_test.cpp.

79 {
81 std::vector<std::string> str_data{"hello", "world", "test"};
82 string_chunker.add(str_data);
83 auto chunks = string_chunker.get_chunks();
84 EXPECT_FALSE(chunks.empty());
85}

References chunk_processing::Chunk< T >::add(), and chunk_processing::Chunk< T >::get_chunks().

◆ TEST_F() [11/12]

TEST_F ( ChunkTest  ,
ThresholdChunking   
)

Definition at line 42 of file chunk_test.cpp.

42 {
43 basic_chunker.add({1, 2, 5, 6, 1, 2, 7, 8});
44 auto chunks = basic_chunker.chunk_by_threshold(3);
45 EXPECT_GT(chunks.size(), 1);
46}

◆ TEST_F() [12/12]

TEST_F ( ChunkTest  ,
VectorAdd   
)

Definition at line 31 of file chunk_test.cpp.

31 {
32 basic_chunker.add(test_data);
33 EXPECT_EQ(basic_chunker.size(), test_data.size());
34}