arrayTest.cpp 1.2 KB
Newer Older
H
Haojun Liao 已提交
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50
#include <gtest/gtest.h>
#include <stdlib.h>
#include <time.h>
#include <random>

#include "tarray.h"

namespace {

static void remove_batch_test() {
  SArray *pa = (SArray*) taosArrayInit(4, sizeof(int32_t));

  for(int32_t i = 0; i < 20; ++i) {
    int32_t a = i;
    taosArrayPush(pa, &a);
  }

  SArray* delList = (SArray*)taosArrayInit(4, sizeof(int32_t));
  taosArrayRemoveBatch(pa, (const int32_t*) TARRAY_GET_START(delList), taosArrayGetSize(delList));
  EXPECT_EQ(taosArrayGetSize(pa), 20);

  int32_t a = 5;
  taosArrayPush(delList, &a);

  taosArrayRemoveBatch(pa, (const int32_t*) TARRAY_GET_START(delList), taosArrayGetSize(delList));
  EXPECT_EQ(taosArrayGetSize(pa), 19);
  EXPECT_EQ(*(int*)taosArrayGet(pa, 5), 6);

  taosArrayInsert(pa, 5, &a);
  EXPECT_EQ(taosArrayGetSize(pa), 20);
  EXPECT_EQ(*(int*)taosArrayGet(pa, 5), 5);

  taosArrayClear(delList);

  a = 6;
  taosArrayPush(delList, &a);

  a = 9;
  taosArrayPush(delList, &a);

  a = 14;
  taosArrayPush(delList, &a);
  taosArrayRemoveBatch(pa, (const int32_t*) TARRAY_GET_START(delList), taosArrayGetSize(delList));
  EXPECT_EQ(taosArrayGetSize(pa), 17);
}
}  // namespace

TEST(arrayTest, array_list_test) {
  remove_batch_test();
}