Merge branch 'master' into orm
authorEmmanuel Garette <egarette@cadoles.com>
Sat, 1 Feb 2014 15:49:29 +0000 (16:49 +0100)
committerEmmanuel Garette <egarette@cadoles.com>
Sat, 1 Feb 2014 15:49:29 +0000 (16:49 +0100)
1  2 
test/test_config_api.py

diff --combined test/test_config_api.py
@@@ -13,43 -13,45 +13,46 @@@ def make_description()
      objspaceoption = ChoiceOption('objspace', 'Object space',
                                    ('std', 'thunk'), 'std')
      booloption = BoolOption('bool', 'Test boolean option', default=True)
+     booloption2 = BoolOption('bool', 'Test boolean option', default=True)
      intoption = IntOption('int', 'Test int option', default=0)
+     floatoption2 = FloatOption('float', 'Test float option', default=2.3)
      floatoption = FloatOption('float', 'Test float option', default=2.3)
      stroption = StrOption('str', 'Test string option', default="abc")
      boolop = BoolOption('boolop', 'Test boolean option op', default=True)
      wantref_option = BoolOption('wantref', 'Tests', default=False)
      wantframework_option = BoolOption('wantframework', 'Test', default=False)
-     gcgroup = OptionDescription('gc', '', [gcoption, gcdummy, floatoption])
+     gcgroup2 = OptionDescription('gc2', '', [booloption2])
+     gcgroup = OptionDescription('gc', '', [gcgroup2, gcoption, gcdummy, floatoption])
      descr = OptionDescription('tiramisu', '', [gcgroup, booloption, objspaceoption,
                                                 wantref_option, stroption,
                                                 wantframework_option,
-                                                intoption, boolop])
+                                                intoption, boolop, floatoption2])
      return descr
  
  
 -def test_compare_configs():
 -    "config object comparison"
 -    descr = make_description()
 -    conf1 = Config(descr)
 -    conf2 = Config(descr)
 -    conf2.wantref = True
 -    assert conf1 != conf2
 -    assert hash(conf1) != hash(conf2)
 -    #assert conf1.getkey() != conf2.getkey()
 -    conf1.wantref = True
 -    assert conf1 == conf2
 -    assert hash(conf1) == hash(conf2)
 -    #assert conf1.getkey() == conf2.getkey()
 -    conf2.gc.dummy = True
 -    assert conf1 != conf2
 -    assert hash(conf1) != hash(conf2)
 -    #assert conf1.getkey() != conf2.getkey()
 -    conf1.gc.dummy = True
 -    assert conf1 == conf2
 -    assert hash(conf1) == hash(conf2)
 -    assert not conf1 == 'conf2'
 -    assert conf1 != 'conf2'
 +#FIXME
 +#def test_compare_configs():
 +#    "config object comparison"
 +#    descr = make_description()
 +#    conf1 = Config(descr)
 +#    conf2 = Config(descr)
 +#    conf2.wantref = True
 +#    assert conf1 != conf2
 +#    assert hash(conf1) != hash(conf2)
 +#    #assert conf1.getkey() != conf2.getkey()
 +#    conf1.wantref = True
 +#    assert conf1 == conf2
 +#    assert hash(conf1) == hash(conf2)
 +#    #assert conf1.getkey() == conf2.getkey()
 +#    conf2.gc.dummy = True
 +#    assert conf1 != conf2
 +#    assert hash(conf1) != hash(conf2)
 +#    #assert conf1.getkey() != conf2.getkey()
 +#    conf1.gc.dummy = True
 +#    assert conf1 == conf2
 +#    assert hash(conf1) == hash(conf2)
 +#    assert not conf1 == 'conf2'
 +#    assert conf1 != 'conf2'
  # ____________________________________________________________
  
  
@@@ -102,7 -104,10 +105,10 @@@ def test_find_in_config()
      descr = make_description()
      conf = Config(descr)
      assert conf.find(byname='dummy') == [conf.unwrap_from_path('gc.dummy')]
+     assert conf.find(byname='float') == [conf.unwrap_from_path('gc.float'), conf.unwrap_from_path('float')]
+     assert conf.find_first(byname='bool') == conf.unwrap_from_path('gc.gc2.bool')
      assert conf.find_first(byname='dummy') == conf.unwrap_from_path('gc.dummy')
+     assert conf.find_first(byname='float') == conf.unwrap_from_path('gc.float')
      assert conf.find(bytype=ChoiceOption) == [conf.unwrap_from_path('gc.name'), conf.unwrap_from_path('objspace')]
      assert conf.find_first(bytype=ChoiceOption) == conf.unwrap_from_path('gc.name')
      assert conf.find(byvalue='ref') == [conf.unwrap_from_path('gc.name')]
      assert conf.find_first(bytype=BoolOption, byname='dummy') == conf.unwrap_from_path('gc.dummy')
      assert conf.find(byvalue=False, byname='dummy') == [conf.unwrap_from_path('gc.dummy')]
      assert conf.find_first(byvalue=False, byname='dummy') == conf.unwrap_from_path('gc.dummy')
-     ## byattrs
-     #assert conf.find_first(byattrs= dict(default=2.3)) == conf.unwrap_from_path('gc.float')
-     #assert conf.find_first(byvalue=False, byname='dummy', byattrs=dict(default=False)) == conf.unwrap_from_path('gc.dummy')
+     #subconfig
+     assert conf.gc.find(byname='dummy') == [conf.unwrap_from_path('gc.dummy')]
+     assert conf.gc.find(byname='float') == [conf.unwrap_from_path('gc.float')]
+     assert conf.gc.find(byname='bool') == [conf.unwrap_from_path('gc.gc2.bool')]
+     raises(AttributeError, "conf.gc.find(byname='wantref').first()")
+     # not OptionDescription
+     raises(AttributeError, "conf.find_first(byname='gc')")
+     raises(AttributeError, "conf.gc.find_first(byname='gc2')")
  
  
  def test_find_multi():