Commit c864233aafc7e24d5235d5641807d736dc29c9f5

Authored by Georg Hopp
1 parent 501ed758

remove test code copied from trbase.

1   -/**
2   - * \file
3   - * cclassTest.c: tests for my oop C stuff
4   - * Copyright (C) 2011 Georg Hopp
5   - *
6   - * This program is free software: you can redistribute it and/or modify
7   - * it under the terms of the GNU General Public License as published by
8   - * the Free Software Foundation, either version 3 of the License, or
9   - * (at your option) any later version.
10   - *
11   - * This program is distributed in the hope that it will be useful,
12   - * but WITHOUT ANY WARRANTY; without even the implied warranty of
13   - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14   - * GNU General Public License for more details.
15   - *
16   - * You should have received a copy of the GNU General Public License
17   - * along with this program. If not, see <http://www.gnu.org/licenses/>.
18   - */
19   -#include <stdio.h>
20   -#include <sys/types.h>
21   -
22   -#include "runtest.h"
23   -#include "mock/mock_class.h"
24   -
25   -#include "tr/class.h"
26   -
27   -const char testname[] = "cclassTest";
28   -
29   -MockClass mock = NULL;
30   -
31   -static
32   -int
33   -__setUp()
34   -{
35   - mock = NULL;
36   - _reset();
37   -
38   - return TEST_OK;
39   -}
40   -int (* const setUp)() = __setUp;
41   -
42   -static
43   -int
44   -__tearDown()
45   -{
46   - if (NULL != mock) {
47   - ASSERT_OBJECT(mock);
48   - TR_delete(mock);
49   - }
50   -
51   - return TEST_OK;
52   -}
53   -int (* const tearDown)() = __tearDown;
54   -
55   -static
56   -int
57   -testNew(void)
58   -{
59   - mock = TR_new(MockClass, 123);
60   -
61   - ASSERT_OBJECT_NOT_NULL(mock);
62   - ASSERT_EQUAL(1, _called);
63   - ASSERT_EQUAL(123, mock->value);
64   -
65   - return TEST_OK;
66   -}
67   -
68   -static
69   -int
70   -testNewFail(void)
71   -{
72   - mock = TR_new(MockClass, 321);
73   -
74   - ASSERT_NULL(mock);
75   -
76   - return TEST_OK;
77   -}
78   -
79   -static
80   -int
81   -testDelete(void)
82   -{
83   - mock = TR_new(MockClass, 123);
84   -
85   - ASSERT_NOT_NULL(mock);
86   -
87   - _reset();
88   - TR_delete(mock);
89   -
90   - ASSERT_NULL(mock);
91   - ASSERT_EQUAL(1, _called);
92   -
93   - return TEST_OK;
94   -}
95   -
96   -static
97   -int
98   -testClone(void)
99   -{
100   - MockClass clone;
101   -
102   - mock = TR_new(MockClass, 123);
103   - clone = TR_clone(mock);
104   -
105   - ASSERT_INSTANCE_OF(MockClass, clone);
106   - ASSERT_EQUAL(mock->value, clone->value);
107   -
108   - TR_delete(clone);
109   -
110   - return TEST_OK;
111   -}
112   -
113   -const testfunc tests[] = {
114   - testNew,
115   - testNewFail,
116   - testDelete,
117   - testClone
118   -};
119   -const size_t count = FUNCS_COUNT(tests);
120   -
121   -// vim: set et ts=4 sw=4:
1   -/**
2   - * \file
3   - * mock/class.c: a mock to test my oop stuff
4   - * Copyright (C) 2011 Georg Hopp
5   - *
6   - * This program is free software: you can redistribute it and/or modify
7   - * it under the terms of the GNU General Public License as published by
8   - * the Free Software Foundation, either version 3 of the License, or
9   - * (at your option) any later version.
10   - *
11   - * This program is distributed in the hope that it will be useful,
12   - * but WITHOUT ANY WARRANTY; without even the implied warranty of
13   - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14   - * GNU General Public License for more details.
15   - *
16   - * You should have received a copy of the GNU General Public License
17   - * along with this program. If not, see <http://www.gnu.org/licenses/>.
18   - */
19   -
20   -#include <assert.h>
21   -#include <stdarg.h>
22   -
23   -#include "tr/class.h"
24   -#include "mock_class.h"
25   -
26   -char _called;
27   -
28   -void
29   -_reset()
30   -{
31   - _called = 0;
32   -}
33   -
34   -static
35   -inline
36   -int
37   -mockCtor(void * _this, va_list * params)
38   -{
39   - MockClass this = _this;
40   -
41   - _called = 1;
42   - this->value = va_arg(* params, int);
43   -
44   - if (321 == this->value)
45   - return -1;
46   -
47   - return 0;
48   -}
49   -
50   -static
51   -inline
52   -void
53   -mockDtor(void * _this)
54   -{
55   - _called = 1;
56   -}
57   -
58   -static
59   -inline
60   -void
61   -mockClone(void * _this, void * _base)
62   -{
63   - MockClass this = _this;
64   - MockClass base = _base;
65   -
66   - this->value = base->value;
67   -}
68   -
69   -TR_INIT_IFACE(TR_Class, mockCtor, mockDtor, mockClone);
70   -TR_CREATE_CLASS(MockClass, NULL, TR_IF(TR_Class));
71   -
72   -// vim: set et ts=4 sw=4:
1   -/**
2   - * \file
3   - * mock/class.h: definitions for my mock to test my oop stuff
4   - *
5   - * \author Georg Hopp <georg@steffers.org>
6   - *
7   - * \copyright
8   - * Copyright (C) 2011 Georg Hopp
9   - *
10   - * This program is free software: you can redistribute it and/or modify
11   - * it under the terms of the GNU General Public License as published by
12   - * the Free Software Foundation, either version 3 of the License, or
13   - * (at your option) any later version.
14   - *
15   - * This program is distributed in the hope that it will be useful,
16   - * but WITHOUT ANY WARRANTY; without even the implied warranty of
17   - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18   - * GNU General Public License for more details.
19   - *
20   - * You should have received a copy of the GNU General Public License
21   - * along with this program. If not, see <http://www.gnu.org/licenses/>.
22   - */
23   -#ifndef __MOCK_MOCK_CLASS_H__
24   -#define __MOCK_MOCK_CLASS_H__
25   -
26   -#include "trbase.h"
27   -
28   -extern char _called;
29   -
30   -#ifndef _RESET
31   -#define _RESET
32   -void _reset();
33   -#endif // _RESET
34   -
35   -
36   -TR_CLASS(MockClass) {
37   - int value;
38   -};
39   -
40   -/**
41   - * ~~~ method declarations ~~~~~~~~
42   - */
43   -
44   -int mockClassGetValue(MockClass this);
45   -void mockClassSetValue(MockClass this, int value);
46   -
47   -#endif//__MOCK_MOCK_CLASS_H__
48   -
49   -// vim: set et ts=4 sw=4:
Please register or login to post a comment