]> git.lizzy.rs Git - dragonfireclient.git/blob - src/unittest/test_profiler.cpp
Merge pull request #35 from arydevy/patch-1
[dragonfireclient.git] / src / unittest / test_profiler.cpp
1 /*
2 Minetest
3 Copyright (C) 2013 celeron55, Perttu Ahola <celeron55@gmail.com>
4
5 This program is free software; you can redistribute it and/or modify
6 it under the terms of the GNU Lesser General Public License as published by
7 the Free Software Foundation; either version 2.1 of the License, or
8 (at your option) any later version.
9
10 This program is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13 GNU Lesser General Public License for more details.
14
15 You should have received a copy of the GNU Lesser General Public License along
16 with this program; if not, write to the Free Software Foundation, Inc.,
17 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
18 */
19
20 #include "test.h"
21
22 #include "profiler.h"
23
24 class TestProfiler : public TestBase
25 {
26 public:
27         TestProfiler() { TestManager::registerTestModule(this); }
28         const char *getName() { return "TestProfiler"; }
29
30         void runTests(IGameDef *gamedef);
31
32         void testProfilerAverage();
33 };
34
35 static TestProfiler g_test_instance;
36
37 void TestProfiler::runTests(IGameDef *gamedef)
38 {
39         TEST(testProfilerAverage);
40 }
41
42 ////////////////////////////////////////////////////////////////////////////////
43
44 void TestProfiler::testProfilerAverage()
45 {
46         Profiler p;
47
48         p.avg("Test1", 1.f);
49         UASSERT(p.getValue("Test1") == 1.f);
50
51         p.avg("Test1", 2.f);
52         UASSERT(p.getValue("Test1") == 1.5f);
53
54         p.avg("Test1", 3.f);
55         UASSERT(p.getValue("Test1") == 2.f);
56
57         p.avg("Test1", 486.f);
58         UASSERT(p.getValue("Test1") == 123.f);
59
60         p.avg("Test1", 8);
61         UASSERT(p.getValue("Test1") == 100.f);
62
63         p.avg("Test1", 700);
64         UASSERT(p.getValue("Test1") == 200.f);
65
66         p.avg("Test1", 10000);
67         UASSERT(p.getValue("Test1") == 1600.f);
68
69         p.avg("Test2", 123.56);
70         p.avg("Test2", 123.58);
71
72         UASSERT(p.getValue("Test2") == 123.57f);
73 }