Advanced Chunk Processing Library 0.2.0
A comprehensive C++ library for advanced data chunking strategies and processing operations
Loading...
Searching...
No Matches
test_neuralnetwork.cpp
Go to the documentation of this file.
1#include "neural_chunking.hpp"
2#include <gtest/gtest.h>
3
4class NeuralNetworkTest : public ::testing::Test {
5protected:
7 std::vector<double> test_data{1.0, 2.0, 3.0, 5.0, 6.0, 1.0};
8};
9
10TEST_F(NeuralNetworkTest, BasicChunking) {
11 auto chunks = chunker.chunk(test_data);
12 EXPECT_GT(chunks.size(), 0);
13 for (const auto& chunk : chunks) {
14 EXPECT_FALSE(chunk.empty());
15 }
16}
17
19 std::vector<double> empty_data;
20 auto chunks = chunker.chunk(empty_data);
21 EXPECT_TRUE(chunks.empty());
22}
23
25 std::vector<double> small_data{1.0, 2.0}; // Smaller than window size
26 auto chunks = chunker.chunk(small_data);
27 EXPECT_EQ(chunks.size(), 1);
28 EXPECT_EQ(chunks[0], small_data);
29}
30
31TEST_F(NeuralNetworkTest, Configuration) {
32 EXPECT_EQ(chunker.get_window_size(), 3);
33 EXPECT_DOUBLE_EQ(chunker.get_threshold(), 0.5);
34
35 chunker.set_window_size(4);
36 chunker.set_threshold(0.7);
37
38 EXPECT_EQ(chunker.get_window_size(), 4);
39 EXPECT_DOUBLE_EQ(chunker.get_threshold(), 0.7);
40}
41
42TEST_F(NeuralNetworkTest, ChunkBoundaries) {
43 std::vector<double> data{1.0, 1.0, 1.0, 5.0, 5.0, 5.0};
44 auto chunks = chunker.chunk(data);
45 EXPECT_GT(chunks.size(), 1); // Should detect the boundary between 1s and 5s
46}
neural_chunking::NeuralChunking< double > chunker
std::vector< double > test_data
Class implementing neural network-based chunking.
std::vector< std::vector< T > > chunk(const std::vector< T > &data) const
Neural network-based chunking algorithms.
TEST_F(NeuralNetworkTest, BasicChunking)