40 lines
900 B
C++
40 lines
900 B
C++
#include <gtest/gtest.h>
|
|
|
|
#include <stdio.h>
|
|
#include <stdlib.h>
|
|
|
|
#include "trbtree.h"
|
|
|
|
static int32_t tCmprInteger(const void *p1, const void *p2) {
|
|
if (*(int *)p1 < *(int *)p2) {
|
|
return -1;
|
|
} else if (*(int *)p1 > *(int *)p2) {
|
|
return 1;
|
|
}
|
|
return 0;
|
|
}
|
|
|
|
TEST(trbtreeTest, rbtree_test1) {
|
|
#if 0
|
|
SRBTree rt;
|
|
tRBTreeCreate(&rt, tCmprInteger);
|
|
int a[] = {1, 3, 4, 2, 7, 5, 8};
|
|
|
|
for (int i = 0; i < sizeof(a) / sizeof(a[0]); i++) {
|
|
SRBTreeNode *pNode = (SRBTreeNode *)taosMemoryMalloc(sizeof(*pNode) + sizeof(int));
|
|
*(int *)pNode->payload = a[i];
|
|
|
|
tRBTreePut(&rt, pNode);
|
|
}
|
|
|
|
SRBTreeIter rti = tRBTreeIterCreate(&rt, 1);
|
|
SRBTreeNode *pNode = tRBTreeIterNext(&rti);
|
|
int la = 0;
|
|
while (pNode) {
|
|
GTEST_ASSERT_GT(*(int *)pNode->payload, la);
|
|
la = *(int *)pNode->payload;
|
|
// printf("%d\n", la);
|
|
pNode = tRBTreeIterNext(&rti);
|
|
}
|
|
#endif
|
|
} |