comparison Resources/CodeGeneration/stonegentool_test.py @ 627:b7fd0471281c am-dev

fix CodeGeneration unit tests
author Alain Mazy <alain@mazy.be>
date Wed, 08 May 2019 10:51:41 +0200
parents 1dbf2d9ed1e4
children 84af39146e76
comparison
equal deleted inserted replaced
620:fd9b9d993fc7 627:b7fd0471281c
129 self.assertTrue('Message1' in structs) 129 self.assertTrue('Message1' in structs)
130 message1Struct = structs['Message1'] 130 message1Struct = structs['Message1']
131 self.assertDictEqual(message1Struct, 131 self.assertDictEqual(message1Struct,
132 { 132 {
133 'name':'Message1', 133 'name':'Message1',
134 '__meta__': {'handleInCpp': False, 'handleInTypescript': False},
134 'fields': { 135 'fields': {
135 'a': 'int32', 136 'a': 'int32',
136 'b': 'string', 137 'b': 'string',
137 'c': 'EnumMonth0', 138 'c': 'EnumMonth0',
138 'd': 'bool' 139 'd': 'bool'
162 CreamAndChives, 163 CreamAndChives,
163 Paprika, 164 Paprika,
164 Barbecue, 165 Barbecue,
165 }; 166 };
166 167
168 export enum EnumMonth0 {
169 January,
170 February,
171 March,
172 };
173
167 """ 174 """
168 self.assertEqual(renderedCodeRef,renderedCode) 175 self.assertEqual(renderedCodeRef,renderedCode)
169 176
170 def test_GenerateCplusplusEnums(self): 177 def test_GenerateCplusplusEnums(self):
171 fn = os.path.join(os.path.dirname(__file__), 'test_data', 'test1.yaml') 178 fn = os.path.join(os.path.dirname(__file__), 'test_data', 'test1.yaml')
188 enum CrispType { 195 enum CrispType {
189 SaltAndPepper, 196 SaltAndPepper,
190 CreamAndChives, 197 CreamAndChives,
191 Paprika, 198 Paprika,
192 Barbecue, 199 Barbecue,
200 };
201
202 enum EnumMonth0 {
203 January,
204 February,
205 March,
193 }; 206 };
194 207
195 """ 208 """
196 self.assertEqual(renderedCodeRef,renderedCode) 209 self.assertEqual(renderedCodeRef,renderedCode)
197 210
276 someStrings:Array<string>; 289 someStrings:Array<string>;
277 someInts2:Array<number>; 290 someInts2:Array<number>;
278 movies:Array<MovieType>; 291 movies:Array<MovieType>;
279 292
280 constructor() { 293 constructor() {
281 someStrings = new Array<string>(); 294 this.someStrings = new Array<string>();
282 someInts2 = new Array<number>(); 295 this.someInts2 = new Array<number>();
283 movies = new Array<MovieType>(); 296 this.movies = new Array<MovieType>();
284 } 297 }
285 298
286 public StoneSerialize(): string { 299 public StoneSerialize(): string {
287 let container: object = {}; 300 let container: object = {};
288 container['type'] = 'VsolMessages.A'; 301 container['type'] = 'VsolMessages.A';
294 export class B { 307 export class B {
295 someAs:Array<A>; 308 someAs:Array<A>;
296 someInts:Array<number>; 309 someInts:Array<number>;
297 310
298 constructor() { 311 constructor() {
299 someAs = new Array<A>(); 312 this.someAs = new Array<A>();
300 someInts = new Array<number>(); 313 this.someInts = new Array<number>();
301 } 314 }
302 315
303 public StoneSerialize(): string { 316 public StoneSerialize(): string {
304 let container: object = {}; 317 let container: object = {};
305 container['type'] = 'VsolMessages.B'; 318 container['type'] = 'VsolMessages.B';
311 export class C { 324 export class C {
312 someBs:Array<B>; 325 someBs:Array<B>;
313 ddd:Array<string>; 326 ddd:Array<string>;
314 327
315 constructor() { 328 constructor() {
316 someBs = new Array<B>(); 329 this.someBs = new Array<B>();
317 ddd = new Array<string>(); 330 this.ddd = new Array<string>();
318 } 331 }
319 332
320 public StoneSerialize(): string { 333 public StoneSerialize(): string {
321 let container: object = {}; 334 let container: object = {};
322 container['type'] = 'VsolMessages.C'; 335 container['type'] = 'VsolMessages.C';
330 b:string; 343 b:string;
331 c:EnumMonth0; 344 c:EnumMonth0;
332 d:boolean; 345 d:boolean;
333 346
334 constructor() { 347 constructor() {
335 a = new number(); 348 this.a = new number();
336 b = new string(); 349 this.b = new string();
337 c = new EnumMonth0(); 350 this.c = new EnumMonth0();
338 d = new boolean(); 351 this.d = new boolean();
339 } 352 }
340 353
341 public StoneSerialize(): string { 354 public StoneSerialize(): string {
342 let container: object = {}; 355 let container: object = {};
343 container['type'] = 'VsolMessages.Message1'; 356 container['type'] = 'VsolMessages.Message1';
350 toto:string; 363 toto:string;
351 tata:Array<Message1>; 364 tata:Array<Message1>;
352 tutu:Array<string>; 365 tutu:Array<string>;
353 titi:Map<string, string>; 366 titi:Map<string, string>;
354 lulu:Map<string, Message1>; 367 lulu:Map<string, Message1>;
355 368 movieType:MovieType;
356 constructor() { 369
357 toto = new string(); 370 constructor() {
358 tata = new Array<Message1>(); 371 this.toto = new string();
359 tutu = new Array<string>(); 372 this.tata = new Array<Message1>();
360 titi = new Map<string, string>(); 373 this.tutu = new Array<string>();
361 lulu = new Map<string, Message1>(); 374 this.titi = new Map<string, string>();
375 this.lulu = new Map<string, Message1>();
376 this.movieType = new MovieType();
362 } 377 }
363 378
364 public StoneSerialize(): string { 379 public StoneSerialize(): string {
365 let container: object = {}; 380 let container: object = {};
366 container['type'] = 'VsolMessages.Message2'; 381 container['type'] = 'VsolMessages.Message2';