TEST(ringbuffer, aaa) { unsigned int len; unsigned char buf1[20]; unsigned char buf2[20]; (void)memset(buf2, 0x28, sizeof(buf2)); RingBuffer_Clear(&forTest); TEST_ASSERT_EQUAL(TEST_RINGBUFFER_SIZE, RingBuffer_LeftSpace(&forTest)); TEST_ASSERT_EQUAL(56, RingBuffer_PutData(&forTest, 0x28, 56)); TEST_ASSERT_EQUAL(TEST_RINGBUFFER_SIZE - 56, RingBuffer_LeftSpace(&forTest)); for (len = 0; len < 56; ) { int read = 56 - len; read = read > sizeof(buf1) ? sizeof(buf1) : read; TEST_ASSERT_EQUAL(read, RingBuffer_Read(&forTest, buf1, read)); TEST_ASSERT_EQUAL_UINT8_ARRAY(buf1, buf2, read); //TEST_ASSERT_EQUAL_UINT8_ARRAY(buf1, "Hello world!!!", read); len += read; } (void)strcpy(buf1, "Hello world\n"); TEST_ASSERT_EQUAL(strlen(buf1) + 1, RingBuffer_Write(&forTest, buf1, strlen(buf1) + 1)); TEST_ASSERT_EQUAL(strlen(buf1) + 1, RingBuffer_PopString(&forTest, buf2, sizeof(buf2))); TEST_ASSERT_EQUAL_STRING(buf1, buf2); (void)strcpy(buf1, "Hello world\n"); len = sizeof(buf2); TEST_ASSERT_EQUAL(strlen(buf1), RingBuffer_Write(&forTest, buf1, strlen(buf1))); TEST_ASSERT(RingBuffer_PopStringIsStartWith(&forTest, "Hello", buf2, &len)); TEST_ASSERT_EQUAL(strlen(buf1), len); TEST_ASSERT_EQUAL_STRING(buf1, buf2); (void)strcpy(buf1, "Hello world\n"); len = sizeof(buf2); TEST_ASSERT_EQUAL(strlen(buf1), RingBuffer_Write(&forTest, buf1, strlen(buf1))); TEST_ASSERT_FALSE(RingBuffer_PopStringIsStartWith(&forTest, "world", buf2, &len)); TEST_ASSERT_EQUAL(strlen(buf1), len); TEST_ASSERT_EQUAL_STRING(buf1, buf2); }
uint16_t ReadLineInto(RingBuffer *inputBuffer) { RingBuffer_Clear(inputBuffer); return StreamReader_ReadLine(Console, inputBuffer->Buffer, RingBuffer_MaxCapacity); }