aboutsummaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
Diffstat (limited to 'tests')
-rw-r--r--tests/matrixtest.cpp65
-rw-r--r--tests/particlebodytest.cpp41
-rw-r--r--tests/rendertest.cpp17
-rw-r--r--tests/rendertest.h19
-rw-r--r--tests/resources/floor_atlas.json1026
-rw-r--r--tests/resources/floor_atlas.pngbin0 -> 234876 bytes
-rw-r--r--tests/spritesheettest.cpp7
-rw-r--r--tests/windowtest.cpp21
-rw-r--r--tests/yagetest.cpp26
9 files changed, 1222 insertions, 0 deletions
diff --git a/tests/matrixtest.cpp b/tests/matrixtest.cpp
new file mode 100644
index 00000000..58786bae
--- /dev/null
+++ b/tests/matrixtest.cpp
@@ -0,0 +1,65 @@
+/* ----------------------------------------------------------------------------
+ * matrixtest.cpp
+ *
+ * Copyright (c) 2017 Yann Herklotz Grave <ymherklotz@gmail.com> -- MIT License
+ * See file LICENSE for more details
+ * ----------------------------------------------------------------------------
+ */
+
+#include <gtest/gtest.h>
+#include <yage/yage.h>
+
+#include <algorithm>
+#include <cstdlib>
+#include <ctime>
+#include <vector>
+
+// TESTS
+
+TEST(Matrix, Assign)
+{
+ double rand_num = rand();
+ yage::Matrix<5, 5, double> mat1;
+
+ mat1[3][2] = rand_num;
+
+ ASSERT_EQ(rand_num, mat1[3][2]);
+
+ yage::Matrix<2, 2, double> mat2{{rand_num, rand_num, rand_num, rand_num}};
+
+ ASSERT_EQ(rand_num, mat2[1][0]);
+}
+
+TEST(Matrix, Addition)
+{
+ int rand_x = rand();
+ int rand_y = rand();
+ yage::Matrix<5, 5, int> m1, m2;
+
+ m1[2][4] = rand_x;
+ m2[2][4] = rand_y;
+
+ ASSERT_EQ(rand_x + rand_y, (m1 + m2)[2][4]);
+}
+
+TEST(Vector, DotProduct)
+{
+ std::vector<int> contents_i = {rand() % 100, rand() % 100, rand() % 100};
+ std::vector<int> contents_j = {rand() % 100, rand() % 100, rand() % 100};
+ yage::Vector<3, int> v1{contents_i};
+ yage::Vector<3, int> v2{contents_j};
+
+ int sum = 0;
+ for (std::size_t i = 0; i < contents_i.size(); ++i) {
+ sum += contents_i[i] * contents_j[i];
+ }
+
+ ASSERT_EQ(sum, yage::matrix::dot(v1, v2));
+}
+
+int main(int argc, char **argv)
+{
+ srand(static_cast<unsigned>(time(nullptr)));
+ testing::InitGoogleTest(&argc, argv);
+ return RUN_ALL_TESTS();
+}
diff --git a/tests/particlebodytest.cpp b/tests/particlebodytest.cpp
new file mode 100644
index 00000000..4b8c92b2
--- /dev/null
+++ b/tests/particlebodytest.cpp
@@ -0,0 +1,41 @@
+/* ----------------------------------------------------------------------------
+ * rigidbodytest.cpp
+ *
+ * Copyright (c) 2017 Yann Herklotz Grave <ymherklotz@gmail.com> -- MIT License
+ * See file LICENSE for more details
+ * ----------------------------------------------------------------------------
+ */
+
+#include <yage/yage.h>
+#include <gtest/gtest.h>
+
+#include <cmath>
+#include <cstdlib>
+
+double gravityAcceleration(int iterations)
+{
+ yage::ParticleBody body;
+ for (int i = 0; i < 60 * iterations; ++i) {
+ body.update();
+ }
+
+ return body.yPosition();
+}
+
+// Tests
+
+TEST(ParticleBody, Gravity)
+{
+ int randomItr = rand() % 10;
+ double idealPosition = 0.5 * -9.81 * std::pow(randomItr, 2);
+
+ ASSERT_GE(idealPosition * 0.95, gravityAcceleration(randomItr));
+ ASSERT_LE(idealPosition * 1.05, gravityAcceleration(randomItr));
+}
+
+int main(int argc, char **argv)
+{
+ testing::InitGoogleTest(&argc, argv);
+ srand(static_cast<unsigned>(time(nullptr)));
+ return RUN_ALL_TESTS();
+}
diff --git a/tests/rendertest.cpp b/tests/rendertest.cpp
new file mode 100644
index 00000000..5f35b1fc
--- /dev/null
+++ b/tests/rendertest.cpp
@@ -0,0 +1,17 @@
+/* ----------------------------------------------------------------------------
+ * renderingtest.cpp
+ *
+ * Copyright (c) 2017 Yann Herklotz Grave <ymherklotz@gmail.com> -- MIT License
+ * See file LICENSE for more details
+ * ----------------------------------------------------------------------------
+ */
+
+#include "rendertest.h"
+
+RenderTest::RenderTest(std::string sprite) : sprite_(sprite)
+{
+}
+
+void RenderTest::render()
+{
+}
diff --git a/tests/rendertest.h b/tests/rendertest.h
new file mode 100644
index 00000000..c239338f
--- /dev/null
+++ b/tests/rendertest.h
@@ -0,0 +1,19 @@
+/* ----------------------------------------------------------------------------
+ * renderingtest.h
+ *
+ * Copyright (c) 2017 Yann Herklotz Grave <ymherklotz@gmail.com> -- MIT License
+ * See file LICENSE for more details
+ * ----------------------------------------------------------------------------
+ */
+
+#include <string>
+
+class RenderTest
+{
+public:
+ RenderTest(std::string sprite);
+ void render();
+
+private:
+ std::string sprite_;
+};
diff --git a/tests/resources/floor_atlas.json b/tests/resources/floor_atlas.json
new file mode 100644
index 00000000..a4c30f3d
--- /dev/null
+++ b/tests/resources/floor_atlas.json
@@ -0,0 +1,1026 @@
+{
+ "width": 512,
+ "height": 352,
+ "sprites": {
+ "sandstone_floor6.png": {
+ "x": 0,
+ "y": 0,
+ "width": 32,
+ "height": 32
+ },
+ "pedestal_ne.png": {
+ "x": 32,
+ "y": 0,
+ "width": 32,
+ "height": 32
+ },
+ "marble_floor4.png": {
+ "x": 64,
+ "y": 0,
+ "width": 32,
+ "height": 32
+ },
+ "pebble_brown2.png": {
+ "x": 96,
+ "y": 0,
+ "width": 32,
+ "height": 32
+ },
+ "sandstone_floor4.png": {
+ "x": 128,
+ "y": 0,
+ "width": 32,
+ "height": 32
+ },
+ "hive2.png": {
+ "x": 160,
+ "y": 0,
+ "width": 32,
+ "height": 32
+ },
+ "lair1.png": {
+ "x": 192,
+ "y": 0,
+ "width": 32,
+ "height": 32
+ },
+ "crystal_floor3.png": {
+ "x": 224,
+ "y": 0,
+ "width": 32,
+ "height": 32
+ },
+ "volcanic_floor1.png": {
+ "x": 256,
+ "y": 0,
+ "width": 32,
+ "height": 32
+ },
+ "snake2.png": {
+ "x": 288,
+ "y": 0,
+ "width": 32,
+ "height": 32
+ },
+ "lava2.png": {
+ "x": 320,
+ "y": 0,
+ "width": 32,
+ "height": 32
+ },
+ "cobble_blood5.png": {
+ "x": 352,
+ "y": 0,
+ "width": 32,
+ "height": 32
+ },
+ "dirt_ne.png": {
+ "x": 384,
+ "y": 0,
+ "width": 32,
+ "height": 32
+ },
+ "mesh2.png": {
+ "x": 416,
+ "y": 0,
+ "width": 32,
+ "height": 32
+ },
+ "cobble_blood7.png": {
+ "x": 448,
+ "y": 0,
+ "width": 32,
+ "height": 32
+ },
+ "sandstone_floor2.png": {
+ "x": 480,
+ "y": 0,
+ "width": 32,
+ "height": 32
+ },
+ "dirt_e.png": {
+ "x": 0,
+ "y": 32,
+ "width": 32,
+ "height": 32
+ },
+ "pedestal_se.png": {
+ "x": 32,
+ "y": 32,
+ "width": 32,
+ "height": 32
+ },
+ "rough_red0.png": {
+ "x": 64,
+ "y": 32,
+ "width": 32,
+ "height": 32
+ },
+ "grey_dirt2.png": {
+ "x": 96,
+ "y": 32,
+ "width": 32,
+ "height": 32
+ },
+ "bog_green2.png": {
+ "x": 128,
+ "y": 32,
+ "width": 32,
+ "height": 32
+ },
+ "floor_sand_stone3.png": {
+ "x": 160,
+ "y": 32,
+ "width": 32,
+ "height": 32
+ },
+ "tomb0.png": {
+ "x": 192,
+ "y": 32,
+ "width": 32,
+ "height": 32
+ },
+ "pedestal_sw.png": {
+ "x": 224,
+ "y": 32,
+ "width": 32,
+ "height": 32
+ },
+ "pebble_brown3.png": {
+ "x": 256,
+ "y": 32,
+ "width": 32,
+ "height": 32
+ },
+ "floor_vines3.png": {
+ "x": 288,
+ "y": 32,
+ "width": 32,
+ "height": 32
+ },
+ "pebble_brown1.png": {
+ "x": 320,
+ "y": 32,
+ "width": 32,
+ "height": 32
+ },
+ "crystal_floor0.png": {
+ "x": 352,
+ "y": 32,
+ "width": 32,
+ "height": 32
+ },
+ "rect_gray3.png": {
+ "x": 384,
+ "y": 32,
+ "width": 32,
+ "height": 32
+ },
+ "floor_sand_stone4.png": {
+ "x": 416,
+ "y": 32,
+ "width": 32,
+ "height": 32
+ },
+ "floor_sand_stone0.png": {
+ "x": 448,
+ "y": 32,
+ "width": 32,
+ "height": 32
+ },
+ "cobble_blood6.png": {
+ "x": 480,
+ "y": 32,
+ "width": 32,
+ "height": 32
+ },
+ "floor_nerves2.png": {
+ "x": 0,
+ "y": 64,
+ "width": 32,
+ "height": 32
+ },
+ "ice2.png": {
+ "x": 32,
+ "y": 64,
+ "width": 32,
+ "height": 32
+ },
+ "lair0.png": {
+ "x": 64,
+ "y": 64,
+ "width": 32,
+ "height": 32
+ },
+ "rough_red1.png": {
+ "x": 96,
+ "y": 64,
+ "width": 32,
+ "height": 32
+ },
+ "pebble_brown0.png": {
+ "x": 128,
+ "y": 64,
+ "width": 32,
+ "height": 32
+ },
+ "snake3.png": {
+ "x": 160,
+ "y": 64,
+ "width": 32,
+ "height": 32
+ },
+ "volcanic_floor2.png": {
+ "x": 192,
+ "y": 64,
+ "width": 32,
+ "height": 32
+ },
+ "pebble_brown7.png": {
+ "x": 224,
+ "y": 64,
+ "width": 32,
+ "height": 32
+ },
+ "floor_sand_stone1.png": {
+ "x": 256,
+ "y": 64,
+ "width": 32,
+ "height": 32
+ },
+ "floor_nerves6.png": {
+ "x": 288,
+ "y": 64,
+ "width": 32,
+ "height": 32
+ },
+ "cobble_blood10.png": {
+ "x": 320,
+ "y": 64,
+ "width": 32,
+ "height": 32
+ },
+ "dirt_n.png": {
+ "x": 352,
+ "y": 64,
+ "width": 32,
+ "height": 32
+ },
+ "mesh0.png": {
+ "x": 384,
+ "y": 64,
+ "width": 32,
+ "height": 32
+ },
+ "sandstone_floor7.png": {
+ "x": 416,
+ "y": 64,
+ "width": 32,
+ "height": 32
+ },
+ "volcanic_floor6.png": {
+ "x": 448,
+ "y": 64,
+ "width": 32,
+ "height": 32
+ },
+ "sandstone_floor0.png": {
+ "x": 480,
+ "y": 64,
+ "width": 32,
+ "height": 32
+ },
+ "rough_red3.png": {
+ "x": 0,
+ "y": 96,
+ "width": 32,
+ "height": 32
+ },
+ "pedestal_e.png": {
+ "x": 32,
+ "y": 96,
+ "width": 32,
+ "height": 32
+ },
+ "ice1.png": {
+ "x": 64,
+ "y": 96,
+ "width": 32,
+ "height": 32
+ },
+ "floor_nerves0.png": {
+ "x": 96,
+ "y": 96,
+ "width": 32,
+ "height": 32
+ },
+ "swamp0.png": {
+ "x": 128,
+ "y": 96,
+ "width": 32,
+ "height": 32
+ },
+ "dirt2.png": {
+ "x": 160,
+ "y": 96,
+ "width": 32,
+ "height": 32
+ },
+ "floor_sand_stone6.png": {
+ "x": 192,
+ "y": 96,
+ "width": 32,
+ "height": 32
+ },
+ "pedestal_s.png": {
+ "x": 224,
+ "y": 96,
+ "width": 32,
+ "height": 32
+ },
+ "pedestal_full.png": {
+ "x": 256,
+ "y": 96,
+ "width": 32,
+ "height": 32
+ },
+ "volcanic_floor4.png": {
+ "x": 288,
+ "y": 96,
+ "width": 32,
+ "height": 32
+ },
+ "pebble_brown4.png": {
+ "x": 320,
+ "y": 96,
+ "width": 32,
+ "height": 32
+ },
+ "dirt1.png": {
+ "x": 352,
+ "y": 96,
+ "width": 32,
+ "height": 32
+ },
+ "sandstone_floor5.png": {
+ "x": 384,
+ "y": 96,
+ "width": 32,
+ "height": 32
+ },
+ "rough_red2.png": {
+ "x": 416,
+ "y": 96,
+ "width": 32,
+ "height": 32
+ },
+ "rect_gray0.png": {
+ "x": 448,
+ "y": 96,
+ "width": 32,
+ "height": 32
+ },
+ "rect_gray2.png": {
+ "x": 480,
+ "y": 96,
+ "width": 32,
+ "height": 32
+ },
+ "floor_nerves5.png": {
+ "x": 0,
+ "y": 128,
+ "width": 32,
+ "height": 32
+ },
+ "swamp2.png": {
+ "x": 32,
+ "y": 128,
+ "width": 32,
+ "height": 32
+ },
+ "grey_dirt7.png": {
+ "x": 64,
+ "y": 128,
+ "width": 32,
+ "height": 32
+ },
+ "cobble_blood8.png": {
+ "x": 96,
+ "y": 128,
+ "width": 32,
+ "height": 32
+ },
+ "grey_dirt0.png": {
+ "x": 128,
+ "y": 128,
+ "width": 32,
+ "height": 32
+ },
+ "cobble_blood1.png": {
+ "x": 160,
+ "y": 128,
+ "width": 32,
+ "height": 32
+ },
+ "volcanic_floor3.png": {
+ "x": 192,
+ "y": 128,
+ "width": 32,
+ "height": 32
+ },
+ "lair2.png": {
+ "x": 224,
+ "y": 128,
+ "width": 32,
+ "height": 32
+ },
+ "lava0.png": {
+ "x": 256,
+ "y": 128,
+ "width": 32,
+ "height": 32
+ },
+ "cobble_blood4.png": {
+ "x": 288,
+ "y": 128,
+ "width": 32,
+ "height": 32
+ },
+ "grey_dirt1.png": {
+ "x": 320,
+ "y": 128,
+ "width": 32,
+ "height": 32
+ },
+ "pedestal_nw.png": {
+ "x": 352,
+ "y": 128,
+ "width": 32,
+ "height": 32
+ },
+ "crystal_floor5.png": {
+ "x": 384,
+ "y": 128,
+ "width": 32,
+ "height": 32
+ },
+ "bog_green3.png": {
+ "x": 416,
+ "y": 128,
+ "width": 32,
+ "height": 32
+ },
+ "marble_floor2.png": {
+ "x": 448,
+ "y": 128,
+ "width": 32,
+ "height": 32
+ },
+ "mesh3.png": {
+ "x": 480,
+ "y": 128,
+ "width": 32,
+ "height": 32
+ },
+ "pedestal_w.png": {
+ "x": 0,
+ "y": 160,
+ "width": 32,
+ "height": 32
+ },
+ "swamp1.png": {
+ "x": 32,
+ "y": 160,
+ "width": 32,
+ "height": 32
+ },
+ "snake0.png": {
+ "x": 64,
+ "y": 160,
+ "width": 32,
+ "height": 32
+ },
+ "crystal_floor4.png": {
+ "x": 96,
+ "y": 160,
+ "width": 32,
+ "height": 32
+ },
+ "cobble_blood12.png": {
+ "x": 128,
+ "y": 160,
+ "width": 32,
+ "height": 32
+ },
+ "floor_vines4.png": {
+ "x": 160,
+ "y": 160,
+ "width": 32,
+ "height": 32
+ },
+ "floor_vines2.png": {
+ "x": 192,
+ "y": 160,
+ "width": 32,
+ "height": 32
+ },
+ "floor_nerves1.png": {
+ "x": 224,
+ "y": 160,
+ "width": 32,
+ "height": 32
+ },
+ "snake1.png": {
+ "x": 256,
+ "y": 160,
+ "width": 32,
+ "height": 32
+ },
+ "dirt_sw.png": {
+ "x": 288,
+ "y": 160,
+ "width": 32,
+ "height": 32
+ },
+ "dirt0.png": {
+ "x": 320,
+ "y": 160,
+ "width": 32,
+ "height": 32
+ },
+ "hive0.png": {
+ "x": 352,
+ "y": 160,
+ "width": 32,
+ "height": 32
+ },
+ "grey_dirt3.png": {
+ "x": 384,
+ "y": 160,
+ "width": 32,
+ "height": 32
+ },
+ "floor_nerves3.png": {
+ "x": 416,
+ "y": 160,
+ "width": 32,
+ "height": 32
+ },
+ "marble_floor5.png": {
+ "x": 448,
+ "y": 160,
+ "width": 32,
+ "height": 32
+ },
+ "bog_green1.png": {
+ "x": 480,
+ "y": 160,
+ "width": 32,
+ "height": 32
+ },
+ "sandstone_floor3.png": {
+ "x": 0,
+ "y": 192,
+ "width": 32,
+ "height": 32
+ },
+ "bog_green0.png": {
+ "x": 32,
+ "y": 192,
+ "width": 32,
+ "height": 32
+ },
+ "pedestal_n.png": {
+ "x": 64,
+ "y": 192,
+ "width": 32,
+ "height": 32
+ },
+ "hive1.png": {
+ "x": 96,
+ "y": 192,
+ "width": 32,
+ "height": 32
+ },
+ "pebble_brown6.png": {
+ "x": 128,
+ "y": 192,
+ "width": 32,
+ "height": 32
+ },
+ "floor_sand_stone2.png": {
+ "x": 160,
+ "y": 192,
+ "width": 32,
+ "height": 32
+ },
+ "cobble_blood3.png": {
+ "x": 192,
+ "y": 192,
+ "width": 32,
+ "height": 32
+ },
+ "sandstone_floor9.png": {
+ "x": 224,
+ "y": 192,
+ "width": 32,
+ "height": 32
+ },
+ "swamp3.png": {
+ "x": 256,
+ "y": 192,
+ "width": 32,
+ "height": 32
+ },
+ "ice0.png": {
+ "x": 288,
+ "y": 192,
+ "width": 32,
+ "height": 32
+ },
+ "marble_floor3.png": {
+ "x": 320,
+ "y": 192,
+ "width": 32,
+ "height": 32
+ },
+ "volcanic_floor5.png": {
+ "x": 352,
+ "y": 192,
+ "width": 32,
+ "height": 32
+ },
+ "floor_vines6.png": {
+ "x": 384,
+ "y": 192,
+ "width": 32,
+ "height": 32
+ },
+ "tutorial_pad.png": {
+ "x": 416,
+ "y": 192,
+ "width": 32,
+ "height": 32
+ },
+ "dirt_nw.png": {
+ "x": 448,
+ "y": 192,
+ "width": 32,
+ "height": 32
+ },
+ "floor_vines0.png": {
+ "x": 480,
+ "y": 192,
+ "width": 32,
+ "height": 32
+ },
+ "grey_dirt4.png": {
+ "x": 0,
+ "y": 224,
+ "width": 32,
+ "height": 32
+ },
+ "marble_floor6.png": {
+ "x": 32,
+ "y": 224,
+ "width": 32,
+ "height": 32
+ },
+ "grey_dirt6.png": {
+ "x": 64,
+ "y": 224,
+ "width": 32,
+ "height": 32
+ },
+ "crystal_floor1.png": {
+ "x": 96,
+ "y": 224,
+ "width": 32,
+ "height": 32
+ },
+ "cobble_blood9.png": {
+ "x": 128,
+ "y": 224,
+ "width": 32,
+ "height": 32
+ },
+ "ice3.png": {
+ "x": 160,
+ "y": 224,
+ "width": 32,
+ "height": 32
+ },
+ "floor_nerves4.png": {
+ "x": 192,
+ "y": 224,
+ "width": 32,
+ "height": 32
+ },
+ "dirt_w.png": {
+ "x": 224,
+ "y": 224,
+ "width": 32,
+ "height": 32
+ },
+ "pebble_brown5.png": {
+ "x": 256,
+ "y": 224,
+ "width": 32,
+ "height": 32
+ },
+ "lair3.png": {
+ "x": 288,
+ "y": 224,
+ "width": 32,
+ "height": 32
+ },
+ "rect_gray1.png": {
+ "x": 320,
+ "y": 224,
+ "width": 32,
+ "height": 32
+ },
+ "tomb3.png": {
+ "x": 352,
+ "y": 224,
+ "width": 32,
+ "height": 32
+ },
+ "floor_vines1.png": {
+ "x": 384,
+ "y": 224,
+ "width": 32,
+ "height": 32
+ },
+ "grey_dirt5.png": {
+ "x": 416,
+ "y": 224,
+ "width": 32,
+ "height": 32
+ },
+ "floor_vines5.png": {
+ "x": 448,
+ "y": 224,
+ "width": 32,
+ "height": 32
+ },
+ "sandstone_floor1.png": {
+ "x": 480,
+ "y": 224,
+ "width": 32,
+ "height": 32
+ },
+ "floor_sand_stone5.png": {
+ "x": 0,
+ "y": 256,
+ "width": 32,
+ "height": 32
+ },
+ "dirt_se.png": {
+ "x": 32,
+ "y": 256,
+ "width": 32,
+ "height": 32
+ },
+ "grass/grass_full.png": {
+ "x": 64,
+ "y": 256,
+ "width": 32,
+ "height": 32
+ },
+ "grass/grass1.png": {
+ "x": 96,
+ "y": 256,
+ "width": 32,
+ "height": 32
+ },
+ "grass/grass_flowers_yellow2.png": {
+ "x": 128,
+ "y": 256,
+ "width": 32,
+ "height": 32
+ },
+ "grass/grass_s.png": {
+ "x": 160,
+ "y": 256,
+ "width": 32,
+ "height": 32
+ },
+ "grass/grass_se.png": {
+ "x": 192,
+ "y": 256,
+ "width": 32,
+ "height": 32
+ },
+ "grass/grass_flowers_red2.png": {
+ "x": 224,
+ "y": 256,
+ "width": 32,
+ "height": 32
+ },
+ "grass/grass2.png": {
+ "x": 256,
+ "y": 256,
+ "width": 32,
+ "height": 32
+ },
+ "grass/grass0-dirt-mix2.png": {
+ "x": 288,
+ "y": 256,
+ "width": 32,
+ "height": 32
+ },
+ "grass/grass_flowers_blue3.png": {
+ "x": 320,
+ "y": 256,
+ "width": 32,
+ "height": 32
+ },
+ "grass/grass_flowers_blue2.png": {
+ "x": 352,
+ "y": 256,
+ "width": 32,
+ "height": 32
+ },
+ "grass/grass_flowers_blue1.png": {
+ "x": 384,
+ "y": 256,
+ "width": 32,
+ "height": 32
+ },
+ "grass/grass0-dirt-mix1.png": {
+ "x": 416,
+ "y": 256,
+ "width": 32,
+ "height": 32
+ },
+ "grass/grass_flowers_red1.png": {
+ "x": 448,
+ "y": 256,
+ "width": 32,
+ "height": 32
+ },
+ "grass/grass_flowers_yellow3.png": {
+ "x": 480,
+ "y": 256,
+ "width": 32,
+ "height": 32
+ },
+ "grass/grass_sw.png": {
+ "x": 0,
+ "y": 288,
+ "width": 32,
+ "height": 32
+ },
+ "grass/grass_flowers_yellow1.png": {
+ "x": 32,
+ "y": 288,
+ "width": 32,
+ "height": 32
+ },
+ "grass/grass_nw.png": {
+ "x": 64,
+ "y": 288,
+ "width": 32,
+ "height": 32
+ },
+ "grass/grass_w.png": {
+ "x": 96,
+ "y": 288,
+ "width": 32,
+ "height": 32
+ },
+ "grass/grass_n.png": {
+ "x": 128,
+ "y": 288,
+ "width": 32,
+ "height": 32
+ },
+ "grass/grass_e.png": {
+ "x": 160,
+ "y": 288,
+ "width": 32,
+ "height": 32
+ },
+ "grass/grass_ne.png": {
+ "x": 192,
+ "y": 288,
+ "width": 32,
+ "height": 32
+ },
+ "grass/grass0-dirt-mix3.png": {
+ "x": 224,
+ "y": 288,
+ "width": 32,
+ "height": 32
+ },
+ "grass/grass0.png": {
+ "x": 256,
+ "y": 288,
+ "width": 32,
+ "height": 32
+ },
+ "grass/grass_flowers_red3.png": {
+ "x": 288,
+ "y": 288,
+ "width": 32,
+ "height": 32
+ },
+ "crystal_floor2.png": {
+ "x": 320,
+ "y": 288,
+ "width": 32,
+ "height": 32
+ },
+ "tomb2.png": {
+ "x": 352,
+ "y": 288,
+ "width": 32,
+ "height": 32
+ },
+ "cobble_blood11.png": {
+ "x": 384,
+ "y": 288,
+ "width": 32,
+ "height": 32
+ },
+ "cobble_blood2.png": {
+ "x": 416,
+ "y": 288,
+ "width": 32,
+ "height": 32
+ },
+ "lava3.png": {
+ "x": 448,
+ "y": 288,
+ "width": 32,
+ "height": 32
+ },
+ "volcanic_floor0.png": {
+ "x": 480,
+ "y": 288,
+ "width": 32,
+ "height": 32
+ },
+ "mesh1.png": {
+ "x": 0,
+ "y": 320,
+ "width": 32,
+ "height": 32
+ },
+ "dirt_full.png": {
+ "x": 32,
+ "y": 320,
+ "width": 32,
+ "height": 32
+ },
+ "lava1.png": {
+ "x": 64,
+ "y": 320,
+ "width": 32,
+ "height": 32
+ },
+ "tomb1.png": {
+ "x": 96,
+ "y": 320,
+ "width": 32,
+ "height": 32
+ },
+ "dirt_s.png": {
+ "x": 128,
+ "y": 320,
+ "width": 32,
+ "height": 32
+ },
+ "marble_floor1.png": {
+ "x": 160,
+ "y": 320,
+ "width": 32,
+ "height": 32
+ },
+ "floor_sand_stone7.png": {
+ "x": 192,
+ "y": 320,
+ "width": 32,
+ "height": 32
+ },
+ "hive3.png": {
+ "x": 224,
+ "y": 320,
+ "width": 32,
+ "height": 32
+ },
+ "pebble_brown8.png": {
+ "x": 256,
+ "y": 320,
+ "width": 32,
+ "height": 32
+ },
+ "sandstone_floor8.png": {
+ "x": 288,
+ "y": 320,
+ "width": 32,
+ "height": 32
+ }
+ }
+} \ No newline at end of file
diff --git a/tests/resources/floor_atlas.png b/tests/resources/floor_atlas.png
new file mode 100644
index 00000000..61a5e90a
--- /dev/null
+++ b/tests/resources/floor_atlas.png
Binary files differ
diff --git a/tests/spritesheettest.cpp b/tests/spritesheettest.cpp
new file mode 100644
index 00000000..b801688b
--- /dev/null
+++ b/tests/spritesheettest.cpp
@@ -0,0 +1,7 @@
+#include <yage/yage.h>
+#include <gtest/gtest.h>
+
+TEST(SpriteSheet, Load)
+{
+
+}
diff --git a/tests/windowtest.cpp b/tests/windowtest.cpp
new file mode 100644
index 00000000..464d4c68
--- /dev/null
+++ b/tests/windowtest.cpp
@@ -0,0 +1,21 @@
+/* ----------------------------------------------------------------------------
+ * windowtest.cpp
+ *
+ * Copyright (c) 2017 Yann Herklotz Grave <ymherklotz@gmail.com>
+ * MIT License, see LICENSE file for more details.
+ * ----------------------------------------------------------------------------
+ */
+
+#include <yage/yage.h>
+#include <gtest/gtest.h>
+
+TEST(Window, Open)
+{
+ ASSERT_TRUE(true);
+}
+
+int main(int argc, char **argv)
+{
+ testing::InitGoogleTest(&argc, argv);
+ return RUN_ALL_TESTS();
+}
diff --git a/tests/yagetest.cpp b/tests/yagetest.cpp
new file mode 100644
index 00000000..afadc745
--- /dev/null
+++ b/tests/yagetest.cpp
@@ -0,0 +1,26 @@
+/* ----------------------------------------------------------------------------
+ * yagetest.cpp
+ *
+ * Copyright (c) 2017 Yann Herklotz Grave <ymherklotz@gmail.com> -- MIT License
+ * See file LICENSE for more details
+ * ----------------------------------------------------------------------------
+ */
+
+#include <yage/yage.h>
+#include <gtest/gtest.h>
+
+TEST(YAGE, InitQuit)
+{
+ try {
+ yage::init();
+ yage::quit();
+ } catch(std::runtime_error e) {
+// ASSERT_TRUE(false);
+ }
+}
+
+int main(int argc, char **argv)
+{
+ testing::InitGoogleTest(&argc, argv);
+ return RUN_ALL_TESTS();
+}