aboutsummaryrefslogtreecommitdiff
path: root/test_dynarray.cpp
blob: d05d9a33471ba435b0e2c12e8f0dd6e1bf26ed6b (plain)
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
#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;
}