5
void fast_number_test () {
6
Test.add_func (VEE_TEST_FAST_NUMBER_PREFIX + "new/raw", () => {
11
if (f1.raw_number != 1000) {
13
Test.message ("Sanity1: Wrong value.");
14
Test.message ("expected: 1000, got: " + f1.raw_number.to_string ());
18
if (f1.raw_number != 10000) {
20
Test.message ("Sanity2: Wrong value.");
21
Test.message ("expected: 10000, got: " + f1.raw_number.to_string ());
24
f1 = FastNumber.from_string ("1.5");
25
if (f1.raw_number != 1500) {
27
Test.message ("Sanity3: Wrong value.");
28
Test.message ("expected: 1500, got: " + f1.raw_number.to_string ());
32
f1 = FastNumber.from_string ("10.5");
33
if (f1.raw_number != 10500) {
35
Test.message ("Sanity4: Wrong value.");
36
Test.message ("expected: 10500, got: " + f1.raw_number.to_string ());
40
f1 = FastNumber.from_string ("10.5");
41
if (f1.raw_number != 10500) {
43
Test.message ("Sanity4: Wrong value.");
44
Test.message ("expected: 10500, got: " + f1.raw_number.to_string ());
49
Test.add_func (VEE_TEST_FAST_NUMBER_PREFIX + "add", () => {
50
var expected_val = 2670;
51
var f1 = FastNumber (1337);
52
var f2 = FastNumber (1333);
54
var out_num = f3.number;
55
if (out_num != expected_val) {
57
Test.message ("The added numbers do not match the expected value");
58
Test.message (@"Expected: $expected_val, got: $out_num.");
61
Test.add_func (VEE_TEST_FAST_NUMBER_PREFIX + "subtract", () => {
63
var f1 = FastNumber (1337);
64
var f2 = FastNumber (1333);
65
var f3 = f1.subtract (f2);
66
var out_val = f3.number;
69
Test.message ("The subtracted numbers do not match the expected value");
70
Test.message (@"Experted: $expected_val, got: $out_val.");
74
Test.add_func (VEE_TEST_FAST_NUMBER_PREFIX + "divide", () => {
75
var expected_val = 669;
76
var f1 = FastNumber (1338);
77
var f2 = FastNumber (2);
81
Vee.print_ln ("f3.number: %i", f3.number);
83
Vee.print_ln ("Error: %s\n", e.message);
85
var out_val = f3.number;
86
if (out_val != expected_val) {
88
Test.message ("The added numbers do not match the expected value");
89
Test.message (@"Experted: $expected_val, got: $out_val.");
90
Test.message (@"Raw value: $(f3.raw_number)");
94
Test.add_func (VEE_TEST_FAST_NUMBER_PREFIX + "divide2", () => {
96
var f1 = FastNumber (4444);
97
var f2 = FastNumber (1111);
101
Vee.print_ln ("f3.number: %i", f3.number);
103
Vee.print_ln ("Error: %s\n", e.message);
105
var out_val = f3.number;
106
if (out_val != expected_val) {
108
Test.message ("The added numbers do not match the expected value");
109
Test.message (@"Experted: $expected_val, got: $out_val.");
110
Test.message (@"Raw value: $(f3.raw_number)");
114
Test.add_func (VEE_TEST_FAST_NUMBER_PREFIX + "multiply", () => {
115
var expected_val = 4444;
116
var f1 = FastNumber (1111);
117
var f2 = FastNumber (4);
118
var f3 = f1.multiply (f2);
119
var out_val = f3.number;
120
if (out_val != expected_val) {
122
Test.message ("The multiplied numbers does not match the expected value.");
123
Test.message (@"expected $expected_val, got $out_val");
129
Test.add_func (VEE_TEST_FAST_NUMBER_PREFIX + "parse_raw_number1", () => {
130
var expected_val = 1000;
131
var val = FastNumber.from_string ("1");
133
var raw = val.raw_number;
134
if (expected_val != raw) {
136
Test.message ("The raw numbers does not match the expected value.");
137
Test.message (@"expected $expected_val, got $val");
140
for (int i = 2; i <= 25; i = i + 3) {
141
val = FastNumber.from_string (i.to_string ());
143
if ((expected_val * i) != val.raw_number) {
145
Test.message ("The raw numbers does not match the expected value.");
146
Test.message (@"expected $expected_val, got $raw");
152
Test.add_func (VEE_TEST_FAST_NUMBER_PREFIX + "to_string1", () => {
153
var expected = "7.999";
154
var f1 = FastNumber.from_string (expected);
155
var result = f1.to_string (true);
157
if (expected != result) {
159
Test.message (@"Wrong value: Expected $expected, Got: $result");
163
f1 = FastNumber.from_string (expected);
164
result = f1.to_string (true);
166
if (expected != result) {
168
Test.message (@"Wrong value: Expected $expected, Got: $result");
172
f1 = FastNumber.from_string (expected);
173
result = f1.to_string (true);
175
if (expected != result) {
177
Test.message (@"Wrong value: Expected $expected, Got: $result");
181
Test.add_func (VEE_TEST_FAST_NUMBER_PREFIX + "parse_raw_number2", () => {
182
var expected_val = 1128;
183
var val = FastNumber.from_string ("1.128");
185
var raw = val.raw_number;
186
if (expected_val != raw) {
188
Test.message ("The raw numbers does not match the expected value.");
189
Test.message (@"expected $expected_val, got $val");
193
val = FastNumber.from_string ("5.128");
195
raw = val.raw_number;
196
if (expected_val != raw) {
198
Test.message ("The raw numbers does not match the expected value.");
199
Test.message (@"expected $expected_val, got $val");
203
val = FastNumber.from_string ("7.128");
205
raw = val.raw_number;
206
if (expected_val != raw) {
208
Test.message ("The raw numbers does not match the expected value.");
209
Test.message (@"expected $expected_val, got $val");
216
Test.add_func (VEE_TEST_FAST_NUMBER_PREFIX + "parse_raw_number3", () => {
217
var expected_val = 15128;
218
var val = FastNumber.from_string ("15.128");
220
var raw = val.raw_number;
221
if (expected_val != raw) {
223
Test.message ("The raw numbers does not match the expected value.");
224
Test.message (@"expected $expected_val, got $val");
228
Test.add_func (VEE_TEST_FAST_NUMBER_PREFIX + "parse_raw_number4", () => {
229
var expected_val = 20128;
230
var val = FastNumber.from_string ("20.128");
231
var raw = val.raw_number;
232
if (expected_val != raw) {
234
Test.message ("The raw numbers does not match the expected value.");
235
Test.message (@"expected $expected_val, got $val");
239
Test.add_func (VEE_TEST_FAST_NUMBER_PREFIX + "parse_raw_number5", () => {
240
var expected_val = 222128;
241
var val = FastNumber.from_string ("222.128");
243
var raw = val.raw_number;
244
if (expected_val != raw) {
246
Test.message ("The raw numbers does not match the expected value.");
247
Test.message (@"expected $expected_val, got $val");
251
Test.add_func (VEE_TEST_FAST_NUMBER_PREFIX + "parse_raw_number6", () => {
252
var expected_val = 128;
253
var val = FastNumber.from_string ("0.128");
255
var raw = val.raw_number;
256
if (expected_val != raw) {
258
Test.message ("The raw numbers does not match the expected value.");
259
Test.message (@"expected $expected_val, got $raw");
263
Test.add_func (VEE_TEST_FAST_NUMBER_PREFIX + "parse_raw_number7", () => {
264
var expected_val = 160;
265
var val = FastNumber.from_string ("0.16");
267
var raw = val.raw_number;
268
if (expected_val != raw) {
270
Test.message ("The raw numbers does not match the expected value.");
271
Test.message (@"expected $expected_val, got $raw");
275
Test.add_func (VEE_TEST_FAST_NUMBER_PREFIX + "parse_raw_number8", () => {
276
var expected_val = 800;
277
var val = FastNumber.from_string ("0.8");
279
var raw = val.raw_number;
280
if (expected_val != raw) {
282
Test.message ("The raw numbers does not match the expected value.");
283
Test.message (@"expected $expected_val, got $raw");
288
Test.add_func (VEE_TEST_FAST_NUMBER_PREFIX + "float", () => {
289
var expected_val = 10.128;
290
var f1 = FastNumber.from_float (expected_val);
291
var flt = f1.to_float ();
292
if (expected_val != flt) {
294
var raw = f1.raw_number;
295
Test.message ("The float was not the correct value.");
296
Test.message (@"Expected $expected_val, get $flt, Internal value: $raw ");
300
Test.add_func (VEE_TEST_FAST_NUMBER_PREFIX + "divide/decimal1", () => {
301
var expected_val = FastNumber.from_string ("1.5");
302
var f1 = FastNumber (3);
303
var f2 = FastNumber (2);
305
var out_val = FastNumber (0);
307
out_val = f1.divide (f2);
308
} catch (GLib.Error e) {
310
Test.message ("Divide by Zero Error");
312
if (out_val.equals (expected_val) == false) {
314
var raw_expected = expected_val.raw_number;
315
var raw_got = out_val.raw_number;
316
Test.message ("Expected value did not match the got value");
317
Test.message (@"Expected internal value: $raw_expected,\n" +
318
@"Internal value got: $raw_got .");
322
Test.add_func (VEE_TEST_FAST_NUMBER_PREFIX + "divide/decimal2", () => {
323
var expected_val = FastNumber.from_string ("0.25");
324
var f1 = FastNumber (1);
325
var f2 = FastNumber (4);
327
var out_val = FastNumber (0);
329
out_val = f1.divide (f2);
330
} catch (GLib.Error e) {
332
Test.message ("Divide by Zero Error");
334
if (out_val.equals (expected_val) == false) {
336
var raw_expected = expected_val.raw_number;
337
var raw_got = out_val.raw_number;
338
Test.message ("Expected value did not match the got value");
339
Test.message (@"Expected internal value: $raw_expected,\n" +
340
@"Internal value got: $raw_got .");
344
Test.add_func (VEE_TEST_FAST_NUMBER_PREFIX + "divide/decimal3", () => {
345
var expected_val = FastNumber.from_string ("0.09");
346
var f1 = FastNumber (1);
347
var f2 = FastNumber (11);
349
var out_val = FastNumber (0);
351
out_val = f1.divide (f2);
352
} catch (GLib.Error e) {
354
Test.message ("Divide by Zero Error");
356
if (out_val.equals (expected_val) == false) {
358
var raw_expected = expected_val.raw_number;
359
var raw_got = out_val.raw_number;
360
Test.message ("Expected value did not match the got value");
361
Test.message (@"Expected internal value: $raw_expected,\n" +
362
@"Internal value got: $raw_got .");