Advanced Chunk Processing Library 0.2.0
A comprehensive C++ library for advanced data chunking strategies and processing operations
Loading...
Searching...
No Matches
test_visualization.cpp
Go to the documentation of this file.
1#ifndef CHUNK_PROCESSING_TEST_VISUALIZATION_HPP
2#define CHUNK_PROCESSING_TEST_VISUALIZATION_HPP
3
4#include "chunk.hpp"
5#include <gtest/gtest.h>
6#include <vector>
7
8using namespace chunk_processing;
9
10class ChunkVisualizerTest : public ::testing::Test {
11protected:
12 std::vector<std::vector<double>> test_chunks = {
13 {1.0, 2.0, 3.0}, {4.0, 5.0}, {6.0, 7.0, 8.0, 9.0}};
14};
15
16TEST_F(ChunkVisualizerTest, PlotChunkSizes) {
17 // Get chunk sizes
18 std::vector<size_t> sizes;
19 for (const auto& chunk : test_chunks) {
20 sizes.push_back(chunk.size());
21 }
22
23 // Create expected sizes
24 std::vector<size_t> expected_sizes = {3, 2, 4};
25
26 // Compare vectors
27 ASSERT_EQ(sizes.size(), expected_sizes.size());
28 for (size_t i = 0; i < sizes.size(); ++i) {
29 EXPECT_EQ(sizes[i], expected_sizes[i]);
30 }
31}
32
33TEST_F(ChunkVisualizerTest, PlotChunkDistribution) {
34 // Calculate chunk statistics
35 double mean = 0.0;
36 size_t total_elements = 0;
37
38 for (const auto& chunk : test_chunks) {
39 for (const auto& value : chunk) {
40 mean += value;
41 total_elements++;
42 }
43 }
44 mean /= total_elements;
45
46 // Verify mean is in expected range
47 EXPECT_NEAR(mean, 5.0, 0.1);
48}
49
51 std::vector<std::vector<double>> empty_chunks;
52
53 // Get chunk sizes for empty chunks
54 std::vector<size_t> sizes;
55 for (const auto& chunk : empty_chunks) {
56 sizes.push_back(chunk.size());
57 }
58
59 EXPECT_TRUE(sizes.empty());
60}
61
62#endif // CHUNK_PROCESSING_TEST_VISUALIZATION_HPP
std::vector< std::vector< double > > test_chunks
TEST_F(ChunkVisualizerTest, PlotChunkSizes)