本文整理汇总了Python中the_tale.game.logic_storage.LogicStorage.remove_action方法的典型用法代码示例。如果您正苦于以下问题:Python LogicStorage.remove_action方法的具体用法?Python LogicStorage.remove_action怎么用?Python LogicStorage.remove_action使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类the_tale.game.logic_storage.LogicStorage
的用法示例。
在下文中一共展示了LogicStorage.remove_action方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: LogicStorageTests
# 需要导入模块: from the_tale.game.logic_storage import LogicStorage [as 别名]
# 或者: from the_tale.game.logic_storage.LogicStorage import remove_action [as 别名]
#.........这里部分代码省略.........
@mock.patch('the_tale.game.heroes.conf.heroes_settings.DUMP_CACHED_HEROES', True)
def test_save_changed_data__with_unsaved_bundles(self):
self.storage.process_turn()
self.assertEqual(len(self.storage.heroes), 2)
with mock.patch('the_tale.game.logic_storage.LogicStorage._get_bundles_to_save', lambda x: [self.bundle_2_id]):
with mock.patch('the_tale.game.logic_storage.LogicStorage._save_hero_data') as save_hero_data:
with mock.patch('the_tale.game.heroes.prototypes.HeroPrototype.ui_info') as ui_info:
self.storage.save_changed_data()
self.assertEqual(ui_info.call_count, 2) # cache all heroes, since they are new
self.assertEqual(ui_info.call_args_list, [mock.call(actual_guaranteed=True, old_info=None), mock.call(actual_guaranteed=True, old_info=None)])
self.assertEqual(save_hero_data.call_args, mock.call(self.hero_2.id))
def test_save_changed_data__with_unsaved_bundles__without_dump(self):
self.storage.process_turn()
self.assertEqual(len(self.storage.heroes), 2)
self.hero_2.ui_caching_started_at = datetime.datetime.fromtimestamp(0)
with mock.patch('the_tale.game.logic_storage.LogicStorage._get_bundles_to_save', lambda x: [self.bundle_2_id]):
with mock.patch('the_tale.game.logic_storage.LogicStorage._save_hero_data') as save_hero_data:
with mock.patch('the_tale.game.heroes.prototypes.HeroPrototype.ui_info') as ui_info:
self.storage.save_changed_data()
self.assertEqual(ui_info.call_count, 1) # cache only first hero
self.assertEqual(ui_info.call_args, mock.call(actual_guaranteed=True, old_info=None))
self.assertEqual(save_hero_data.call_args, mock.call(self.hero_2.id))
def test_remove_action__from_middle(self):
actions_prototypes.ActionRegenerateEnergyPrototype.create(hero=self.hero_1)
self.assertRaises(exceptions.RemoveActionFromMiddleError, self.storage.remove_action, self.action_idl_1)
def test_remove_action__metaaction(self):
bundle_id = 666
meta_action_battle = meta_actions.ArenaPvP1x1.create(self.storage, self.hero_1, self.hero_2)
proxy_action_1 = actions_prototypes.ActionMetaProxyPrototype.create(hero=self.hero_1, _bundle_id=bundle_id, meta_action=meta_action_battle)
proxy_action_2 = actions_prototypes.ActionMetaProxyPrototype.create(hero=self.hero_2, _bundle_id=bundle_id, meta_action=meta_action_battle)
self.assertEqual(len(self.storage.meta_actions), 1)
self.assertEqual(len(self.storage.meta_actions_to_actions), 1)
self.assertEqual(self.storage.meta_actions_to_actions[meta_action_battle.uid], set([LogicStorage.get_action_uid(proxy_action_1),
LogicStorage.get_action_uid(proxy_action_2)]))
self.storage.remove_action(proxy_action_2)
self.assertEqual(len(self.storage.meta_actions), 1)
self.assertEqual(len(self.storage.meta_actions_to_actions), 1)
self.assertEqual(self.storage.meta_actions_to_actions[meta_action_battle.uid], set([LogicStorage.get_action_uid(proxy_action_1)]))
self.storage.remove_action(proxy_action_1)
self.assertEqual(len(self.storage.meta_actions), 0)
self.assertEqual(len(self.storage.meta_actions_to_actions), 0)
@mock.patch('the_tale.game.heroes.conf.heroes_settings.DUMP_CACHED_HEROES', True)
@mock.patch('the_tale.game.conf.game_settings.SAVED_UNCACHED_HEROES_FRACTION', 0)
def test_get_bundles_to_save(self):
# hero 1 not saved
# hero 2 saved by quota