class SabotageRunOrderTest(RunOrdersTest): def setUp(self): super(SabotageRunOrderTest, self).setUp() self.so = SabotageOrder( player=self.p, target_corporation=self.c, additional_percents=0, ) self.so.clean() self.so.save() self.set_to_zero(self.so.target_corporation) def tearDown(self): self.set_to_original(self.so.target_corporation) def test_sabotage_success(self): """ Sabotage doesn't benefit anyone, but costs the sabotaged 2 assets """ begin_assets = self.so.target_corporation.assets self.so.additional_percents = 10 self.so.save() self.so.resolve() self.assertEqual( self.reload(self.so.target_corporation).assets, begin_assets - 2) def test_sabotage_failure(self): """ Failed sabotage does not change corporation assets """ begin_assets = self.so.target_corporation.assets self.so.additional_percents = 0 self.so.hidden_percents = -10 self.so.save() self.so.resolve() self.assertEqual( self.reload(self.so.target_corporation).assets, begin_assets) def test_sabotage_interception(self): """ Intercepted sabotage does not change corporation assets """ begin_assets = self.so.target_corporation.assets po = ProtectionOrder( player=self.p, protected_corporation=self.c, defense=ProtectionOrder.SABOTAGE, hidden_percents=10, ) po.clean() po.save() self.so.additional_percents = 10 self.so.save() self.so.resolve() self.assertEqual( self.reload(self.so.target_corporation).assets, begin_assets)
class SabotageRunOrderTest(EngineTestCase): def setUp(self): super(SabotageRunOrderTest, self).setUp() common_corporation_market = self.c.get_common_corporation_market(self.c2) self.so = SabotageOrder( player=self.p, target_corporation_market=common_corporation_market, additional_percents=0, ) self.so.clean() self.so.save() def test_sabotage_success(self): """ Sabotage doesn't benefit anyone, but costs the sabotaged 2 assets """ begin_assets = self.so.target_corporation.assets self.so.target_corporation_market.value = 8 self.so.target_corporation_market.save() begin_market_value = self.reload(self.so.target_corporation_market).value self.so.additional_percents = 10 self.so.save() self.so.resolve() delta = begin_market_value - self.reload(self.so.target_corporation_market).value self.assertEqual(delta, 2) self.assertEqual(self.so.target_corporation.assets, begin_assets - delta) def test_sabotage_failure(self): """ Failed sabotage does not change corporation assets """ begin_assets = self.so.target_corporation.assets self.so.additional_percents = 0 self.so.hidden_percents = -10 self.so.save() self.so.resolve() self.assertEqual(self.reload(self.so.target_corporation).assets, begin_assets) @override_max_protection def test_sabotage_interception(self): """ Intercepted sabotage does not change corporation assets """ begin_assets = self.so.target_corporation.assets po = ProtectionOrder( player=self.p, protected_corporation_market=self.so.target_corporation_market, hidden_percents=10, ) po.clean() po.save() self.so.additional_percents = 10 self.so.save() self.so.resolve() self.assertEqual(self.reload(self.so.target_corporation).assets, begin_assets)