File: test-variable.c

package info (click to toggle)
diacanvas2 0.13.0-4
  • links: PTS
  • area: main
  • in suites: sarge
  • size: 4,360 kB
  • ctags: 2,897
  • sloc: ansic: 20,741; xml: 8,608; sh: 7,458; python: 669; makefile: 536
file content (77 lines) | stat: -rw-r--r-- 1,652 bytes parent folder | download | duplicates (2)
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
/*
 * Unit tests for variables
 */

#include <diacanvas/dia-variable.h>
#include "unit-test.h"

DiaVariable *var = NULL;

gboolean is_destroyed;
gboolean changed_called;
gboolean changed_internal_called;

void
changed_cb (DiaVariable *var, gboolean *notify)
{
	*notify = TRUE;
}

void
setup (void)
{
	var = dia_variable_new ();
	g_assert (var != NULL);
	TEST_WEAK_REF (var, is_destroyed);
	g_signal_connect (var, "changed",
			  G_CALLBACK (changed_cb),
			  &changed_called);
	g_signal_connect (var, "changed_internal",
			  G_CALLBACK (changed_cb),
			  &changed_internal_called);
	is_destroyed = FALSE;
	changed_internal_called = FALSE;
	changed_called = FALSE;
}

void
teardown (void)
{
	g_object_unref (var);
	TEST (is_destroyed == TRUE)
	is_destroyed = FALSE;
	var = NULL;
}

TEST_BEGIN (DiaVariable, setup, teardown)

TEST_NEW (dia_variable_new)
{
	TEST (DIA_IS_VARIABLE (var));
	TEST (dia_variable_get_value (var) == 0.0);
	TEST (dia_variable_get_strength (var) == DIA_STRENGTH_WEAK);
}

TEST_NEW (dia_variable_set_value)
{
	dia_variable_set_value (var, 1.0);
	TEST (dia_variable_get_value (var) == 1.0);
	TEST (changed_internal_called == TRUE);
	TEST (changed_called == FALSE);

	dia_variable_set_value (var, -100.0);
	TEST (dia_variable_get_value (var) == -100.0);
}

TEST_NEW (dia_variable_set_strength)
{
	dia_variable_set_strength (var, DIA_STRENGTH_STRONG);
	TEST (dia_variable_get_strength (var) == DIA_STRENGTH_STRONG);
	TEST (changed_internal_called == FALSE);
	TEST (changed_called == FALSE);

	dia_variable_set_strength (var, DIA_STRENGTH_VERY_WEAK);
	TEST (dia_variable_get_strength (var) == DIA_STRENGTH_VERY_WEAK);
}

TEST_END ()