Ejemplo n.º 1
0
class DatastealRunOrderTest(RunOrdersTest):
    def setUp(self):
        super(DatastealRunOrderTest, self).setUp()
        self.dso = DataStealOrder(
            stealer_corporation=self.c2,
            player=self.p,
            target_corporation=self.c,
            additional_percents=0,
        )
        self.dso.clean()
        self.dso.save()

        self.set_to_zero(self.dso.target_corporation)

    def tearDown(self):
        self.set_to_original(self.dso.target_corporation)

    def test_datasteal_success(self):
        """
		Datasteal benefits the stealer 1 asset without costing the stolen
		"""
        begin_assets_stealer = self.dso.stealer_corporation.assets

        self.dso.additional_percents = 10
        self.dso.save()

        self.dso.resolve()
        self.assertEqual(
            self.reload(self.dso.stealer_corporation).assets,
            begin_assets_stealer + 1)

    def test_datasteal_failure(self):
        """
		Failed datasteal should not change corporation assets.
		"""
        begin_assets_stealer = self.dso.stealer_corporation.assets

        self.dso.additional_percents = 0
        self.dso.hidden_percents = -10
        self.dso.save()

        self.dso.resolve()
        self.assertEqual(
            self.reload(self.dso.stealer_corporation).assets,
            begin_assets_stealer)

    def test_datasteal_interception(self):
        """
		Intercepted datasteal should not change corporation assets.
		"""
        begin_assets_stealer = self.dso.stealer_corporation.assets

        po = ProtectionOrder(player=self.p,
                             protected_corporation=self.c,
                             defense=ProtectionOrder.DATASTEAL)
        po.clean()
        po.save()

        po.additional_percents = 10
        po.save()

        self.dso.additional_percents = 10
        self.dso.save()

        self.dso.resolve()
        self.assertEqual(
            self.reload(self.dso.stealer_corporation).assets,
            begin_assets_stealer)
Ejemplo n.º 2
0
class DefensiveRunOrderTest(RunOrdersTest):
    def setUp(self):
        super(DefensiveRunOrderTest, self).setUp()
        self.dso = DataStealOrder(
            stealer_corporation=self.c2,
            player=self.p,
            target_corporation=self.c,
            additional_percents=0,
        )
        self.dso.clean()
        self.dso.save()

        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_has_base_value(self):
        """
		Protection has defaut protection values
		"""

        po = ProtectionOrder(
            player=self.p,
            protected_corporation=self.c,
            defense=ProtectionOrder.DATASTEAL,
            additional_percents=1,
        )
        po.save()

        self.assertEqual(
            po.get_success_probability(), po.additional_percents * 10 +
            po.BASE_SUCCESS_PROBABILITY[po.defense])

    @override_base_corporations
    def test_corpo_can_protect_alone(self):
        """
		Corporations can protect themselves
		"""
        begin_assets_stealer = self.dso.stealer_corporation.assets
        begin_assets_stolen = self.dso.target_corporation.assets

        self.dso.target_corporation.base_corporation.datasteal = 100

        self.dso.additional_percents = 10
        self.dso.save()

        self.dso.resolve()
        self.assertEqual(
            self.reload(self.dso.stealer_corporation).assets,
            begin_assets_stealer)
        self.assertEqual(
            self.reload(self.dso.target_corporation).assets,
            begin_assets_stolen)
Ejemplo n.º 3
0
class DatastealRunOrderTest(EngineTestCase):
	def setUp(self):
		super(DatastealRunOrderTest, self).setUp()

		common_corporation_market = self.c.get_common_corporation_market(self.c2)

		self.dso = DataStealOrder(
			stealer_corporation=self.c2,
			player=self.p,
			target_corporation_market=common_corporation_market,
			additional_percents=0,
		)
		self.dso.clean()
		self.dso.save()

	def test_datasteal_success(self):
		"""
		Datasteal benefits the stealer 1 asset without costing the stolen
		The 2 corporations must have a common market
		"""
		begin_assets_stealer = self.dso.stealer_corporation.assets

		self.dso.additional_percents = 10
		self.dso.save()

		self.dso.resolve()
		self.assertEqual(self.reload(self.dso.stealer_corporation).assets, begin_assets_stealer + 1)

	def test_datasteal_failure(self):
		"""
		Failed datasteal should not change corporation assets.
		"""
		begin_assets_stealer = self.dso.stealer_corporation.assets

		self.dso.additional_percents = 0
		self.dso.hidden_percents = -10
		self.dso.save()

		self.dso.resolve()
		self.assertEqual(self.reload(self.dso.stealer_corporation).assets, begin_assets_stealer)

	@override_max_protection
	def test_datasteal_interception(self):
		"""
		Intercepted datasteal should not change corporation assets.
		"""
		begin_assets_stealer = self.dso.stealer_corporation.assets

		po = ProtectionOrder(
			player=self.p,
			protected_corporation_market=self.dso.target_corporation_market,
		)
		po.clean()
		po.save()

		po.additional_percents = 10
		po.save()

		self.dso.additional_percents = 10
		self.dso.save()

		self.dso.resolve()
		self.assertEqual(self.reload(self.dso.stealer_corporation).assets, begin_assets_stealer)