コード例 #1
0
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)
コード例 #2
0
ファイル: test_orders.py プロジェクト: Neamar/corporate
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)