Mercurial > malikania
annotate tests/libclient/image/main.cpp @ 7:45b3c770803c
Misc: switch to lower case (part 2)
author | David Demelier <markand@malikania.fr> |
---|---|
date | Wed, 23 Mar 2016 17:11:39 +0100 |
parents | 8991989c4708 |
children | 35852c7d422a |
rev | line source |
---|---|
0 | 1 /* |
2 * main.cpp -- test Image | |
3 * | |
4 * Copyright (c) 2013-2016 Malikania Authors | |
5 * | |
6 * Permission to use, copy, modify, and/or distribute this software for any | |
7 * purpose with or without fee is hereby granted, provided that the above | |
8 * copyright notice and this permission notice appear in all copies. | |
9 * | |
10 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES | |
11 * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF | |
12 * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR | |
13 * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES | |
14 * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN | |
15 * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF | |
16 * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. | |
17 */ | |
18 | |
19 #include <chrono> | |
20 #include <thread> | |
21 | |
22 #include <gtest/gtest.h> | |
23 | |
7
45b3c770803c
Misc: switch to lower case (part 2)
David Demelier <markand@malikania.fr>
parents:
0
diff
changeset
|
24 #include <malikania/client-resources-loader.h> |
45b3c770803c
Misc: switch to lower case (part 2)
David Demelier <markand@malikania.fr>
parents:
0
diff
changeset
|
25 #include <malikania/image.h> |
45b3c770803c
Misc: switch to lower case (part 2)
David Demelier <markand@malikania.fr>
parents:
0
diff
changeset
|
26 #include <malikania/resources-locator.h> |
45b3c770803c
Misc: switch to lower case (part 2)
David Demelier <markand@malikania.fr>
parents:
0
diff
changeset
|
27 #include <malikania/window.h> |
0 | 28 |
29 using namespace malikania; | |
30 | |
31 using namespace std::chrono_literals; | |
32 | |
33 namespace { | |
34 | |
35 Window window(400, 400); | |
36 | |
37 } // !namespace | |
38 | |
39 class TestImage : public testing::Test { | |
40 protected: | |
41 ResourcesLocatorDirectory m_locator; | |
42 ClientResourcesLoader m_loader; | |
43 | |
44 public: | |
45 TestImage() | |
46 : m_locator(SOURCE_DIRECTORY "/resources") | |
47 , m_loader(window, m_locator) | |
48 { | |
49 } | |
50 }; | |
51 | |
52 TEST_F(TestImage, image100x10) | |
53 { | |
54 try { | |
55 Image image = m_loader.loadImage("images/100x10.png"); | |
56 | |
57 ASSERT_EQ(100U, image.size().width()); | |
58 ASSERT_EQ(10U, image.size().height()); | |
59 } catch (const std::exception &ex) { | |
60 FAIL() << ex.what(); | |
61 } | |
62 } | |
63 | |
64 TEST_F(TestImage, image16x16) | |
65 { | |
66 try { | |
67 Image image = m_loader.loadImage("images/16x16.png"); | |
68 | |
69 ASSERT_EQ(16U, image.size().width()); | |
70 ASSERT_EQ(16U, image.size().height()); | |
71 } catch (const std::exception &ex) { | |
72 FAIL() << ex.what(); | |
73 } | |
74 } | |
75 | |
76 TEST_F(TestImage, image10x100) | |
77 { | |
78 try { | |
79 Image image = m_loader.loadImage("images/10x100.png"); | |
80 | |
81 ASSERT_EQ(10U, image.size().width()); | |
82 ASSERT_EQ(100U, image.size().height()); | |
83 } catch (const std::exception &ex) { | |
84 FAIL() << ex.what(); | |
85 } | |
86 } | |
87 | |
88 TEST_F(TestImage, notfound) | |
89 { | |
90 try { | |
91 m_loader.loadImage("image-not-found"); | |
92 | |
93 FAIL() << "exception expected"; | |
94 } catch (const std::exception &) { | |
95 } | |
96 } | |
97 | |
98 /* | |
99 * Draw | |
100 * ------------------------------------------------------------------ | |
101 */ | |
102 | |
103 TEST_F(TestImage, draw) | |
104 { | |
105 try { | |
106 auto image = m_loader.loadImage("images/smiley.png"); | |
107 auto x = (400 / 2) - (image.size().width() / 2); | |
108 auto y = (400 / 2) - (image.size().height() / 2); | |
109 | |
110 window.clear(); | |
111 image.draw(window, Point(x, y)); | |
112 window.present(); | |
113 | |
114 std::this_thread::sleep_for(3s); | |
115 } catch (const std::exception &ex) { | |
116 FAIL() << ex.what(); | |
117 } | |
118 } | |
119 | |
120 int main(int argc, char **argv) | |
121 { | |
122 testing::InitGoogleTest(&argc, argv); | |
123 | |
124 return RUN_ALL_TESTS(); | |
125 } |