aboutsummaryrefslogtreecommitdiff
path: root/test_dynarray.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'test_dynarray.cpp')
-rwxr-xr-xtest_dynarray.cpp29
1 files changed, 29 insertions, 0 deletions
diff --git a/test_dynarray.cpp b/test_dynarray.cpp
new file mode 100755
index 0000000..d05d9a3
--- /dev/null
+++ b/test_dynarray.cpp
@@ -0,0 +1,29 @@
+#include "dynarray.h"
+
+DECL_MAIN {
+ static constexpr size_t N = 100000;
+ auto a = DynArray<int>(N);
+
+ for (size_t i = 0; i < 16; i++) {
+ assert(a.Append(static_cast<int>(i)));
+ }
+
+ for (size_t i = 0; i < 12; i++) {
+ std::cout << a[i] << "\n";
+ }
+
+ for (size_t i = 16; i < N; i++) {
+ a.Append(static_cast<int>(i));
+ }
+
+ size_t real_cap = GetCommittedBytes(N * sizeof(int)) / sizeof(int);
+
+ for (size_t i = N; i < real_cap; i++) {
+ a.Append(static_cast<int>(i));
+ }
+
+ // Exceeded capacity. Assertion failure.
+ // a.Append(0);
+
+ return 0;
+}