Exemplo n.º 1
0
	def test_title_defect(self):
		"""
		Test defect code is run
		"""

		self.t.on_defect = """
folk.loyalty = 50
folk.save()
"""
		self.t.save()

		at = AvailableTitle(
			title=self.t,
			kingdom=self.k,
			folk=self.f
		)
		at.save()

		# Sanity check
		self.assertNotEquals(self.f.loyalty, 50)

		at = AvailableTitle.objects.get(pk=at.pk)
		at.folk = None
		at.save()

		self.assertEqual(Folk.objects.get(pk=self.f.pk).loyalty, 50)
Exemplo n.º 2
0
	def test_title_affect(self):
		"""
		Test affect code is run
		"""

		self.t.on_affect = """
folk.loyalty = 50
folk.save()
"""
		self.t.save()

		# Sanity check
		self.assertNotEquals(self.f.loyalty, 50)

		at = AvailableTitle(
			title=self.t,
			kingdom=self.k,
		)
		at.save()

		# Sanity check
		self.assertNotEquals(self.f.loyalty, 50)

		at.folk = self.f
		at.save()

		self.assertEqual(self.f.loyalty, 50)
Exemplo n.º 3
0
	def test_title_affect_defect(self):
		"""
		Test affect AND defect code are run
		"""

		self.t.on_affect = """
folk.loyalty = 80
folk.save()
"""
		self.t.on_defect = """
folk.loyalty = 20
folk.save()
"""
		self.t.save()

		f2 = Folk(
			first_name="Robb",
			last_name="Stark",
			kingdom=self.k
		)
		f2.save()

		# Sanity check
		self.assertEqual(self.f.loyalty, 0)
		self.assertEqual(f2.loyalty, 0)

		at = AvailableTitle(
			title=self.t,
			kingdom=self.k,
			folk=self.f
		)
		at.save()

		self.assertEqual(self.f.loyalty, 80)

		at.folk = f2
		at.save()

		self.assertEqual(self.f.loyalty, 20)
		self.assertEqual(f2.loyalty, 80)