~ubuntu-branches/ubuntu/trusty/geis/trusty

« back to all changes in this revision

Viewing changes to testsuite/geis2/check_filter.c

  • Committer: Package Import Robot
  • Author(s): Chase Douglas
  • Date: 2012-07-30 08:51:42 UTC
  • Revision ID: package-import@ubuntu.com-20120730085142-jrc33ygjvt0ob1wl
Tags: upstream-2.2.11
ImportĀ upstreamĀ versionĀ 2.2.11

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/**
 
2
 * Unit tests for GEIS v2.0 Filter Module.
 
3
 */
 
4
#include <check.h>
 
5
 
 
6
#include <geis/geis.h>
 
7
#include "libgeis/geis_test_api.h"
 
8
#include <string.h>
 
9
 
 
10
 
 
11
/* fixtures */
 
12
static Geis g_geis;
 
13
 
 
14
/* fixture setup */
 
15
static void
 
16
construct_geis()
 
17
{
 
18
  g_geis = geis_new(GEIS_INIT_MOCK_BACKEND,
 
19
                    GEIS_INIT_TRACK_DEVICES,
 
20
                    GEIS_INIT_TRACK_GESTURE_CLASSES,
 
21
                    NULL);
 
22
}
 
23
 
 
24
/* fixture teardown */
 
25
static void
 
26
destroy_geis()
 
27
{
 
28
  geis_delete(g_geis);
 
29
}
 
30
 
 
31
 
 
32
/* Compile-time test to ensure types are defined */
 
33
START_TEST(geis_filter_types)
 
34
{
 
35
  GeisFilter type CK_ATTRIBUTE_UNUSED;
 
36
}
 
37
END_TEST
 
38
 
 
39
/* Compile-and-link-time test to verify required functions exist */
 
40
START_TEST(geis_filter_functions)
 
41
{
 
42
  GeisFilter filter1;
 
43
  GeisFilter filter2;
 
44
  GeisStatus status;
 
45
 
 
46
  filter1 = geis_filter_new(g_geis, "filter1");
 
47
  fail_unless(filter1 != NULL,
 
48
              "filter construct fail");
 
49
  fail_unless(0 == strcmp(geis_filter_name(filter1), "filter1"),
 
50
              "filter 1 name fail");
 
51
 
 
52
  status  = geis_filter_add_term(filter1, GEIS_FILTER_CLASS,
 
53
                          GEIS_GESTURE_ATTRIBUTE_TOUCHES, GEIS_FILTER_OP_GT, 1,
 
54
                          NULL);
 
55
 
 
56
  filter2 = geis_filter_clone(filter1,"filter2");
 
57
  fail_unless(filter2 != NULL,
 
58
              "filter clone fail");
 
59
  fail_unless(0 == strcmp(geis_filter_name(filter2), "filter2"),
 
60
              "filter 2 name fail");
 
61
 
 
62
  geis_filter_delete(filter1);
 
63
  geis_filter_delete(filter2);
 
64
}
 
65
END_TEST
 
66
 
 
67
 
 
68
/* boilerplate */
 
69
Suite *
 
70
geis2_filter_suite_new()
 
71
{
 
72
  TCase *filter;
 
73
  TCase *usage;
 
74
  Suite *s = suite_create("geis2_filter");
 
75
 
 
76
  filter = tcase_create("geis2_filter");
 
77
  tcase_add_test(filter, geis_filter_types);
 
78
  suite_add_tcase(s, filter);
 
79
 
 
80
  usage = tcase_create("subscription-usage");
 
81
  tcase_add_checked_fixture(usage, construct_geis, destroy_geis);
 
82
  tcase_add_test(usage, geis_filter_functions);
 
83
  suite_add_tcase(s, usage);
 
84
 
 
85
  return s;
 
86
}
 
87