2015-05-31 14:50:09 +00:00
|
|
|
#include <assert.h>
|
|
|
|
#include <string.h>
|
2015-06-28 14:39:04 +00:00
|
|
|
#include "octa/array.hh"
|
|
|
|
#include "octa/string.hh"
|
2015-05-31 14:50:09 +00:00
|
|
|
|
|
|
|
using namespace octa;
|
2015-05-30 01:51:37 +00:00
|
|
|
|
|
|
|
int main() {
|
2015-05-31 14:50:09 +00:00
|
|
|
Array<int, 5> x = { 2, 4, 8, 16, 32 };
|
|
|
|
|
2015-06-01 00:13:37 +00:00
|
|
|
assert(x.front() == 2);
|
|
|
|
assert(x.back() == 32);
|
2015-05-31 14:50:09 +00:00
|
|
|
|
|
|
|
assert(x[0] == 2);
|
|
|
|
assert(x[2] == 8);
|
|
|
|
|
2015-06-28 21:16:13 +00:00
|
|
|
assert(*(x.at(0)) == x[0]);
|
|
|
|
assert(*(x.at(3)) == x[3]);
|
2015-05-31 14:50:09 +00: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 20:01:16 +00:00
|
|
|
auto r = x.iter();
|
2015-06-01 00:13:37 +00:00
|
|
|
assert(r.front() == 2);
|
|
|
|
assert(r.back() == 32);
|
2015-05-31 14:50:09 +00:00
|
|
|
|
|
|
|
Array<int, 5> z;
|
|
|
|
x.swap(z);
|
|
|
|
|
2015-06-01 00:13:37 +00:00
|
|
|
assert(z.front() == 2);
|
|
|
|
assert(z.back() == 32);
|
2015-05-31 14:50:09 +00:00
|
|
|
|
|
|
|
assert(z.size() == 5);
|
|
|
|
|
|
|
|
assert(!strcmp(to_string(z).data(), "{2, 4, 8, 16, 32}"));
|
|
|
|
|
2015-05-30 01:51:37 +00:00
|
|
|
return 0;
|
|
|
|
}
|