-
Notifications
You must be signed in to change notification settings - Fork 0
/
assertion_help.txt
166 lines (121 loc) · 5.45 KB
/
assertion_help.txt
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
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
Written by Artur Tarassow (please ask questions and report bugs on the gretl mailing list if possible).
Source code and test script(s) can be found here:
https://github.com/atecon/assertion
Collection of assert-functions for writing (unit-)test cases and to detect test failure. Assert is a method useful in determining Pass or Fail status of a test case.
Currently, the most commonly used methods are supported.
Most functions are inspired by the "unittest" package for Python:
https://docs.python.org/3/library/unittest.html
assert_equal_num(first, second):
--------------
Checks for numerical values that first == second (equal).
Arguments: first (scalar)
second (scalar)
Return:
Function error if what is asserted is wrong or either first and/or second are NA.
-----------------------------------------------------------------------
assert_not_equal_num(first, second):
--------------
Checks for numerical values that first != second (not equal).
Arguments: first (scalar)
second (scalar)
Return:
Function error if what is asserted is wrong or either first and/or second are NA.
-----------------------------------------------------------------------
assert_greater_equal_num(first, second):
--------------
Checks for numerical values that first >= second (greater-or-equal).
Arguments: first (scalar)
second (scalar)
Return:
Function error if what is asserted is wrong or either first and/or second are NA.
-----------------------------------------------------------------------
assert_less_equal_num(first, second):
--------------
Checks for numerical values that first <= second (less-or-equal).
Arguments: first (scalar)
second (scalar)
Return:
Function error if what is asserted is wrong or either first and/or second are NA.
-----------------------------------------------------------------------
assert_almost_equal_num(first, second, threshold):
--------------
Checks for numerical values that round(first - second) == 0.
Arguments: first (scalar)
second (scalar)
threshold (scalar), check up to specific decimal places;
default: 1e-7
Return:
Function error if what is asserted is wrong or either first and/or second are NA.
-----------------------------------------------------------------------
assert_not_almost_equal_num(first, second, threshold):
--------------
Checks for numerical values that round(first - second) != 0.
Arguments: first (scalar)
second (scalar)
threshold (scalar), check up to specific decimal places;
default: 1e-7
Return:
Function error if what is asserted is wrong or either first and/or second are NA
-----------------------------------------------------------------------
assert_equal_str(first, second):
--------------
Checks for string-valued variables that first == second.
Arguments: first (string)
second (string)
Return:
Function error if what is asserted is wrong or either first and/or second are NA.
-----------------------------------------------------------------------
assert_not_equal_str(first, second):
--------------
Checks for string-valued variables that first != second.
Arguments: first (string)
second (string)
Return:
Function error if what is asserted is wrong or either first and/or second are NA.
-----------------------------------------------------------------------
assert_true(x):
--------------
Checks that bool(x) is True (!=0 and !=NA).
Arguments: x (scalar)
Return:
Function error if what is asserted is wrong or either the argument is NA.
-----------------------------------------------------------------------
assert_false(x):
--------------
Checks that bool(x) is False (==0 and !=NA).
Arguments: x (scalar)
Return:
Function error case assertion is wrong or either the argument is NA.
Note: The standard way of asserting that P is false is to assert not-P. Try to avoid assert_false() by using assert_true() accordingly. The assert_false() function will deprecated with the next version after version 1.0.
-----------------------------------------------------------------------
assert_is_type(B, type):
--------------
Checks that element in bundle B is of a specific type.
Arguments: B (bundle, only single element is allowed)
type (string, either: "scalar, series, matrix, string,
bundle, array, list.")
Return:
Function error if what is asserted is wrong or either first and/or second
are NA.
-----------------------------------------------------------------------
assert_is_not_type(B, type):
--------------
Checks that element in bundle B is not of a specific type.
Arguments: B (bundle with single element)
type (string, either: "scalar, series, matrix, string,
bundle, array, list.")
Return:
Function error if what is asserted is wrong or either first and/or second
are NA.
-----------------------------------------------------------------------
Changelog:
- v1.0, August 2020:
+ Fix bug in assert_false(): should throw error in case 'x' IS NOT
0 instead of IS 1.
+ Replace deprecated funcerr() function by funcerr command.
+ Improve help text.
+ Add note on preferring assert_true() instead of assert_false()
whenever possible.
+ Put unit-tests into separate functions to avoid leakages.
- v0.5, January 2020:
+ initial release