测试用例
This commit is contained in:
@@ -1,6 +1,11 @@
|
||||
#include "c_FastByteRingBuffer.h"
|
||||
#include <stdlib.h>
|
||||
#include <stdio.h>
|
||||
#include <assert.h>
|
||||
|
||||
/* ------------------------------------------------------------------------------------------------------------------ */
|
||||
/* */
|
||||
|
||||
|
||||
#define RUN_TEST_CASE(test_func) \
|
||||
do { \
|
||||
@@ -126,7 +131,7 @@ static void test_ring_buffer_index_searching(void) {
|
||||
|
||||
// 1. Single byte search lookup match
|
||||
assert(c_FastByteRingBuffer_IndexOfByte(&ring, 0x33) == 2); // Relative offset index 2 from head
|
||||
assert(c_FastByteRingBuffer_IndexOfByte(&ring, 0x99) == C_ERR_NOT_FOUND);
|
||||
assert(c_FastByteRingBuffer_IndexOfByte(&ring, 0x99) == C_ERR_NOTFOUND);
|
||||
|
||||
// 2. Pattern buffer sequence scan (testing across structural wrap-around edge boundaries)
|
||||
uint8_t search_pattern[] = {0x44, 0x55, 0x66};
|
||||
@@ -206,9 +211,9 @@ static void test_relative_random_access(void) {
|
||||
assert(extracted_byte == 0x50); // Newest unread byte check
|
||||
|
||||
// 2. Validate bounds-checking flags
|
||||
assert(c_FastByteRingBuffer_GetAtRelative(&ring, 4, &extracted_byte) == C_ERR_OUT_OF_BOUNDS);
|
||||
assert(c_FastByteRingBuffer_GetAtRelative(&ring, 99, &extracted_byte) == C_ERR_OUT_OF_BOUNDS);
|
||||
assert(c_FastByteRingBuffer_GetAtRelative(NULL, 0, &extracted_byte) == C_ERR_INVALID_PARAM);
|
||||
assert(c_FastByteRingBuffer_GetAtRelative(&ring, 4, &extracted_byte) == C_ERR_OUTOFBOUND);
|
||||
assert(c_FastByteRingBuffer_GetAtRelative(&ring, 99, &extracted_byte) == C_ERR_OUTOFBOUND);
|
||||
assert(c_FastByteRingBuffer_GetAtRelative(NULL, 0, &extracted_byte) == C_ERR_PARAM);
|
||||
|
||||
c_FastByteRingBuffer_Destroy(&ring);
|
||||
}
|
||||
@@ -244,7 +249,7 @@ static void test_conditional_is_validator(void) {
|
||||
|
||||
static void test_ring_buffer_memcmp(void) {
|
||||
c_FastByteRingBuffer_t ring;
|
||||
assert(c_FastByteRingBuffer_Init(&ring, 6) == C_ERR_INVALID_PARAM); // Capacity = 6
|
||||
assert(c_FastByteRingBuffer_Init(&ring, 6) == C_ERR_PARAM); // Capacity = 6
|
||||
|
||||
assert(c_FastByteRingBuffer_Init(&ring, 8) == C_SUCCESS); // Capacity = 6
|
||||
uint8_t payload[] = {0x00, 0x11, 0x22, 0x33};
|
||||
@@ -274,9 +279,9 @@ static void test_ring_buffer_memcmp(void) {
|
||||
assert(c_FastByteRingBuffer_Memcmp(&ring, 1, check_mismatch, 4) != 0); // Identifies internal divergence
|
||||
|
||||
// 4. Bounds and parameter checks
|
||||
assert(c_FastByteRingBuffer_Memcmp(&ring, 0, check_b, 100) == C_ERR_OUT_OF_BOUNDS); // Request width overflows content
|
||||
assert(c_FastByteRingBuffer_Memcmp(&ring, 99, check_b, 1) == C_ERR_OUT_OF_BOUNDS); // Start pointer invalid
|
||||
assert(c_FastByteRingBuffer_Memcmp(NULL, 0, check_b, 1) == C_ERR_INVALID_PARAM);
|
||||
assert(c_FastByteRingBuffer_Memcmp(&ring, 0, check_b, 100) == C_ERR_OUTOFBOUND); // Request width overflows content
|
||||
assert(c_FastByteRingBuffer_Memcmp(&ring, 99, check_b, 1) == C_ERR_OUTOFBOUND); // Start pointer invalid
|
||||
assert(c_FastByteRingBuffer_Memcmp(NULL, 0, check_b, 1) == C_ERR_PARAM);
|
||||
|
||||
c_FastByteRingBuffer_Destroy(&ring);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user