本文整理汇总了Python中the_tale.game.logic_storage.LogicStorage.merge_bundles方法的典型用法代码示例。如果您正苦于以下问题:Python LogicStorage.merge_bundles方法的具体用法?Python LogicStorage.merge_bundles怎么用?Python LogicStorage.merge_bundles使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类the_tale.game.logic_storage.LogicStorage
的用法示例。
在下文中一共展示了LogicStorage.merge_bundles方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: test_merge_bundles
# 需要导入模块: from the_tale.game.logic_storage import LogicStorage [as 别名]
# 或者: from the_tale.game.logic_storage.LogicStorage import merge_bundles [as 别名]
def test_merge_bundles(self):
storage = LogicStorage()
storage.bundles_to_accounts[555] = set([1, 2])
storage.bundles_to_accounts[666] = set([3])
storage.merge_bundles([555, 666], 777)
self.assertEqual(storage.bundles_to_accounts, {777: set([1, 2, 3])})
示例2: MetaProxyActionForArenaPvP1x1Tests
# 需要导入模块: from the_tale.game.logic_storage import LogicStorage [as 别名]
# 或者: from the_tale.game.logic_storage.LogicStorage import merge_bundles [as 别名]
class MetaProxyActionForArenaPvP1x1Tests(testcase.TestCase, PvPTestsMixin):
@mock.patch('the_tale.game.actions.prototypes.ActionBase.get_description', lambda self: 'abrakadabra')
def setUp(self):
super(MetaProxyActionForArenaPvP1x1Tests, self).setUp()
create_test_map()
self.account_1 = self.accounts_factory.create_account()
self.account_2 = self.accounts_factory.create_account()
self.storage = LogicStorage()
self.storage.load_account_data(AccountPrototype.get_by_id(self.account_1.id))
self.storage.load_account_data(AccountPrototype.get_by_id(self.account_2.id))
self.hero_1 = self.storage.accounts_to_heroes[self.account_1.id]
self.hero_2 = self.storage.accounts_to_heroes[self.account_2.id]
self.action_idl_1 = self.hero_1.actions.current_action
self.action_idl_2 = self.hero_2.actions.current_action
self.pvp_create_battle(self.account_1, self.account_2, BATTLE_1X1_STATE.PROCESSING)
self.pvp_create_battle(self.account_2, self.account_1, BATTLE_1X1_STATE.PROCESSING)
self.bundle_id = 666
meta_action_battle = meta_actions.ArenaPvP1x1.create(self.storage, self.hero_1, self.hero_2)
self.action_proxy_1 = ActionMetaProxyPrototype.create(hero=self.hero_1, _bundle_id=self.bundle_id, meta_action=meta_action_battle)
self.action_proxy_2 = ActionMetaProxyPrototype.create(hero=self.hero_2, _bundle_id=self.bundle_id, meta_action=meta_action_battle)
self.storage.merge_bundles([self.action_idl_1.bundle_id, self.action_idl_2.bundle_id], self.bundle_id)
self.meta_action_battle = self.storage.meta_actions.values()[0]
def tearDown(self):
pass
# renamed to fix segmentation fault
def test_z_create(self):
self.assertFalse(self.action_idl_1.leader)
self.assertFalse(self.action_idl_2.leader)
self.assertTrue(self.action_proxy_1.leader)
self.assertTrue(self.action_proxy_2.leader)
self.assertEqual(self.hero_1.actions.number, 2)
self.assertEqual(self.hero_2.actions.number, 2)
self.assertNotEqual(self.action_proxy_1.bundle_id, self.action_idl_1.bundle_id)
self.assertNotEqual(self.action_proxy_2.bundle_id, self.action_idl_2.bundle_id)
self.assertEqual(self.action_proxy_1.bundle_id, self.action_proxy_2.bundle_id)
self.assertEqual(self.action_proxy_1.meta_action, self.action_proxy_2.meta_action)
self.assertEqual(self.action_proxy_1.meta_action, self.meta_action_battle)
self.assertEqual(len(self.storage.meta_actions), 1)
def test_one_action_step_one_meta_step(self):
with mock.patch('the_tale.game.actions.meta_actions.ArenaPvP1x1._process') as meta_action_process_counter:
self.action_proxy_1.process()
self.assertEqual(meta_action_process_counter.call_count, 1)
def test_two_actions_step_one_meta_step(self):
with mock.patch('the_tale.game.actions.meta_actions.ArenaPvP1x1._process') as meta_action_process_counter:
self.action_proxy_1.process()
self.action_proxy_2.process()
self.assertEqual(meta_action_process_counter.call_count, 1)
def test_two_actions_step_one_meta_step_from_storage(self):
with mock.patch('the_tale.game.actions.meta_actions.ArenaPvP1x1._process') as meta_action_process_counter:
self.storage.process_turn()
self.assertEqual(meta_action_process_counter.call_count, 1)
def test_success_processing(self):
self.action_proxy_1.process()
self.assertEqual(self.action_proxy_1.percents, self.meta_action_battle.percents)
self.assertNotEqual(self.action_proxy_2.percents, self.meta_action_battle.percents)
def test_full_battle(self):
current_time = TimePrototype.get_current_time()
while self.action_proxy_1.state != meta_actions.ArenaPvP1x1.STATE.PROCESSED:
self.storage.process_turn(continue_steps_if_needed=False)
current_time.increment_turn()
self.assertEqual(self.meta_action_battle.state, meta_actions.ArenaPvP1x1.STATE.PROCESSED)
self.assertTrue(self.hero_1.is_alive and self.hero_2.is_alive)
self.assertTrue(self.action_idl_1.leader)
self.assertTrue(self.action_idl_2.leader)
def test_get_meta_action__without_storage(self):
self.action_proxy_1.storage = None
self.assertNotEqual(self.action_proxy_1.meta_action, None)
def test_get_meta_action__no_meta_action(self):
#.........这里部分代码省略.........