#pragma once #include /** * @brief Test data and utilities for WeaselDB benchmarking and testing. * * This namespace provides pre-defined JSON test data of varying complexity * and utility functions for generating test payloads. The test data is designed * to exercise different aspects of the JSON parsing and commit request * processing pipeline. */ namespace weaseldb::test_data { /** * @brief Simple JSON commit request with minimal operations. * * Contains a basic commit request with a single write operation. * Useful for basic functionality testing and performance baseline measurements. */ extern const std::string SIMPLE_JSON; /** * @brief Medium complexity JSON commit request. * * Contains multiple operations and preconditions to test parsing * of more realistic commit request structures. */ extern const std::string MEDIUM_JSON; /** * @brief Complex JSON commit request with many nested structures. * * Contains extensive preconditions, operations, and edge cases to * thoroughly test parser robustness and performance under load. */ extern const std::string COMPLEX_JSON; /** * @brief Generate a large JSON commit request for stress testing. * * Creates a JSON commit request with the specified number of operations * to test parser performance and memory usage under high load conditions. * The generated JSON includes a mix of write, delete, and range operations * with realistic key-value patterns. * * @param num_operations Number of operations to include in the generated JSON * @return JSON string representing a large commit request * * @example * ```cpp * // Generate JSON with 10,000 operations for stress testing * std::string large_json = generate_large_json(10000); * ``` */ std::string generate_large_json(int num_operations); } // namespace weaseldb::test_data