6
void fast_number_test () {
7
Test.add_func (UTIL_TEST_FAST_NUMBER_PREFIX + "new/raw", () => {
12
if (f1.raw_number != 1000) {
14
Test.message ("Sanity1: Wrong value.");
15
Test.message ("expected: 1000, got: " + f1.raw_number.to_string ());
19
if (f1.raw_number != 10000) {
21
Test.message ("Sanity2: Wrong value.");
22
Test.message ("expected: 10000, got: " + f1.raw_number.to_string ());
25
f1 = FastNumber.from_string ("1.5");
26
if (f1.raw_number != 1500) {
28
Test.message ("Sanity3: Wrong value.");
29
Test.message ("expected: 1500, got: " + f1.raw_number.to_string ());
33
f1 = FastNumber.from_string ("10.5");
34
if (f1.raw_number != 10500) {
36
Test.message ("Sanity4: Wrong value.");
37
Test.message ("expected: 10500, got: " + f1.raw_number.to_string ());
41
f1 = FastNumber.from_string ("10.5");
42
if (f1.raw_number != 10500) {
44
Test.message ("Sanity4: Wrong value.");
45
Test.message ("expected: 10500, got: " + f1.raw_number.to_string ());
50
Test.add_func (UTIL_TEST_FAST_NUMBER_PREFIX + "add", () => {
51
var expected_val = 2670;
52
var f1 = FastNumber (1337);
53
var f2 = FastNumber (1333);
55
var out_num = f3.number;
56
if (out_num != expected_val) {
58
Test.message ("The added numbers do not match the expected value");
59
Test.message (@"Expected: $expected_val, got: $out_num.");
62
Test.add_func (UTIL_TEST_FAST_NUMBER_PREFIX + "subtract", () => {
64
var f1 = FastNumber (1337);
65
var f2 = FastNumber (1333);
66
var f3 = f1.subtract (f2);
67
var out_val = f3.number;
70
Test.message ("The subtracted numbers do not match the expected value");
71
Test.message (@"Expeted: $expected_val, got: $out_val.");
74
Test.add_func (UTIL_TEST_FAST_NUMBER_PREFIX + "divide", () => {
76
var f1 = FastNumber (1338);
77
var f2 = FastNumber (2);
81
Utils.print_ln ("f3.number: %i", f3.number);
83
Utils.print_ln ("Error: %s\n", e.message);
85
var out_val = f3.number;
88
Test.message ("The added numbers do not match the expected value");
89
Test.message (@"Expeted: $expected_val, got: $out_val.");
93
Test.add_func (UTIL_TEST_FAST_NUMBER_PREFIX + "divide2", () => {
95
var f1 = FastNumber (4444);
96
var f2 = FastNumber (1111);
100
Utils.print_ln ("f3.number: %i", f3.number);
102
Utils.print_ln ("Error: %s\n", e.message);
104
var out_val = f3.number;
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 (UTIL_TEST_FAST_NUMBER_PREFIX + "multiply", () => {
113
var expected_val = 4444;
114
var f1 = FastNumber (1111);
115
var f2 = FastNumber (4);
116
var f3 = f1.multiply (f2);
117
var out_val = f3.number;
118
if (out_val != expected_val) {
120
Test.message ("The multiplied numbers does not match the exected value.");
121
Test.message (@"expected $expected_val, got $out_val");
127
Test.add_func (UTIL_TEST_FAST_NUMBER_PREFIX + "parse_raw_number1", () => {
128
var expected_val = 1000;
129
var val = FastNumber.from_string ("1");
131
var raw = val.raw_number;
132
if (expected_val != raw) {
134
Test.message ("The raw numbers does not match the exected value.");
135
Test.message (@"expected $expected_val, got $val");
138
for (int i = 2; i <= 25; i = i + 3) {
139
val = FastNumber.from_string (i.to_string ());
141
if ((expected_val * i) != val.raw_number) {
143
Test.message ("The raw numbers does not match the exected value.");
144
Test.message (@"expected $expected_val, got $raw");
150
Test.add_func (UTIL_TEST_FAST_NUMBER_PREFIX + "to_string1", () => {
151
var expected = "7.999";
152
var f1 = FastNumber.from_string (expected);
153
var result = f1.to_string (true);
155
if (expected != result) {
157
Test.message (@"Wrong value: Expected $expected, Got: $result");
161
f1 = FastNumber.from_string (expected);
162
result = f1.to_string (true);
164
if (expected != result) {
166
Test.message (@"Wrong value: Expected $expected, Got: $result");
170
f1 = FastNumber.from_string (expected);
171
result = f1.to_string (true);
173
if (expected != result) {
175
Test.message (@"Wrong value: Expected $expected, Got: $result");
179
Test.add_func (UTIL_TEST_FAST_NUMBER_PREFIX + "parse_raw_number2", () => {
180
var expected_val = 1128;
181
var val = FastNumber.from_string ("1.128");
183
var raw = val.raw_number;
184
if (expected_val != raw) {
186
Test.message ("The raw numbers does not match the exected value.");
187
Test.message (@"expected $expected_val, got $val");
191
val = FastNumber.from_string ("5.128");
193
raw = val.raw_number;
194
if (expected_val != raw) {
196
Test.message ("The raw numbers does not match the exected value.");
197
Test.message (@"expected $expected_val, got $val");
201
val = FastNumber.from_string ("7.128");
203
raw = val.raw_number;
204
if (expected_val != raw) {
206
Test.message ("The raw numbers does not match the exected value.");
207
Test.message (@"expected $expected_val, got $val");
214
Test.add_func (UTIL_TEST_FAST_NUMBER_PREFIX + "parse_raw_number3", () => {
215
var expected_val = 15128;
216
var val = FastNumber.from_string ("15.128");
218
var raw = val.raw_number;
219
if (expected_val != raw) {
221
Test.message ("The raw numbers does not match the exected value.");
222
Test.message (@"expected $expected_val, got $val");
226
Test.add_func (UTIL_TEST_FAST_NUMBER_PREFIX + "parse_raw_number4", () => {
227
var expected_val = 20128;
228
var val = FastNumber.from_string ("20.128");
229
var raw = val.raw_number;
230
if (expected_val != raw) {
232
Test.message ("The raw numbers does not match the exected value.");
233
Test.message (@"expected $expected_val, got $val");
237
Test.add_func (UTIL_TEST_FAST_NUMBER_PREFIX + "parse_raw_number5", () => {
238
var expected_val = 222128;
239
var val = FastNumber.from_string ("222.128");
241
var raw = val.raw_number;
242
if (expected_val != raw) {
244
Test.message ("The raw numbers does not match the exected value.");
245
Test.message (@"expected $expected_val, got $val");
249
Test.add_func (UTIL_TEST_FAST_NUMBER_PREFIX + "parse_raw_number6", () => {
250
var expected_val = 128;
251
var val = FastNumber.from_string ("0.128");
253
var raw = val.raw_number;
254
if (expected_val != raw) {
256
Test.message ("The raw numbers does not match the exected value.");
257
Test.message (@"expected $expected_val, got $raw");
261
Test.add_func (UTIL_TEST_FAST_NUMBER_PREFIX + "parse_raw_number7", () => {
262
var expected_val = 160;
263
var val = FastNumber.from_string ("0.16");
265
var raw = val.raw_number;
266
if (expected_val != raw) {
268
Test.message ("The raw numbers does not match the exected value.");
269
Test.message (@"expected $expected_val, got $raw");
273
Test.add_func (UTIL_TEST_FAST_NUMBER_PREFIX + "parse_raw_number8", () => {
274
var expected_val = 800;
275
var val = FastNumber.from_string ("0.8");
277
var raw = val.raw_number;
278
if (expected_val != raw) {
280
Test.message ("The raw numbers does not match the exected value.");
281
Test.message (@"expected $expected_val, got $raw");
286
Test.add_func (UTIL_TEST_FAST_NUMBER_PREFIX + "float", () => {
287
var expected_val = 10.128;
288
var f1 = FastNumber.from_float (expected_val);
289
var flt = f1.to_float ();
290
if (expected_val != flt) {
292
var raw = f1.raw_number;
293
Test.message ("The float was not the correct value.");
294
Test.message (@"Expected $expected_val, get $flt, Internal value: $raw ");
298
Test.add_func (UTIL_TEST_FAST_NUMBER_PREFIX + "divide/decimal1", () => {
299
var expected_val = FastNumber.from_string ("1.5");
300
var f1 = FastNumber (3);
301
var f2 = FastNumber (2);
303
var out_val = FastNumber (0);
305
out_val = f1.divide (f2);
306
} catch (GLib.Error e) {
308
Test.message ("Divide by Zero Error");
310
if (out_val.equals (expected_val) == false) {
312
var raw_expected = expected_val.raw_number;
313
var raw_got = out_val.raw_number;
314
Test.message ("Expected value did not match the got value");
315
Test.message (@"Exected internal value: $raw_expected,\n" +
316
@"Internel value got: $raw_got .");
320
Test.add_func (UTIL_TEST_FAST_NUMBER_PREFIX + "divide/decimal2", () => {
321
var expected_val = FastNumber.from_string ("0.25");
322
var f1 = FastNumber (1);
323
var f2 = FastNumber (4);
325
var out_val = FastNumber (0);
327
out_val = f1.divide (f2);
328
} catch (GLib.Error e) {
330
Test.message ("Divide by Zero Error");
332
if (out_val.equals (expected_val) == false) {
334
var raw_expected = expected_val.raw_number;
335
var raw_got = out_val.raw_number;
336
Test.message ("Expected value did not match the got value");
337
Test.message (@"Exected internal value: $raw_expected,\n" +
338
@"Internel value got: $raw_got .");
342
Test.add_func (UTIL_TEST_FAST_NUMBER_PREFIX + "divide/decimal3", () => {
343
var expected_val = FastNumber.from_string ("0.09");
344
var f1 = FastNumber (1);
345
var f2 = FastNumber (11);
347
var out_val = FastNumber (0);
349
out_val = f1.divide (f2);
350
} catch (GLib.Error e) {
352
Test.message ("Divide by Zero Error");
354
if (out_val.equals (expected_val) == false) {
356
var raw_expected = expected_val.raw_number;
357
var raw_got = out_val.raw_number;
358
Test.message ("Expected value did not match the got value");
359
Test.message (@"Exected internal value: $raw_expected,\n" +
360
@"Internel value got: $raw_got .");