3
using VQDR.Common.Utils;
7
void fast_number_test () {
8
Test.add_func ("/Common/Utils/FastNumber/new/raw", () => {
13
if (f1.raw_number != 1000) {
15
Test.message ("Sanity1: Wrong value.");
16
Test.message ("expected: 1000, got: " + f1.raw_number.to_string ());
19
if (f1.decimal != 0) {
21
Test.message ("Sanity1 - Decimal: Wrong value.");
22
Test.message ("Expected value: 0, got:" + f1.decimal.to_string ());
26
if (f1.raw_number != 10000) {
28
Test.message ("Sanity2: Wrong value.");
29
Test.message ("expected: 10000, got: " + f1.raw_number.to_string ());
32
if (f1.decimal != 0) {
34
Test.message ("Sanity2 - Decimal: Wrong value.");
35
Test.message ("Expected value: 0, got:" + f1.decimal.to_string ());
38
f1 = FastNumber (1, 5);
39
if (f1.raw_number != 1500) {
41
Test.message ("Sanity3: Wrong value.");
42
Test.message ("expected: 1500, got: " + f1.raw_number.to_string ());
46
if (f1.decimal != 5) {
48
Test.message ("Sanity3 - Decimal: Wrong value.");
49
Test.message ("Expected value: 0, got:" + f1.decimal.to_string ());
53
f1 = FastNumber (10, 5);
54
if (f1.raw_number != 10500) {
56
Test.message ("Sanity4: Wrong value.");
57
Test.message ("expected: 10500, got: " + f1.raw_number.to_string ());
60
if (f1.decimal != 5) {
62
Test.message ("Sanity4 - Decimal: Wrong value.");
63
Test.message ("Expected value: 5, got:" + f1.decimal.to_string ());
69
Test.add_func ("/Common/Utils/FastNumber/add", () => {
70
var expected_val = 2670;
71
var f1 = FastNumber (1337);
72
var f2 = FastNumber (1333);
74
var out_num = f3.number;
75
if (out_num != expected_val) {
77
Test.message ("The added numbers do not match the expected value");
78
Test.message (@"Expected: $expected_val, got: $out_num.");
81
Test.add_func ("/Common/Utils/FastNumber/subtract", () => {
83
var f1 = FastNumber (1337);
84
var f2 = FastNumber (1333);
85
var f3 = f1.subtract (f2);
86
var out_val = f3.number;
89
Test.message ("The subtracted numbers do not match the expected value");
90
Test.message (@"Expeted: $expected_val, got: $out_val.");
93
Test.add_func ("/Common/Utils/FastNumber/divide", () => {
95
var f1 = FastNumber (1338);
96
var f2 = FastNumber (2);
100
Utils.print_ln ("f3.number: %i", f3.number);
102
Utils.print_ln ("Error: %s\n", e.message);
104
var out_val = f3.number;
105
if (out_val != 669) {
107
Test.message ("The added numbers do not match the expected value");
108
Test.message (@"Expeted: $expected_val, got: $out_val.");
112
Test.add_func ("/Common/Utils/FastNumber/divide2", () => {
113
var expected_val = 0;
114
var f1 = FastNumber (4444);
115
var f2 = FastNumber (1111);
119
Utils.print_ln ("f3.number: %i", f3.number);
121
Utils.print_ln ("Error: %s\n", e.message);
123
var out_val = f3.number;
126
Test.message ("The added numbers do not match the expected value");
127
Test.message (@"Expeted: $expected_val, got: $out_val.");
131
Test.add_func ("/Common/Utils/FastNumber/multiply", () => {
132
var expected_val = 4444;
133
var f1 = FastNumber (1111);
134
var f2 = FastNumber (4);
135
var f3 = f1.multiply (f2);
136
var out_val = f3.number;
137
if (out_val != expected_val) {
139
Test.message ("The multiplied numbers does not match the exected value.");
140
Test.message (@"expected $expected_val, got $out_val");
144
Test.add_func ("/Common/Utils/FastNumber/parse_raw_number1", () => {
145
var expected_val = 1000;
146
var val = FastNumber.parse_raw_number ("1");
148
if (expected_val != val) {
150
Test.message ("The raw numbers does not match the exected value.");
151
Test.message (@"expected $expected_val, got $val");
154
for (int i = 2; i <= 25; i = i + 3) {
155
val = FastNumber.parse_raw_number (i.to_string ());
157
if ((expected_val * i) != val) {
159
Test.message ("The raw numbers does not match the exected value.");
160
Test.message (@"expected $expected_val, got $val");
167
* All decimls that have to be converted to float must be
168
* divicable by two. in these tests, or we will get rounding errors
169
* when converting to floating point preresentation.
172
Test.add_func ("/Common/Utils/FastNumber/parse_raw_number2", () => {
173
var expected_val = 1128;
174
var val = FastNumber.parse_raw_number ("1.128");
176
if (expected_val != val) {
178
Test.message ("The raw numbers does not match the exected value.");
179
Test.message (@"expected $expected_val, got $val");
183
val = FastNumber.parse_raw_number ("5.128");
185
if (expected_val != val) {
187
Test.message ("The raw numbers does not match the exected value.");
188
Test.message (@"expected $expected_val, got $val");
192
val = FastNumber.parse_raw_number ("7.128");
194
if (expected_val != val) {
196
Test.message ("The raw numbers does not match the exected value.");
197
Test.message (@"expected $expected_val, got $val");
202
Test.add_func ("/Common/Utils/FastNumber/parse_raw_number3", () => {
203
var expected_val = 15128;
204
var val = FastNumber.parse_raw_number ("15.128");
206
if (expected_val != val) {
208
Test.message ("The raw numbers does not match the exected value.");
209
Test.message (@"expected $expected_val, got $val");
213
Test.add_func ("/Common/Utils/FastNumber/parse_raw_number4", () => {
214
var expected_val = 20128;
215
var val = FastNumber.parse_raw_number ("20.128");
217
if (expected_val != val) {
219
Test.message ("The raw numbers does not match the exected value.");
220
Test.message (@"expected $expected_val, got $val");
224
Test.add_func ("/Common/Utils/FastNumber/parse_raw_number5", () => {
225
var expected_val = 222128;
226
var val = FastNumber.parse_raw_number ("222.128");
228
if (expected_val != val) {
230
Test.message ("The raw numbers does not match the exected value.");
231
Test.message (@"expected $expected_val, got $val");
235
Test.add_func ("/Common/Utils/FastNumber/parse_raw_number6", () => {
236
var expected_val = 128;
237
var val = FastNumber.parse_raw_number ("0.128");
239
if (expected_val != val) {
241
Test.message ("The raw numbers does not match the exected value.");
242
Test.message (@"expected $expected_val, got $val");
246
Test.add_func ("/Common/Utils/FastNumber/parse_raw_number7", () => {
247
var expected_val = 160;
248
var val = FastNumber.parse_raw_number ("0.16");
250
if (expected_val != val) {
252
Test.message ("The raw numbers does not match the exected value.");
253
Test.message (@"expected $expected_val, got $val");
257
Test.add_func ("/Common/Utils/FastNumber/parse_raw_number8", () => {
258
var expected_val = 800;
259
var val = FastNumber.parse_raw_number ("0.8");
261
if (expected_val != val) {
263
Test.message ("The raw numbers does not match the exected value.");
264
Test.message (@"expected $expected_val, got $val");
268
Test.add_func ("/Common/Utils/FastNumber/float", () => {
269
var expected_val = 10.128;
270
var f1 = FastNumber.from_float (expected_val);
271
var flt = f1.float_rep;
272
if (expected_val != flt) {
274
var raw = f1.raw_number;
275
Test.message ("The float was not the correct value.");
276
Test.message (@"Expected $expected_val, get $flt, Internal value: $raw ");
280
Test.add_func ("/Common/Utils/FastNumber/divide/decimal1", () => {
281
var expected_val = FastNumber (1, 5);
282
var f1 = FastNumber (3);
283
var f2 = FastNumber (2);
285
var out_val = FastNumber (0);
287
out_val = f1.divide (f2);
288
} catch (GLib.Error e) {
290
Test.message ("Divide by Zero Error");
292
if (out_val.equals (expected_val) == false) {
294
var raw_expected = expected_val.raw_number;
295
var raw_got = out_val.raw_number;
296
Test.message ("Expected value did not match the got value");
297
Test.message (@"Exected internal value: $raw_expected,\n" +
298
@"Internel value got: $raw_got .");