libostd/tests/array.cc

45 lines
759 B
C++
Raw Normal View History

2015-05-31 16:50:09 +02:00
#include <assert.h>
2015-07-13 21:08:55 +02:00
#include "ostd/array.hh"
#include "ostd/string.hh"
2015-05-31 16:50:09 +02:00
2015-07-13 21:07:14 +02:00
using namespace ostd;
2015-05-30 03:51:37 +02:00
int main() {
2015-05-31 16:50:09 +02:00
Array<int, 5> x = { 2, 4, 8, 16, 32 };
2015-06-01 02:13:37 +02:00
assert(x.front() == 2);
assert(x.back() == 32);
2015-05-31 16:50:09 +02:00
assert(x[0] == 2);
assert(x[2] == 8);
assert(*(x.at(0)) == x[0]);
assert(*(x.at(3)) == x[3]);
2015-05-31 16:50:09 +02:00
assert(x.size() == 5);
assert(!x.empty());
assert(x.in_range(4));
assert(x.in_range(0));
assert(!x.in_range(5));
assert(x.data()[0] == x[0]);
2015-06-26 22:01:16 +02:00
auto r = x.iter();
2015-06-01 02:13:37 +02:00
assert(r.front() == 2);
assert(r.back() == 32);
2015-05-31 16:50:09 +02:00
Array<int, 5> z;
x.swap(z);
2015-06-01 02:13:37 +02:00
assert(z.front() == 2);
assert(z.back() == 32);
2015-05-31 16:50:09 +02:00
assert(z.size() == 5);
2015-07-21 22:46:43 +02:00
assert(to_string(z) == "{2, 4, 8, 16, 32}");
2015-05-31 16:50:09 +02:00
2015-05-30 03:51:37 +02:00
return 0;
2016-02-07 22:17:15 +01:00
}