character_procs = character_data.get_procs()
character_procs_allowed = filter(lambda p: p in proc_data.allowed_procs, character_procs)

#not_allowed_procs = set(character_procs) - set(character_procs_allowed)
#print not_allowed_procs

test_procs = procs.ProcsList(*character_procs_allowed)

# Set up gear buffs.
character_gear_buffs = character_data.get_gear_buffs() + ['leather_specialization', 'virmens_bite', 'virmens_bite_prepot']
if character_data.has_chaotic_metagem():
    character_gear_buffs.append('chaotic_metagem')
test_gear_buffs = stats.GearBuffs(*character_gear_buffs)

# Set up a calcs object..
lst = character_data.get_gear_stats()
test_stats = stats.Stats(lst['str'], lst['agi'], lst['int'], lst['spirit'], lst['stam'], lst['ap'], lst['crit'], lst['hit'], lst['exp'],
                         lst['haste'], lst['mastery'], test_mh, test_oh, test_procs, test_gear_buffs,
                         pvp_power=lst['pvp_power'], pvp_resil=lst['pvp_resil'], pvp_target_armor=None)

# Initialize talents..
if charInfo['talents'] == None:
    charInfo['talents'] = character_data.get_talents()
test_talents = talents.Talents(charInfo['talents'], test_class, test_level)

# Set up glyphs.
glyph_list = character_data.get_glyphs()
test_glyphs = glyphs.Glyphs(test_class, *glyph_list)

# Set up settings.
test_cycle = settings.AssassinationCycle(min_envenom_size_non_execute=4, min_envenom_size_execute=5,
test_mh = stats.Weapon(*character_data.get_mh())
test_oh = stats.Weapon(*character_data.get_oh())

# Set up procs.
character_procs = character_data.get_procs()
character_procs_allowed = filter(lambda p: p in proc_data.allowed_procs,
                                 character_procs)

#not_allowed_procs = set(character_procs) - set(character_procs_allowed)
#print not_allowed_procs

test_procs = procs.ProcsList(*character_procs_allowed)

# Set up a calcs object..
lst = character_data.get_gear_stats()

# Set up gear buffs.
character_gear_buffs = character_data.get_gear_buffs() + [
    'leather_specialization', 'virmens_bite', 'virmens_bite_prepot'
]
if character_data.has_chaotic_metagem():
    character_gear_buffs.append('chaotic_metagem')
test_gear_buffs = stats.GearBuffs(*character_gear_buffs)

test_stats = stats.Stats(test_mh, test_oh, test_procs, test_gear_buffs, **lst)

# Initialize talents..
if charInfo['talents'] == None:
    charInfo['talents'] = character_data.get_talents()
test_talents = talents.Talents(charInfo['talents'], test_class, test_level)