summaryrefslogtreecommitdiff
path: root/tools/slang-unit-test/unit-test-chunked-list.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'tools/slang-unit-test/unit-test-chunked-list.cpp')
-rw-r--r--tools/slang-unit-test/unit-test-chunked-list.cpp41
1 files changed, 41 insertions, 0 deletions
diff --git a/tools/slang-unit-test/unit-test-chunked-list.cpp b/tools/slang-unit-test/unit-test-chunked-list.cpp
new file mode 100644
index 000000000..af4f597b2
--- /dev/null
+++ b/tools/slang-unit-test/unit-test-chunked-list.cpp
@@ -0,0 +1,41 @@
+// unit-test-path.cpp
+
+#include "source/core/slang-basic.h"
+#include "source/core/slang-chunked-list.h"
+#include "tools/unit-test/slang-unit-test.h"
+
+using namespace Slang;
+
+template<typename T>
+static bool _checkArrayView(ArrayView<T> v0, ArrayView<T> v1)
+{
+ if (v0.getCount() != v1.getCount())
+ return false;
+ for (Index i = 0; i < v0.getCount(); i++)
+ if (v0[i] != v1[i])
+ return false;
+ return true;
+}
+
+SLANG_UNIT_TEST(chunkedList)
+{
+ {
+ ChunkedList<String> stringList;
+ List<String*> ptrs;
+ for (int i = 0; i < 256; i++)
+ {
+ ptrs.add(stringList.add(String(i)));
+ }
+ SLANG_CHECK(stringList.getCount() == 256);
+ SLANG_CHECK(*(ptrs[128]) == "128");
+
+ stringList.clearAndDeallocate();
+ ptrs.clear();
+ for (int i = 0; i < 64; i++)
+ {
+ ptrs.add(stringList.add(String(i)));
+ }
+ SLANG_CHECK(stringList.getCount() == 64);
+ SLANG_CHECK(*(ptrs[32]) == "32");
+ }
+}