/vqdr/trunk

To get this branch, use:
bzr branch http://gegoxaren.bato24.eu/bzr/vqdr/trunk

« back to all changes in this revision

Viewing changes to tests/fast_number.vala

  • Committer: Gustav Hartvigsson
  • Date: 2021-09-09 15:40:16 UTC
  • Revision ID: gustav.hartvigsson@gmail.com-20210909154016-0hm69n49w2slfky5
added more testes for the parser.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
using GLib;
 
2
 
 
3
using VQDR.Common.Utils;
 
4
using VQDR.Common;
 
5
using VQDR.Expression;
 
6
 
 
7
void fast_number_test () {
 
8
  Test.add_func ("/Common/Utils/FastNumber/add", () => {
 
9
    var f1 = FastNumber (1337);
 
10
    var f2 = FastNumber (1333);
 
11
    var f3 = f1.add (f2);
 
12
    if (f3.number != 2670) {
 
13
      Test.fail ();
 
14
      Test.message ("The added numbers do not match the expected value");
 
15
    }
 
16
  });
 
17
  Test.add_func ("/Common/Utils/FastNumber/subtract", () => {
 
18
    var f1 = FastNumber (1337);
 
19
    var f2 = FastNumber (1333);
 
20
    var f3 = f1.subtract (f2);
 
21
    if (f3.number != 4) {
 
22
      Test.fail ();
 
23
      Test.message ("The subtracted numbers do not match the expected value");
 
24
    }
 
25
  });
 
26
  Test.add_func ("/Common/Utils/FastNumber/divide", () => {
 
27
    var f1 = FastNumber (1338);
 
28
    var f2 = FastNumber (2);
 
29
    FastNumber f3 = {0};
 
30
    try {
 
31
      f3 = f1.divide (f2);
 
32
      Utils.print_ln ("f3.number: %i", f3.number);
 
33
    } catch (Error e) {
 
34
      Utils.print_ln ("Error: %s\n", e.message);
 
35
    }
 
36
    if (f3.number != 669) {
 
37
      Test.fail ();
 
38
      Test.message ("The added numbers do not match the expected value");
 
39
    }
 
40
  });
 
41
  
 
42
  Test.add_func ("/Common/Utils/FastNumber/divide2", () => {
 
43
    var f1 = FastNumber (4444);
 
44
    var f2 = FastNumber (1111);
 
45
    FastNumber f3 = {0};
 
46
    try {
 
47
      f3 = f1.divide (f2);
 
48
      Utils.print_ln ("f3.number: %i", f3.number);
 
49
    } catch (Error e) {
 
50
      Utils.print_ln ("Error: %s\n", e.message);
 
51
    }
 
52
    if (f3.number != 4) {
 
53
      Test.fail ();
 
54
      Test.message ("The added numbers do not match the expected value");
 
55
    }
 
56
  });
 
57
  
 
58
  Test.add_func ("/Common/Utils/FastNumber/multiply", () => {
 
59
    var expected_val = 4444;
 
60
    var f1 = FastNumber (1111);
 
61
    var f2 = FastNumber (4);
 
62
    var f3 = f1.multiply (f2);
 
63
    if (f3.number != expected_val) {
 
64
      Test.fail ();
 
65
      Test.message ("The multiplied numbers does not match the exected value.");
 
66
      Test.message (@"expected $expected_val, got $f3.number");
 
67
    }
 
68
  });
 
69
  
 
70
  Test.add_func ("/Common/Utils/FastNumber/parse_raw_number1", () => {
 
71
    var expected_val = 1000;
 
72
    var val = FastNumber.parse_raw_number ("1");
 
73
    
 
74
    if (expected_val != val) {
 
75
      Test.fail ();
 
76
      Test.message ("The raw numbers does not match the exected value.");
 
77
      Test.message (@"expected $expected_val, got $val");
 
78
    }
 
79
    
 
80
    for (int i = 2; i <= 25; i = i + 3) {
 
81
      val = FastNumber.parse_raw_number (i.to_string ());
 
82
    
 
83
      if ((expected_val * i) != val) {
 
84
        Test.fail ();
 
85
        Test.message ("The raw numbers does not match the exected value.");
 
86
        Test.message (@"expected $expected_val, got $val");
 
87
      }
 
88
    }
 
89
    
 
90
  });
 
91
  
 
92
  /*
 
93
   * All decimls that have to be converted to float must be
 
94
   * divicable by two. in these tests, or we will get rounding errors
 
95
   * when converting to floating point preresentation.
 
96
   */
 
97
  
 
98
  Test.add_func ("/Common/Utils/FastNumber/parse_raw_number2", () => {
 
99
    var expected_val = 1128;
 
100
    var val = FastNumber.parse_raw_number ("1.128");
 
101
    
 
102
    if (expected_val != val) {
 
103
      Test.fail ();
 
104
      Test.message ("The raw numbers does not match the exected value.");
 
105
      Test.message (@"expected $expected_val, got $val");
 
106
    }
 
107
    
 
108
    expected_val = 5128;
 
109
    val = FastNumber.parse_raw_number ("5.128");
 
110
    
 
111
    if (expected_val != val) {
 
112
      Test.fail ();
 
113
      Test.message ("The raw numbers does not match the exected value.");
 
114
      Test.message (@"expected $expected_val, got $val");
 
115
    }
 
116
    
 
117
    expected_val = 7128;
 
118
    val = FastNumber.parse_raw_number ("7.128");
 
119
    
 
120
    if (expected_val != val) {
 
121
      Test.fail ();
 
122
      Test.message ("The raw numbers does not match the exected value.");
 
123
      Test.message (@"expected $expected_val, got $val");
 
124
    }
 
125
    
 
126
  });
 
127
  
 
128
  Test.add_func ("/Common/Utils/parse_raw_number3", () => {
 
129
    var expected_val = 15128;
 
130
    var val = FastNumber.parse_raw_number ("15.128");
 
131
    
 
132
    if (expected_val != val) {
 
133
      Test.fail ();
 
134
      Test.message ("The raw numbers does not match the exected value.");
 
135
      Test.message (@"expected $expected_val, got $val");
 
136
    }
 
137
  });
 
138
  
 
139
  Test.add_func ("/Common/Utils/parse_raw_number4", () => {
 
140
    var expected_val = 20128;
 
141
    var val = FastNumber.parse_raw_number ("20.128");
 
142
    
 
143
    if (expected_val != val) {
 
144
      Test.fail ();
 
145
      Test.message ("The raw numbers does not match the exected value.");
 
146
      Test.message (@"expected $expected_val, got $val");
 
147
    }
 
148
  });
 
149
  
 
150
  Test.add_func ("/Common/Utils/parse_raw_number5", () => {
 
151
    var expected_val = 222128;
 
152
    var val = FastNumber.parse_raw_number ("222.128");
 
153
    
 
154
    if (expected_val != val) {
 
155
      Test.fail ();
 
156
      Test.message ("The raw numbers does not match the exected value.");
 
157
      Test.message (@"expected $expected_val, got $val");
 
158
    }
 
159
  });
 
160
  
 
161
  Test.add_func ("/Common/Utils/parse_raw_number6", () => {
 
162
    var expected_val = 128;
 
163
    var val = FastNumber.parse_raw_number ("0.128");
 
164
    
 
165
    if (expected_val != val) {
 
166
      Test.fail ();
 
167
      Test.message ("The raw numbers does not match the exected value.");
 
168
      Test.message (@"expected $expected_val, got $val");
 
169
    }
 
170
  });
 
171
  
 
172
  Test.add_func ("/Common/Utils/parse_raw_number7", () => {
 
173
    var expected_val = 160;
 
174
    var val = FastNumber.parse_raw_number ("0.16");
 
175
    
 
176
    if (expected_val != val) {
 
177
      Test.fail ();
 
178
      Test.message ("The raw numbers does not match the exected value.");
 
179
      Test.message (@"expected $expected_val, got $val");
 
180
    }
 
181
  });
 
182
  
 
183
  Test.add_func ("/Common/Utils/parse_raw_number8", () => {
 
184
    var expected_val = 800;
 
185
    var val = FastNumber.parse_raw_number ("0.8");
 
186
    
 
187
    if (expected_val != val) {
 
188
      Test.fail ();
 
189
      Test.message ("The raw numbers does not match the exected value.");
 
190
      Test.message (@"expected $expected_val, got $val");
 
191
    }
 
192
  });
 
193
  
 
194
  Test.add_func ("/Common/Utils/FastNumber/float", () => {
 
195
    var expected_val = 10.128;
 
196
    var f1 = FastNumber.from_float (expected_val);
 
197
    var flt = f1.float_rep;
 
198
    if (expected_val != flt) {
 
199
      Test.fail ();
 
200
      var raw = f1.raw_number;
 
201
      Test.message ("The float was not the correct value.");
 
202
      Test.message (@"Expected $expected_val, get $flt, Internal value: $raw ");
 
203
    }
 
204
  });
 
205
}