首次提交

This commit is contained in:
2026-06-16 13:38:08 +08:00
commit ec32ae543d
192 changed files with 13162 additions and 0 deletions
+80
View File
@@ -0,0 +1,80 @@
#include <QString>
#include "gtest/gtest.h"
#include "yC/RingBuffer.hpp"
#include <QDebug>
#include <QLoggingCategory>
#include <QDateTime>
class RingBufferTest : public testing::Test {
public:
yC::RingBuffer mRingBuffer{};
int mBufferSize = 9;
void print(const QString& prefix = "") const{
int* list = mRingBuffer.list<int>();
QVector<int> listData;
for(int i = 0; i < mRingBuffer.n; ++i){
listData.push_back(list[i]);
}
int* buffer = reinterpret_cast<int*>(mRingBuffer.mData);
QVector<int> bufferData;
for(int i = 0; i < mRingBuffer.m; ++i){
bufferData.push_back(buffer[i]);
}
qDebug() << prefix << listData << " " << bufferData;
//qDebug() << "dataArray:" << dataArray;
}
void init(bool isLeft, int bufferSize){
mRingBuffer.isLeft = isLeft;
mBufferSize = bufferSize;
mRingBuffer.resize(sizeof(int), 4, mBufferSize);
QVector<int> data(mBufferSize);
for(int i = 0; i < mBufferSize; ++i) {
//data[i] = i;
data[i] = -1;
}
std::memcpy(mRingBuffer.mData, data.data(), sizeof(int) * data.size());
qInstallMessageHandler(RingBufferTest::qDebugMessageHandler);
}
void SetUp() override {
}
void TearDown() override {
//qInstallMessageHandler(nullptr);
}
static void qDebugMessageHandler(QtMsgType type, const QMessageLogContext &context, const QString &msg) {
fprintf(stderr, "%s\n", qPrintable(msg));
}
};
TEST_F(RingBufferTest, left){
init(true,7);
print("init");
for(int i = 1; i < 20; ++i) {
int data = i * 10;
mRingBuffer.pushData(reinterpret_cast<char*>(&data));
print(QString("%1:").arg(i));
}
}
TEST_F(RingBufferTest, right){
init(false,7);
print("init");
for(int i = 1; i < 20; ++i) {
int data = i * 10;
mRingBuffer.pushData(reinterpret_cast<char*>(&data));
print(QString("%1:").arg(i));
}
}
// int main() {
// testing::InitGoogleTest();
// return RUN_ALL_TESTS();
// }