import autopath
from py.test import raises

from tool import reverse_from_paths

#def make_description():
#    gcoption = ChoiceOption('name', 'GC name', ['ref', 'framework'], 'ref')
#    gcdummy = BoolOption('dummy', 'dummy', default=False)
#    objspaceoption = ChoiceOption('objspace', 'Object space',
#                                ['std', 'thunk'], 'std')
#    booloption = BoolOption('bool', 'Test boolean option', default=True)
#    intoption = IntOption('int', 'Test int option', default=0)
#    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', 'Test requires', default=False)
#    wantframework_option = BoolOption('wantframework', 'Test requires',
#                                      default=False)
#    
#    gcgroup = OptionDescription('gc', '', [gcoption, gcdummy, floatoption])
#    descr = OptionDescription('tiram', '', [gcgroup, booloption, objspaceoption,
#                                           wantref_option, stroption,
#                                           wantframework_option,
#                                           intoption, boolop])
#    return descr

def test_rebuild():
    # pouvoir faire une comparaison avec equal    
    d = {"s1.s2.s3.s4.a": True, "int": 43, "s2.b":True, "s3.c": True, "s3.d":[1,2,3]}
    cfg = reverse_from_paths(d)
    assert cfg.s1.s2.s3.s4.a == True
    assert cfg.int == 43
    assert cfg.s2.b == True
    assert cfg.s3.c == True
    assert cfg.s3.d == [1,2,3]
    
#    assert config.getpaths() == ['gc.name', 'gc.dummy', 'gc.float', 'bool',
#                                 'objspace', 'wantref', 'str', 'wantframework',
#                                 'int', 'boolop']

#    assert config.getpaths(include_groups=False) == ['gc.name', 'gc.dummy', 'gc.float', 'bool', 'objspace', 'wantref', 'str', 'wantframework', 'int', 'boolop']
#    assert config.getpaths(include_groups=True) == ['gc', 'gc.name', 'gc.dummy', 'gc.float', 'bool', 'objspace', 'wantref', 'str', 'wantframework', 'int', 'boolop']   
