-
Notifications
You must be signed in to change notification settings - Fork 8
/
Copy pathtest-Event-setParameter.cpp
80 lines (67 loc) · 2.92 KB
/
test-Event-setParameter.cpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
/* Copyright (C) 2006-2018 PUC-Rio/Laboratorio TeleMidia
This file is part of Ginga (Ginga-NCL).
Ginga is free software: you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 2 of the License, or
(at your option) any later version.
Ginga is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public
License for more details.
You should have received a copy of the GNU General Public License
along with Ginga. If not, see <https://www.gnu.org/licenses/>. */
#include "tests.h"
#define CHECK_PARMS(e) \
G_STMT_START \
{ \
string str; \
map<string, string> params = { \
{ "a", "1" }, { "b", "2" }, { "c", "3" }, { "d", "4" }, \
}; \
for (auto it : params) \
g_assert_false ((e)->getParameter (it.first, nullptr)); \
for (auto it : params) \
g_assert ((e)->setParameter (it.first, it.second)); \
for (auto it : params) \
{ \
g_assert ((e)->getParameter (it.first, &str)); \
g_assert (str == it.second); \
} \
g_assert_false ((e)->setParameter ("a", "z")); \
g_assert ((e)->getParameter ("a", &str)); \
g_assert (str == "z"); \
} \
G_STMT_END
int
main (void)
{
Media *m;
m = new Media ("m");
g_assert_nonnull (m);
// Presentation.
{
m->addPresentationEvent ("pres", 0, 0);
Event *e = m->getPresentationEvent ("pres");
g_assert_nonnull (e);
g_assert (!e->toString ().empty ());
CHECK_PARMS (e);
}
// Attribution.
{
m->addAttributionEvent ("attr");
Event *e = m->getAttributionEvent ("attr");
g_assert_nonnull (e);
g_assert (!e->toString ().empty ());
CHECK_PARMS (e);
}
// Selection.
{
m->addSelectionEvent ("sel");
Event *e = m->getSelectionEvent ("sel");
g_assert_nonnull (e);
g_assert (!e->toString ().empty ());
CHECK_PARMS (e);
}
delete m;
exit (EXIT_SUCCESS);
}