@@ -222,7 +222,8 @@ def test_standalone_property(self):
222
222
prop = odml .Property ()
223
223
prop .type = ""
224
224
225
- assert len (list (filter (lambda x : x .is_error , validate (prop ).errors ))) == 0
225
+ errs = list (filter (lambda x : x .is_error , validate (prop ).errors ))
226
+ self .assertEquals (len (errs ), 0 )
226
227
227
228
def test_section_init (self ):
228
229
"""
@@ -235,7 +236,7 @@ def test_section_init(self):
235
236
odml .Section (name = "sec" , type = None )
236
237
sys .stdout = old_stdout
237
238
238
- assert "Section type undefined" in val_errs .getvalue ()
239
+ self . assertIn ( "Section type undefined" , val_errs .getvalue () )
239
240
240
241
def test_prop_string_values (self ):
241
242
"""
@@ -247,51 +248,44 @@ def test_prop_string_values(self):
247
248
values = ['-13' , '101' , '-11' , 'hello' ])
248
249
assert len (validate (prop0 ).errors ) == 0
249
250
251
+ msg_base = 'Dtype of property "%s" currently is "string", but might fit dtype "%s"!'
252
+
250
253
prop1 = odml .Property (name = 'members' , dtype = "string" ,
251
254
values = ['-13' , '101' , '-11' , '0' , '-8' ])
252
- self .assertError (validate (prop1 ), 'Dtype of property "members" currently is "string",'
253
- ' but might fit dtype "int"!' )
255
+ self .assertError (validate (prop1 ), msg_base % ("members" , "int" ))
254
256
255
257
prop2 = odml .Property (name = 'potential' , dtype = "string" ,
256
258
values = ['-4.8' , '10.0' , '-11.9' , '-10.0' , '18.0' ])
257
- self .assertError (validate (prop2 ), 'Dtype of property "potential" currently is "string", '
258
- 'but might fit dtype "float"!' )
259
+ self .assertError (validate (prop2 ), msg_base % ("potential" , "float" ))
259
260
260
261
prop3 = odml .Property (name = 'dates' , dtype = "string" ,
261
262
values = ['1997-12-14' , '00-12-14' , '89-07-04' ])
262
- self .assertError (validate (prop3 ), 'Dtype of property "dates" currently is "string", '
263
- 'but might fit dtype "date"!' )
263
+ self .assertError (validate (prop3 ), msg_base % ("dates" , "date" ))
264
264
265
265
prop4 = odml .Property (name = 'datetimes' , dtype = "string" ,
266
266
values = ['97-12-14 11:11:11' , '97-12-14 12:12' , '1997-12-14 03:03' ])
267
- self .assertError (validate (prop4 ), 'Dtype of property "datetimes" currently is "string", '
268
- 'but might fit dtype "datetime"!' )
267
+ self .assertError (validate (prop4 ), msg_base % ("datetimes" , "datetime" ))
269
268
270
269
prop5 = odml .Property (name = 'times' , dtype = "string" ,
271
270
values = ['11:11:11' , '12:12:12' , '03:03:03' ])
272
- self .assertError (validate (prop5 ), 'Dtype of property "times" currently is "string", '
273
- 'but might fit dtype "time"!' )
271
+ self .assertError (validate (prop5 ), msg_base % ("times" , "time" ))
274
272
275
273
prop6 = odml .Property (name = 'sent' , dtype = "string" ,
276
274
values = ['False' , True , 'TRUE' , False , 't' ])
277
- self .assertError (validate (prop6 ), 'Dtype of property "sent" currently is "string", '
278
- 'but might fit dtype "boolean"!' )
275
+ self .assertError (validate (prop6 ), msg_base % ("sent" , "boolean" ))
279
276
280
277
prop7 = odml .Property (name = 'texts' , dtype = "string" ,
281
278
values = ['line1\n line2' , 'line3\n line4' , '\n line5\n line6' ])
282
- self .assertError (validate (prop7 ), 'Dtype of property "texts" currently is "string", '
283
- 'but might fit dtype "text"!' )
279
+ self .assertError (validate (prop7 ), msg_base % ("texts" , "text" ))
284
280
285
281
prop8 = odml .Property (name = "Location" , dtype = 'string' ,
286
282
values = ['(39.12; 67.19)' , '(39.12; 67.19)' , '(39.12; 67.18)' ])
287
- self .assertError (validate (prop8 ), 'Dtype of property "Location" currently is "string", '
288
- 'but might fit dtype "2-tuple"!' )
283
+ self .assertError (validate (prop8 ), msg_base % ("Location" , "2-tuple" ))
289
284
290
285
prop9 = odml .Property (name = "Coos" , dtype = 'string' ,
291
286
values = ['(39.12; 89; 67.19)' , '(39.12; 78; 67.19)' ,
292
287
'(39.12; 56; 67.18)' ])
293
- self .assertError (validate (prop9 ), 'Dtype of property "Coos" currently is "string", '
294
- 'but might fit dtype "3-tuple"!' )
288
+ self .assertError (validate (prop9 ), msg_base % ("Coos" , "3-tuple" ))
295
289
296
290
def test_load_section_xml (self ):
297
291
"""
@@ -308,65 +302,6 @@ def test_load_section_xml(self):
308
302
lambda x : x .msg == "Section type undefined" and x .obj .name == "sec_type_empty" ,
309
303
validate (doc ).errors ))) > 0
310
304
311
- def test_load_dtypes_xml (self ):
312
- """
313
- Test if loading xml document raises validation errors for Properties with undefined dtypes.
314
- """
315
-
316
- path = os .path .join (self .dir_path , "resources" , "validation_dtypes.xml" )
317
- doc = odml .load (path )
318
-
319
- self .assertError (validate (doc ), 'Dtype of property "members_no" currently is "string", '
320
- 'but might fit dtype "int"!' )
321
-
322
- self .assertError (validate (doc ), 'Dtype of property "potential_no" currently is "string", '
323
- 'but might fit dtype "float"!' )
324
-
325
- self .assertError (validate (doc ), 'Dtype of property "dates_no" currently is "string", '
326
- 'but might fit dtype "date"!' )
327
-
328
- self .assertError (validate (doc ), 'Dtype of property "datetimes_no" currently is "string", '
329
- 'but might fit dtype "datetime"!' )
330
-
331
- self .assertError (validate (doc ), 'Dtype of property "times_no" currently is "string", '
332
- 'but might fit dtype "time"!' )
333
-
334
- self .assertError (validate (doc ), 'Dtype of property "sent_no" currently is "string", '
335
- 'but might fit dtype "boolean"!' )
336
-
337
- self .assertError (validate (doc ), 'Dtype of property "Location_no" currently is "string", '
338
- 'but might fit dtype "2-tuple"!' )
339
-
340
- self .assertError (validate (doc ), 'Dtype of property "Coos_no" currently is "string", '
341
- 'but might fit dtype "3-tuple"!' )
342
-
343
- self .assertError (validate (doc ), 'Dtype of property "members_mislabelled" currently is '
344
- '"string", but might fit dtype "int"!' )
345
-
346
- self .assertError (validate (doc ), 'Dtype of property "potential_mislabelled" currently is '
347
- '"string", but might fit dtype "float"!' )
348
-
349
- self .assertError (validate (doc ), 'Dtype of property "dates_mislabelled" currently is '
350
- '"string", but might fit dtype "date"!' )
351
-
352
- self .assertError (validate (doc ), 'Dtype of property "datetimes_mislabelled" currently is '
353
- '"string", but might fit dtype "datetime"!' )
354
-
355
- self .assertError (validate (doc ), 'Dtype of property "times_mislabelled" currently is '
356
- '"string", but might fit dtype "time"!' )
357
-
358
- self .assertError (validate (doc ), 'Dtype of property "sent_mislabelled" currently is '
359
- '"string", but might fit dtype "boolean"!' )
360
-
361
- self .assertError (validate (doc ), 'Dtype of property "texts_mislabelled" currently is '
362
- '"string", but might fit dtype "text"!' )
363
-
364
- self .assertError (validate (doc ), 'Dtype of property "Location_mislabelled" currently is '
365
- '"string", but might fit dtype "2-tuple"!' )
366
-
367
- self .assertError (validate (doc ), 'Dtype of property "Coos_mislabelled" currently is '
368
- '"string", but might fit dtype "3-tuple"!' )
369
-
370
305
def test_load_section_json (self ):
371
306
"""
372
307
Test if loading json document raises validation errors for Sections with undefined type.
@@ -382,65 +317,6 @@ def test_load_section_json(self):
382
317
lambda x : x .msg == "Section type undefined" and x .obj .name == "sec_type_empty" ,
383
318
validate (doc ).errors ))) > 0
384
319
385
- def test_load_dtypes_json (self ):
386
- """
387
- Test if loading json document raises validation errors for Properties with undefined dtypes.
388
- """
389
-
390
- path = os .path .join (self .dir_path , "resources" , "validation_dtypes.json" )
391
- doc = odml .load (path , "JSON" )
392
-
393
- self .assertError (validate (doc ), 'Dtype of property "members_no" currently is "string", '
394
- 'but might fit dtype "int"!' )
395
-
396
- self .assertError (validate (doc ), 'Dtype of property "potential_no" currently is "string", '
397
- 'but might fit dtype "float"!' )
398
-
399
- self .assertError (validate (doc ), 'Dtype of property "dates_no" currently is "string", '
400
- 'but might fit dtype "date"!' )
401
-
402
- self .assertError (validate (doc ), 'Dtype of property "datetimes_no" currently is "string", '
403
- 'but might fit dtype "datetime"!' )
404
-
405
- self .assertError (validate (doc ), 'Dtype of property "times_no" currently is "string", '
406
- 'but might fit dtype "time"!' )
407
-
408
- self .assertError (validate (doc ), 'Dtype of property "sent_no" currently is "string", '
409
- 'but might fit dtype "boolean"!' )
410
-
411
- self .assertError (validate (doc ), 'Dtype of property "Location_no" currently is "string", '
412
- 'but might fit dtype "2-tuple"!' )
413
-
414
- self .assertError (validate (doc ), 'Dtype of property "Coos_no" currently is "string", '
415
- 'but might fit dtype "3-tuple"!' )
416
-
417
- self .assertError (validate (doc ), 'Dtype of property "members_mislabelled" currently is '
418
- '"string", but might fit dtype "int"!' )
419
-
420
- self .assertError (validate (doc ), 'Dtype of property "potential_mislabelled" currently is '
421
- '"string", but might fit dtype "float"!' )
422
-
423
- self .assertError (validate (doc ), 'Dtype of property "dates_mislabelled" currently is '
424
- '"string", but might fit dtype "date"!' )
425
-
426
- self .assertError (validate (doc ), 'Dtype of property "datetimes_mislabelled" currently is '
427
- '"string", but might fit dtype "datetime"!' )
428
-
429
- self .assertError (validate (doc ), 'Dtype of property "times_mislabelled" currently is '
430
- '"string", but might fit dtype "time"!' )
431
-
432
- self .assertError (validate (doc ), 'Dtype of property "sent_mislabelled" currently is '
433
- '"string", but might fit dtype "boolean"!' )
434
-
435
- self .assertError (validate (doc ), 'Dtype of property "texts_mislabelled" currently is '
436
- '"string", but might fit dtype "text"!' )
437
-
438
- self .assertError (validate (doc ), 'Dtype of property "Location_mislabelled" currently is '
439
- '"string", but might fit dtype "2-tuple"!' )
440
-
441
- self .assertError (validate (doc ), 'Dtype of property "Coos_mislabelled" currently is '
442
- '"string", but might fit dtype "3-tuple"!' )
443
-
444
320
def test_load_section_yaml (self ):
445
321
"""
446
322
Test if loading yaml document raises validation errors for Sections with undefined type.
@@ -456,61 +332,55 @@ def test_load_section_yaml(self):
456
332
lambda x : x .msg == "Section type undefined" and x .obj .name == "sec_type_empty" ,
457
333
validate (doc ).errors ))) > 0
458
334
459
- def test_load_dtypes_yaml (self ):
335
+ def load_dtypes_validation (self , doc ):
336
+ msg_base = 'Dtype of property "%s" currently is "string", but might fit dtype "%s"!'
337
+
338
+ doc_val = validate (doc )
339
+ self .assertError (doc_val , msg_base % ("members_no" , "int" ))
340
+ self .assertError (doc_val , msg_base % ("potential_no" , "float" ))
341
+ self .assertError (doc_val , msg_base % ("dates_no" , "date" ))
342
+ self .assertError (doc_val , msg_base % ("datetimes_no" , "datetime" ))
343
+ self .assertError (doc_val , msg_base % ("times_no" , "time" ))
344
+ self .assertError (doc_val , msg_base % ("sent_no" , "boolean" ))
345
+ self .assertError (doc_val , msg_base % ("Location_no" , "2-tuple" ))
346
+ self .assertError (doc_val , msg_base % ("Coos_no" , "3-tuple" ))
347
+
348
+ self .assertError (doc_val , msg_base % ("members_mislabelled" , "int" ))
349
+ self .assertError (doc_val , msg_base % ("potential_mislabelled" , "float" ))
350
+ self .assertError (doc_val , msg_base % ("dates_mislabelled" , "date" ))
351
+ self .assertError (doc_val , msg_base % ("datetimes_mislabelled" , "datetime" ))
352
+ self .assertError (doc_val , msg_base % ("times_mislabelled" , "time" ))
353
+ self .assertError (doc_val , msg_base % ("sent_mislabelled" , "boolean" ))
354
+ self .assertError (doc_val , msg_base % ("texts_mislabelled" , "text" ))
355
+ self .assertError (doc_val , msg_base % ("Location_mislabelled" , "2-tuple" ))
356
+ self .assertError (doc_val , msg_base % ("Coos_mislabelled" , "3-tuple" ))
357
+
358
+ def test_load_dtypes_xml (self ):
460
359
"""
461
- Test if loading yaml document raises validation errors for Properties with undefined dtypes.
360
+ Test if loading xml document raises validation errors
361
+ for Properties with undefined dtypes.
462
362
"""
463
363
464
- path = os .path .join (self .dir_path , "resources" , "validation_dtypes.yaml" )
465
- doc = odml .load (path , "YAML" )
466
-
467
- self .assertError (validate (doc ), 'Dtype of property "members_no" currently is "string", '
468
- 'but might fit dtype "int"!' )
469
-
470
- self .assertError (validate (doc ), 'Dtype of property "potential_no" currently is "string", '
471
- 'but might fit dtype "float"!' )
472
-
473
- self .assertError (validate (doc ), 'Dtype of property "dates_no" currently is "string", '
474
- 'but might fit dtype "date"!' )
475
-
476
- self .assertError (validate (doc ), 'Dtype of property "datetimes_no" currently is "string", '
477
- 'but might fit dtype "datetime"!' )
478
-
479
- self .assertError (validate (doc ), 'Dtype of property "times_no" currently is "string", '
480
- 'but might fit dtype "time"!' )
481
-
482
- self .assertError (validate (doc ), 'Dtype of property "sent_no" currently is "string", '
483
- 'but might fit dtype "boolean"!' )
484
-
485
- self .assertError (validate (doc ), 'Dtype of property "Location_no" currently is "string", '
486
- 'but might fit dtype "2-tuple"!' )
487
-
488
- self .assertError (validate (doc ), 'Dtype of property "Coos_no" currently is "string", '
489
- 'but might fit dtype "3-tuple"!' )
490
-
491
- self .assertError (validate (doc ), 'Dtype of property "members_mislabelled" currently is '
492
- '"string", but might fit dtype "int"!' )
493
-
494
- self .assertError (validate (doc ), 'Dtype of property "potential_mislabelled" currently is '
495
- '"string", but might fit dtype "float"!' )
496
-
497
- self .assertError (validate (doc ), 'Dtype of property "dates_mislabelled" currently is '
498
- '"string", but might fit dtype "date"!' )
499
-
500
- self .assertError (validate (doc ), 'Dtype of property "datetimes_mislabelled" currently is '
501
- '"string", but might fit dtype "datetime"!' )
502
-
503
- self .assertError (validate (doc ), 'Dtype of property "times_mislabelled" currently is '
504
- '"string", but might fit dtype "time"!' )
364
+ path = os .path .join (self .dir_path , "resources" , "validation_dtypes.xml" )
365
+ doc = odml .load (path )
366
+ self .load_dtypes_validation (doc )
505
367
506
- self .assertError (validate (doc ), 'Dtype of property "sent_mislabelled" currently is '
507
- '"string", but might fit dtype "boolean"!' )
368
+ def test_load_dtypes_json (self ):
369
+ """
370
+ Test if loading json document raises validation errors
371
+ for Properties with undefined dtypes.
372
+ """
508
373
509
- self .assertError (validate (doc ), 'Dtype of property "texts_mislabelled" currently is '
510
- '"string", but might fit dtype "text"!' )
374
+ path = os .path .join (self .dir_path , "resources" , "validation_dtypes.json" )
375
+ doc = odml .load (path , "JSON" )
376
+ self .load_dtypes_validation (doc )
511
377
512
- self .assertError (validate (doc ), 'Dtype of property "Location_mislabelled" currently is '
513
- '"string", but might fit dtype "2-tuple"!' )
378
+ def test_load_dtypes_yaml (self ):
379
+ """
380
+ Test if loading yaml document raises validation errors
381
+ for Properties with undefined dtypes.
382
+ """
514
383
515
- self .assertError (validate (doc ), 'Dtype of property "Coos_mislabelled" currently is '
516
- '"string", but might fit dtype "3-tuple"!' )
384
+ path = os .path .join (self .dir_path , "resources" , "validation_dtypes.yaml" )
385
+ doc = odml .load (path , "YAML" )
386
+ self .load_dtypes_validation (doc )
0 commit comments