Package tests :: Module test_context
[hide private]
[frames] | no frames]

Source Code for Module tests.test_context

 1  import numpy 
 2   
 3  from glitter import EnumConstant 
 4  from glitter.contexts import context_manager 
 5   
6 -def check_property(context, name):
7 value = getattr(context, name) 8 try: 9 if isinstance(value, EnumConstant): 10 if name in ("draw_buffer", "read_buffer"): 11 return # avoid problems with unavailable stereo buffers 12 valid_values = value._enum._reverse_dict.values() 13 for value in valid_values: 14 setattr(context, name, value) 15 assert numpy.all(getattr(context, name) == value), "property %s is broken" % name 16 else: 17 if type(value) is float: 18 value *= 0.5 19 setattr(context, name, value) 20 assert numpy.all(getattr(context, name) == value), "property %s is broken" % name 21 value += 0.5 22 setattr(context, name, value) 23 assert numpy.all(getattr(context, name) == value), "property %s is broken" % name 24 except AttributeError: 25 pass # "AttributeError: can't set attribute" is okay for read-only attributes
26
27 -def test_property_generator():
28 context = context_manager.current_context or context_manager.create_default_context() 29 properties = [x for x in dir(context) if not x.startswith("_")] 30 31 for p in properties: 32 yield check_property, context, p
33