1plugin =
2{
3    type = "piglet",
4    name = "piglet::event",
5    test = function()
6        dofile(SCRIPT_DIR .. "/../common.lua")
7        return run_tests(tests)
8    end
9}
10
11DEFAULT_VALUES =
12{
13    event_id = 0,
14    event_reference = 0
15}
16
17DEFAULT_SIGINFO_VALUES =
18{
19    generator = 0,
20    id = 0,
21    rev = 0,
22    class_id = 0,
23    priority = 0,
24    text_rule = false,
25    num_services = 0
26}
27
28VALUES =
29{
30    event_id = 1,
31    event_reference = 2
32}
33
34SIGINFO_VALUES =
35{
36    generator = 3,
37    id = 4,
38    rev = 5,
39    class_id = 6,
40    priority = 7,
41    text_rule = true,
42    num_services = 8
43}
44
45tests =
46{
47    init_default = function()
48        local event = Event.new()
49        assert(event)
50    end,
51
52    init_with_table = function()
53        local event = Event.new(VALUES)
54        check.tables_equal(VALUES, event:get())
55    end,
56
57    get_and_set = function()
58        local event = Event.new()
59        check.tables_equal(DEFAULT_VALUES, event:get())
60        check.tables_equal(DEFAULT_SIGINFO_VALUES, event:get().sig_info)
61
62        event:set(VALUES)
63        event:set({ sig_info = SIGINFO_VALUES })
64
65        check.tables_equal(VALUES, event:get())
66        check.tables_equal(SIGINFO_VALUES, event:get().sig_info)
67    end
68}
69