diff --git a/test/Makefile.am b/test/Makefile.am index cf9eab50..53c51714 100644 --- a/test/Makefile.am +++ b/test/Makefile.am @@ -18,10 +18,10 @@ endif testsuite_SOURCES = testsuite.cpp \ unit/vector.cpp unit/matrix.cpp unit/half.cpp unit/trig.cpp \ unit/build.cpp unit/real.cpp unit/image.cpp unit/quat.cpp unit/cmplx.cpp \ - unit/array.cpp unit/array2d.cpp unit/array3d.cpp unit/rotation.cpp \ + unit/array.cpp unit/array2d.cpp unit/array3d.cpp unit/arraynd.cpp \ unit/string.cpp unit/map.cpp unit/color.cpp unit/enum.cpp \ unit/interp.cpp unit/box.cpp unit/rand.cpp unit/thread.cpp \ - unit/camera.cpp + unit/camera.cpp unit/rotation.cpp testsuite_CPPFLAGS = $(AM_CPPFLAGS) testsuite_DEPENDENCIES = @LOL_DEPS@ noinst_DATA = data/gradient.png diff --git a/test/unit/arraynd.cpp b/test/unit/arraynd.cpp new file mode 100644 index 00000000..20afe8dd --- /dev/null +++ b/test/unit/arraynd.cpp @@ -0,0 +1,58 @@ +// +// Lol Engine +// +// Copyright: (c) 2010-2014 Sam Hocevar +// This program is free software; you can redistribute it and/or +// modify it under the terms of the Do What The Fuck You Want To +// Public License, Version 2, as published by Sam Hocevar. See +// http://www.wtfpl.net/ for more details. +// + +#if defined HAVE_CONFIG_H +# include "config.h" +#endif + +#include +#include "lol/unit.h" + +namespace lol +{ + +LOLUNIT_FIXTURE(ArrayNDTest) +{ + void SetUp() {} + + void TearDown() {} + +#if 0 + LOLUNIT_TEST(ArrayNDCreate) + { + arraynd a; + arraynd b; + arraynd c; + arraynd d; + } + + LOLUNIT_TEST(ArrayNDInit) + { + int const dimension = 8; + vec_t size; + for (int i = 0; i < dimension; ++i) + size[i] = 5; + + arraynd a(size); + memset(a.Data(), 0, a.Bytes()); + LOLUNIT_ASSERT_EQUAL(a[2][3][2][0][1][4][0][1], 0x00); + + vec_t v{ 2, 3, 2, 0, 1, 4, 0, 1 }; + LOLUNIT_ASSERT_EQUAL(a[v], 0x00); + + a[2][3][2][0][1][4][0][1] = 0xcd; + LOLUNIT_ASSERT_EQUAL(a[2][3][2][0][1][4][0][1], 0xcd); + LOLUNIT_ASSERT_EQUAL(a[v], 0xcd); + } +#endif +}; + +} /* namespace lol */ +