DynamicArray.cpp 698 B

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. #include "tests/framework/Framework.h"
  2. #include "tests/util/Foo.h"
  3. #include "anki/util/DynamicArray.h"
  4. ANKI_TEST(DynamicArray, Test)
  5. {
  6. constexpr U n = 4;
  7. StackAllocator<U8, true> alloc(sizeof(Foo) * n + sizeof(PtrSize));
  8. DynamicArray<Foo, StackAllocator<Foo, true>> arr(alloc);
  9. arr.resize(n, 1);
  10. U i = 0;
  11. for(const Foo& f : arr)
  12. {
  13. i += f.x;
  14. }
  15. ANKI_TEST_EXPECT_EQ(i, n);
  16. arr.clear();
  17. ANKI_TEST_EXPECT_EQ(arr.getSize(), 0);
  18. ANKI_TEST_EXPECT_EQ(alloc.dump(), true);
  19. // Again
  20. arr.resize(n);
  21. i = 0;
  22. for(const Foo& f : arr)
  23. {
  24. i += f.x;
  25. }
  26. ANKI_TEST_EXPECT_EQ(i, n * 666);
  27. arr.clear();
  28. ANKI_TEST_EXPECT_EQ(arr.getSize(), 0);
  29. ANKI_TEST_EXPECT_EQ(alloc.dump(), true);
  30. }